700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C#读取excel文件时 报“外部表不是预期的格式”

C#读取excel文件时 报“外部表不是预期的格式”

时间:2024-02-13 04:28:53

相关推荐

C#读取excel文件时 报“外部表不是预期的格式”

记录

读取Excel文件时报错

比较全面的问题汇总:转自/question00/article/details/51445663

最后发现我的excel文件的格式不是标准的Excel格式,能用记事本打开并且不是乱码,所以网上通用的读取Excel文件的办法都不行,例如:OleDB,NOPI,但是文件单独另存为.xls,.xlsx文件后用这些方法可以读取。显然,读取大量文件时不能这样操作。

按照链接里博主的代码“xml转换为excel标准格式”失败。

最后解决:将文件复制到一个临时文件夹,更改文件后缀名为txt,用读txt的办法去读取这个excel文件。我是txt读取到DataTable里面,这个网上就有很多办法了。

附上改文件后缀的代码:

/// <summary>/// 更改文件后缀名/// </summary>/// <param name="path">文件夹路径</param>/// <param name="sourcefileformat">源文件后缀名</param>/// <param name="newfileformat">需要的后缀名</param>public void ChangeFileType(string path, string sourcefileformat, string newfileformat){try{DirectoryInfo mydir = new DirectoryInfo(path);FileInfo[] fileInfo = mydir.GetFiles();//遍历文件夹里的文件foreach (FileSystemInfo fsi in mydir.GetFileSystemInfos()) {if (fsi is FileInfo){FileInfo fi = (FileInfo)fsi;if (fi.Extension.ToUpper() == $".{sourcefileformat.ToUpper()}"){fi.MoveTo(Path.ChangeExtension(fi.FullName, newfileformat)); //更改文件类型为txt}}}}catch{throw;}}//调用//ChangeFileType("D:\temp", "xls", "txt");

萌新,这个问题卡了好久,记录一下。

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