项目中需要用到一些数值表格, 方便起见都是用excel来的.
而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常:
workbook = new XSSFWorkbook(filepath);
其实只是读取的话, 并不需要获得它完整的使用权限, 那么用file.open然后再new workbook行不行? 也不行.
其实看那些excel其他软件的做法就很简单了, 首先执行一次copy
string tmpFile = "~tooltmp.xlsx"; File.Copy(excelFileName, tmpFile, true);
然后打开这个copy的临时文件就可以了, 因为是自己创建的文件, 有完全的使用权也不会有别人来用吧~