我有以下代码:
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列);但是,图像要小得多。但是,该行最终会以图像的正确高度结束,如文件中所示。如何修复图像的宽度?
答案 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);
请注意,列和行索引之间的距离为一。