天天看點

NPOI讀取excel檔案導出資料, 而此時檔案正在打開中抛異常怎麼辦

項目中需要用到一些數值表格, 友善起見都是用excel來的.

而如果excel正打開中, 直接使用npoi制作的工具來導出資料的話, 在這一行将會異常:

workbook = new XSSFWorkbook(filepath);

其實隻是讀取的話, 并不需要獲得它完整的使用權限, 那麼用file.open然後再new workbook行不行? 也不行.

其實看那些excel其他軟體的做法就很簡單了, 首先執行一次copy

string tmpFile = "~tooltmp.xlsx";
File.Copy(excelFileName, tmpFile, true);      

然後打開這個copy的臨時檔案就可以了, 因為是自己建立的檔案, 有完全的使用權也不會有别人來用吧~

繼續閱讀