gpt4 book ai didi

epplus - 使用 EPPlus 删除/清除 Excel 中的注释

转载 作者:行者123 更新时间:2023-12-04 05:46:00 26 4
gpt4 key购买 nike

我在使用 EPPlus 处理 Excel 文档中的注释时遇到了一些问题。我可以添加评论并删除它们,但有时它不成功。

我正在使用注释来显示 Excel 文件处理结果的验证消息,并且当该文件被重新处理时,我想在再次运行验证之前清除所有现有注释。

我目前清除评论的方法是:

  _sheet.Cells.Style.Fill.PatternType = ExcelFillStyle.None;
while (_sheet.Comments.Count > 0)
{
// Note: not using _sheet.Comments.RemoveAt(0) since this can throw [Exception: Key does not exist] OfficeOpenXml.RangeCollection.Delete(UInt64 key)
_sheet.Comments.RemoveAt(_sheet.Comments.Count - 1);
}

这似乎可以很好地清除它们。但是当我尝试添加如下评论时:
  const string author = "...";
cell.Style.Fill.PatternType = ExcelFillStyle.Solid;
cell.Style.Fill.BackgroundColor.SetColor(Color.LemonChiffon);
if (cell.Comment == null)
{
cell.AddComment(message, author);
}
else
{
cell.Comment.Text = message;
cell.Comment.Author = author;
}

其中 cell 是特定单元格的 ExcelRange 实例,我得到以下堆栈跟踪:
System.NullReferenceException : Object reference not set to an instance of an object.
at OfficeOpenXml.Drawing.Vml.ExcelVmlDrawingCommentCollection.AddDrawing(ExcelRangeBase cell)
at OfficeOpenXml.Drawing.Vml.ExcelVmlDrawingCommentCollection.Add(ExcelRangeBase cell)
at OfficeOpenXml.ExcelComment..ctor(XmlNamespaceManager ns, XmlNode commentTopNode, ExcelRangeBase cell)
at OfficeOpenXml.ExcelCommentCollection.Add(ExcelRangeBase cell, String Text, String author)
at OfficeOpenXml.ExcelRangeBase.Set_Comment(Object value, Int32 row, Int32 col)
at OfficeOpenXml.ExcelRangeBase.SetSingle(_setValue valueMethod, Object value)
at OfficeOpenXml.ExcelRangeBase.AddComment(String Text, String Author)

谁能帮我这个?我做错了什么?

谢谢,

詹姆士

最佳答案

我就此事联系了 Jan Kallman,结果发现是 VML 图纸未排序的错误,并已在补丁/commit 5027f556c029 中修复。图书馆的。

关于epplus - 使用 EPPlus 删除/清除 Excel 中的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10684372/

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