对excel里的数据修改后再保存回去,一直有问题,于是直接写了个最简单的
FileStream fs = new FileStream("D:\\test.xlsx", FileMode.Open, FileAccess.Read);
XSSFWorkbook wb = new XSSFWorkbook(fs);
using (FileStream fs1 = File.OpenWrite("D:\\test.xlsx"))
{
wb.Write(fs1);
}
直接读取保存然后再打开test.xlsx的时候还是会报错

如果下面不是覆盖原有的xlsx文件而是新建
using (FileStream fs1 = File.OpenWrite("D:\\NEW1231313test.xlsx"))
{
wb.Write(fs1);
}
就没有问题,可以打开
这是怎么回事呢??
------解决思路----------------------
我也遇到这个问题,后来把excel文件换成xls版本后,就没有问题了
------解决思路----------------------
其实你看OFFICE自己就是这么干的,打开xlsx后会生成一个前缀名为~$的隐藏临时文件,而打开xls的时候不会生成临时文件