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的临时文件就可以了, 因为是自己创建的文件, 有完全的使用权也不会有别人来用吧~

原文地址:https://www.cnblogs.com/pasoraku/p/8716602.html