Asp.Net讀取excel文件的時候 出錯提示:外部表不是預期的格式


在讀取我程序導出的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";
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM