EPPLUS添加注释导致打开Excel文件时出现错误。

8

我想在一个单元格添加注释,所以...我这样做:

... 
ExcelPackage package = new ExcelPackage(new MemoryStream());
var ws = package.WorkBook.WorkSheet[1];
ws.Cells[1, 1].AddComment("Lot Price: $12,000", "");
... 
package.SaveAs(new FileInfo("fileout.xlsx"));
package.Dispose();

当尝试打开生成的“fileout.xlsx”时,会弹出一个对话框提示尽可能地恢复...然后恢复后的fileout.xlsx显示错误:
“已删除部分:/xl/comments1.xml带有XML错误的部分。 (Comments) Load error. Line 5, column 0. 已删除部分:/xl/comments5.xml带有XML错误的部分。 (Comments) Load error. Line 5, column 24。”
看起来EPPlus在有注释时产生了错误格式的xml。 我想分享解决此问题的方法:
我只是为注释添加了一个非空白的标题行,例如这里的“REF”:
ws.Cells[1, 1].AddComment("Lot Price: $12,000", "REF");

我希望这篇文章能对一些人有所帮助。

谢谢,这对我也有帮助。如果可以的话,您应该将您的解决方案发布为答案并接受它。 - Alex Mazzariol
3个回答

7

有人建议把它作为答案发布。这里是:

如果像这样添加一个非空的评论标题行,例如“REF”,则问题会消失:

ws.Cells[1, 1].AddComment("Lot Price: $12,000", "REF");

我希望这能帮到某些人。


0
你可以加一个空格" ",它也可以起作用。

0

我遇到了同样的问题。对于我的实例,我在第二个参数中使用了空值的AddComment函数。 起初,我的代码是这样的:

ExcelRange range = newsheet.SelectedRange[1, 1];
newExcel.SetBGColor(range, Color.Red);
range.AddComment("no data", "");

然后我将最后的代码改成了这样:

range.AddComment("no data", "some body");

它有效


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接