使用NPOI保存xlsx文件后,当我打开xlsx文件时,它说文件已损坏

时间:2016-02-24 13:28:52

标签: c# npoi

xlWorksheet.GetRow(1).GetCell(2).SetCellValue("Hello");
using (FileStream file = new FileStream("Test.xlsx", FileMode.Create, FileAccess.Write))
{
   XLWorkBook.Write(file);
   file.Close();
}

我用这段代码编写excel文件。编写excel后,当我手动打开excel文件时,它已损坏。 我正在使用NPOI二进制2.1.3.1 请告诉我们如何避免excel被破坏。

2 个答案:

答案 0 :(得分:0)

尝试在file.Flush();之前添加file.Close();

xlWorksheet.GetRow(1).GetCell(2).SetCellValue("Hello");
using (FileStream file = new FileStream("Test.xlsx", FileMode.Create, FileAccess.Write))
{
   XLWorkBook.Write(file);
   file.Flush();
   file.Close();
}

答案 1 :(得分:0)

我不建议在重复循环中使用file.Close()。

另外,我建议打开文件,进行循环,然后刷新并关闭文件。

这种方法在时间上要好得多,因为重复打开和关闭文件会耗费大量时间,并且每次都需要访问驱动器。