C# EPPlus调整图片大小以适应单元格

C# EPPlus resize pictures to fit in the cell

我正在尝试将图片放入 B1 单元格。图片正在插入,但高度比原始图像大。 高度如何自动拉伸?

我使用的是 EPPlus 版本 4.0.6.0 & .Net 版本 4.5.2使用 VS IDE 2013.

这是输出截图。

想要的输出截图

这是我用来将 图片放入 B1 单元格的代码示例。

imgCompanyLogo = Image.FromFile(@"C:\Users\tridip\Desktop\Test1\www_files\image002.png");
ws.Column(2).Width = Convert.ToDouble((45 + 0.11));
ws.Row(1).Height = Convert.ToDouble((46.5 + 0.11));
ExcelPicture pic = ws.Drawings.AddPicture("Logo", imgCompanyLogo);
pic.SetPosition(0, 0, 1, 0);
pic.SetSize(316, 60);

如果我评论或不评论这一行 pic.SetPosition(0, 0, 1, 0); 但在图片被拉伸的地方总是得到相同的输出。

查看原始图像的外观。 link这里https://ibb.co/PCxw3v0

我的代码有什么错误?或建议我可以获得所需输出的修复方法。

此问题已解决。在保存 excel 文件之前,我将图像放在末尾。 这是代码。

    if (imgCompanyLogo != null)
    {
        decimal mdw = ws.Workbook.MaxFontWidth;
        int pixelHeight = (int)(ws.Row(1).Height / 0.75);
        int pixelWidth = (int)decimal.Truncate(((256 * (decimal)ws.Column(2).Width + decimal.Truncate(128 / (decimal)mdw)) / 256) * mdw);
    
        var picture = ws.Drawings.AddPicture("Test", imgCompanyLogo);
        picture.SetSize(pixelWidth, pixelHeight);
        //picture.EditAs = OfficeOpenXml.Drawing.eEditAs.TwoCell;
        picture.SetPosition(0, 0, 1, 0);
    }
output.Save();

谢谢