700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C#导入excel文件 捕捉到的异常为“外部表不是预期的格式。”

C#导入excel文件 捕捉到的异常为“外部表不是预期的格式。”

时间:2019-03-22 21:12:12

相关推荐

C#导入excel文件 捕捉到的异常为“外部表不是预期的格式。”

问题:

由于多个excel表中,所用数据的单元格中英状态下混用,导致某些应有的结果得不到。故此,我全部替换excel中的括号使其统一,在保存时,提示“某些单元格具有交迭的条件格式区域。早期版本的excel将无法评估交迭单元格上的。。。”内容,如图所示。然鹅,我并没考虑这么多,生硬保存。再次导入,出现异常。

原因:

在早期版本的 Excel 中,并非所有新功能都受支持。当你在兼容性模式下工作或希望将工作簿保存为 Excel 97- (.xls) 文件格式时,兼容性检查器可帮助你识别可能会在早期版本的 Excel 中导致显著功能损失或轻微保真损失的问题。

解决办法:

改动后,将文件另存为一个格式,由于自身的excel版本是最新版,打开03版,改动后并保存会出现问题,干脆,直接另存为,03版的格式。

,c#中,用于操作的链接字符为

OpenFileDialog file = new OpenFileDialog();file.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xlsm)|*.xlsm|Excel(*.*)|*.*";file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //获得桌面路径file.Multiselect = false; //不允许多重选择if (file.ShowDialog() == DialogResult.Cancel) return;var path = file.FileName;string fname = Path.GetFileName(path);//此连接可以操作.xls与.xlsx文件 (支持Excel 和 Excel 的连接字符串)string connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + path + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";

其中,

HDR =Yes,表示第一行是标题,且不作为数据使用。

当IMEX=0,表示该excel文档只能“写入”;

当IMEX=1,表示该excel文档只能“读出”;

当IMEX=2,表示该excel文档可读可写。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。