最近一個項目用到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文件格式的話,也是可以正常導入的。