使EPPlus中的图像适合总列宽

时间:2018-05-27 14:55:10

标签: image epplus

我有以下代码:

for (int i = 1; i <= columnArr.Length; i++)
{
    sheet.Column(i).AutoFit();
    totalWidth += sheet.Column(i).Width;
}
if (image != null)
{
    int percent = (int)(totalWidth*  100 / image.Image.Width);
    sheet.Row(1).Height = percent * image.Image.Height / 100;
    image.SetSize(percent);
}

我希望此代码应使image(类型ExcelPicture)与工作表相关部分中的列一样宽(在我的情况下,3列);但是,图像要小得多。但是,该行最终会以图像的正确高度结束,如文件中所示。如何修复图像的宽度?

1 个答案:

答案 0 :(得分:0)

您可以使用其他SetSize方法。

SetSize(width, height)

正确处理细节很棘手,但这对我有用:

report.Sheet.Column(columnIndex).Width = 10;
report.Sheet.Row(rowIndex).Height = 50;
picture.To.Column = picture.From.Column = columnIndex - 1;
picture.To.Row = picture.From.Row = rowIndex - 1;
picture.SetSize(70, 66);

请注意,列和行索引之间的距离为一。