2
EPPlus를 사용하는 Excel 문서의 주석 작업에 몇 가지 문제가 있습니다. 나는 주석을 추가하고 제거 할 수 있지만 때로는 성공하지 못합니다.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;
}
경우 세포 인 특정 셀, 나는 아래의 스택 추적을 내려면 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)
이 사람이 나를 도울 수 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
감사합니다,
제임스
이 스 니펫을 공유해 주셔서 감사합니다. 채우기를 지우고 모든 의견을 삭제해야하며 두 가지 질문이 모두 필요했습니다. – trailmax