最近一个项目用到excel的导入和导出,遇到了这个问题,
把数据导出为excel文件后,修改部分数据,然后再导入该excel文件时就会
提示“不是预期的格式错误”。经过详细的排查,发现导出后的excel文件格式
不是真正的 Microsoft Office Excel 的文件格式,而是html的格式的excel文件,
大家可以通过 用记事本 打开该excel文件来验证,
如果打开是乱码,说明是Microsoft Office Excel 的文件格式,此格式文件导入是没有问题的。
如果打开是不是乱码,你就会发现是一些 html格式的代码,此时的excel文件在导入的时候就会报上边的错误。
然后再继续检查原因,发现如果用的是通过HttpContext.Current.Response的方式,改变ContentType的类型来输出的excel,那么导出的excel文件的格式就是html类型的excel文件。
如果采用excel组件的方式来导出excel文件,那么导出的excel文件的格式就是正常的可以导入的格式。
到此问题基本解决,希望对遇到同样问题的朋友有所帮助!
另:如果把导出的html格式的excel文件打开,另存为 正确的excel文件格式的话,也是可以正常导入的。
本文探讨了使用不同方法导出Excel文件导致的问题。当通过改变ContentType方式导出时,文件可能被误保存为HTML格式,这会导致后续导入失败。文章提供了如何识别文件格式及解决方法。
372

被折叠的 条评论
为什么被折叠?



