如何使用OpenXml或EPPlus将图片嵌入到评论中?

时间:2012-10-19 20:16:56

标签: c# openxml openxml-sdk epplus

我对OpenXML很新,并且发现EPPlus项目非常有用,但是我需要将注释的背景图像设置为图片。我可以在Excel中执行此操作,但是,我没有看到任何接口显示这样做。

有没有人在OpenXML之前做过这个?或者可以指出一个很好的起点?

谢谢,非常感谢

1 个答案:

答案 0 :(得分:1)

我相信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。