我使用ClosedXML (https://github.com/ClosedXML/ClosedXML)在我的C# MVC控制器中创建excel文件。根据https://github.com/closedxml/closedxml/wiki/How-can-I-insert-an-image中的文档,我在单元格中插入了一个图像,并将该单元格与右边的side.My代码中的to单元合并如下:
用于添加图像
var imagePath = @"c:\myFolder\image.jpg";
var image = MyWorkSheet.AddPicture(imagePath ) .MoveTo((MyWorkSheet.Cell(3,1).Address)) .Scale(0.2);
image.Width = 50;
image.Height = 50;
用于合并单元格
MyWorkSheet.Range(MyWorkSheet.Cell(3,1).Address, MyWorkSheet.Cell(3, 3).Address).Merge();
但图像位于细胞的左上角。我找不到任何网页来源,解释如何在单元格范围内的图像中心。任何人都请帮帮我。
发布于 2019-02-22 18:53:41
你必须用偏移距移动你的图像。要做到这一点,你必须计算那个偏移量。以点(而不是像素)返回列宽。您必须将其转换为像素,以便与图像像素宽度进行比较。
所以你可以:
int iColumnWidth = (MyWorkSheet.Column(1).Width - 1) * 7 + 12; // To convert column width in pixel unit.
int xOffset = (iColumnWidth - image.Width) / 2;
int yOffset = 0;
image.MoveTo(MyWorkSheet.Cell(3,1), New Point(xOffset, yOffset));
https://stackoverflow.com/questions/53588258
复制相似问题