为什么我的位图出现偏心(一个单元格太右下)?
Why is my bitmap appearing off-centered (one cell too far right and down)?
我有这个 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)。
也许 AddImage 正在寻找 row/column 的 index 而不是 row/column 编号。如果是这种情况,那么您会将 rows/columns 算作 0、1、2、3、4 等。
如果您从当前值中减去一个,您应该没问题。使用索引来引用列表或网格中的位置是相对常见的,所以我认为这是一个安全的选择。
我有这个 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)。
也许 AddImage 正在寻找 row/column 的 index 而不是 row/column 编号。如果是这种情况,那么您会将 rows/columns 算作 0、1、2、3、4 等。
如果您从当前值中减去一个,您应该没问题。使用索引来引用列表或网格中的位置是相对常见的,所以我认为这是一个安全的选择。