-1

我有这个 EPPlus 代码在 Excel 电子表格的第 5/E 列第 1 行放置一个位图:

using (var package = new ExcelPackage(file))
{
    . . .
    AddImage(locationWorksheet, 1, 5, imgPath);
    . . .
}

private void AddImage(ExcelWorksheet oSheet, int rowIndex, int colIndex, string imagePath)
{
    Bitmap image = new Bitmap(imagePath);
    {
        var excelImage = oSheet.Drawings.AddPicture("PRO*ACT Logo", image);
        excelImage.From.Column = colIndex;
        excelImage.From.Row = rowIndex;
        excelImage.SetSize(108, 84);
    }
}

图像是 .png 文件,显示尺寸 (108X84)。

虽然图像应该显示在第 1 行和第 5 列的交叉点,但实际上它更像是第 2 行和第 6 列:

在此处输入图像描述

为什么,我该如何纠正这个问题?

注意:Excel 列和行索引是从 1 开始的(不是 0)。

4

1 回答 1

1

也许 AddImage 正在寻找行/列的索引而不是行/列号。如果是这种情况,那么您会将行/列计算为 0、1、2、3、4 等。

如果您从当前值中减去一个,您应该没问题。使用索引来引用列表或网格中的位置是相对常见的,所以我认为这是一个安全的选择。

于 2016-08-03T19:01:59.610 回答