我对 OpenXML 很陌生,发现 EPPlus 项目非常有用,但是我需要将评论的背景图像设置为图片。我可以在 Excel 中执行此操作,但是,我没有看到任何为此公开的接口。
以前有没有人在 OpenXML 中这样做过?或者可以为我指出一个好的起点?
谢谢,非常感谢
我对 OpenXML 很陌生,发现 EPPlus 项目非常有用,但是我需要将评论的背景图像设置为图片。我可以在 Excel 中执行此操作,但是,我没有看到任何为此公开的接口。
以前有没有人在 OpenXML 中这样做过?或者可以为我指出一个好的起点?
谢谢,非常感谢
我相信 EPPlus 只允许您设置背景颜色,但不能设置图片。在 OpenXML 中,注释样式(包括背景图像)存储在 VML 文件中。
如果您使用 Open XML SDK,那么它就是 Worksheet 类下的 LegacyDrawing。您必须从 LegacyDrawing 类中获取 ID,然后检索 VmlDrawingPart 类并操作内容。您还必须使用 VmlDrawingPart 的 ImageParts。工作起来有点乱,其实...
为方便起见,您可能需要考虑SpreadsheetLight。以下是如何进行评论:
SLDocument sl = new SLDocument();
SLComment comm = sl.CreateComment();
comm.SetText("There's a picture background.");
comm.Fill.SetPictureFill("julia.png", 0, 0, 0, 0, 0);
sl.InsertComment(2, 2, comm);
sl.SaveAs("CommentBackground.xlsx");
这将在评论框背景上完全拉伸图片。
免责声明:我写了 SpreadsheetLight。