gpt4 book ai didi

c# - NPOI - 写入文件会损坏 .xlsx 工作簿

转载 作者:太空狗 更新时间:2023-10-30 00:49:47 32 4
gpt4 key购买 nike

我有一段代码目前正在写入 .xls 工作簿 (HSSFWorkbook),没有任何问题。但是,当我尝试使用相同的代码写入 .xlsx 工作簿 (XSSFWorkbook) 时,存档已损坏且无法在 excel 中打开。

以下代码是我用来访问工作簿、编辑工作簿,然后保存回工作簿的代码。我最初认为我用来编辑工作簿的代码是问题所在,但在将其注释掉后问题仍然存在。

IWorkbook workbook;
using (var file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
if (Path.GetExtension(fileName).Contains("xlsx"))
{
workbook = new XSSFWorkbook(file);
}
else
{
workbook = new HSSFWorkbook(file);
}
}

//Code that edits workbook which is currently commented out

using (var file = new FileStream(path, FileMode.Open, FileAccess.ReadWrite))
{
workbook.Write(file);
}

我已尝试针对空白的 .xlsx 工作簿运行此代码,但文件已损坏,无法再打开。

我正在使用来自 nuget 的最新稳定版 NPOI:NPOI 2.1.3.1

最佳答案

在尝试了 NPOI's Codeplex 中提到的所有内容之后无济于事,我尝试弄乱 FileStream 属性并能够获取空白 .xslx 进行保存。我正在使用以下代码写回文件:

using (var file = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
{
workbook.Write(file);
}

这解决了将返回保存到 XssfWorkbook 的主要问题。

关于c# - NPOI - 写入文件会损坏 .xlsx 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36142337/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com