在读取我程序导出的Excel文件数据时,出现错误“外部表不是预期的格式”;

结果网上搜索时发现解决办法:

=======================================

用记事本打开你的Excel文件,看看显示是否为乱码。
若是html代码,则表示你的excel文件格式不是标准的excel格式,才会提示“外部表不是预期的格式”的错误;
若是乱码,我这边测试是不会提示这个错误的,可以成功导入。

其实出现这个错误的原因是,你的Excel是从程序中导出的,并且是使用 
Response的方式直接把html代码输出到Excel中的 
其实是可以解决的:

1/ 导出的时候使用Excel操作Api来导出就是标准格式

2/ 其次是将导出的Excel文件再次另存为新的Excel文件
=======================================

 

但是,我发现我所导出的Excel是采用COM组件形式生成的标准的Excel文件。

而且用记事本打开时,也是乱码格式。

于是经过尝试,我将原有的Excel文件另存为.xlsx扩展名,因为我本机只有Office2007,并没有2003技巧以前的版本。

 

再次尝试,成功!

 

从这点分析是不是我导出的Excel文件扩展名是不是定义错了,于是修改程序。

判断运行环境是哪个版本的Excel,并重新导出Excel,然后导入,成功!

其中,判断本机的Excel版本的程序代码为:

Excel.Application m_xlApp = new Excel.Application();

 //运行环境中的Excel版本
string version = m_xlApp.Version;

string fileExtension = ".xls";

if (version == "12.0")
{
     fileExtension = ".xlsx";
}

相关文章:

  • 2021-09-11
  • 2022-12-23
  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-01-13
  • 2022-12-23
猜你喜欢
  • 2021-06-01
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2022-01-23
  • 2022-01-08
  • 2022-12-23
相关资源
相似解决方案