我的任务是将 URL 中的图片放入 excel 工作表中的某个单元格中。我正在使用带有 C# 的 NetOffice 来执行此操作。
不过,我的主要问题是我找不到将图片准确插入单元格的方法。当我使用 Sheet.Shapes.AddPicture() 时,我必须计算放置图片的坐标。当然,我对此没有任何问题(我创建了某种解决方法),但是,我想问一下我解决此问题的方法是否正确,或者是否有其他方法可以将图像插入单元格。
这是我的解决方法:
var floatLeft = FloatLeftPixelsCalculation(rowNumber);
var floatTop = FloatTopPixelsCalculation(rowNumber);
Worksheet.Shapes.AddPicture(urlCellValue, MsoTriState.msoFalse, MsoTriState.msoTrue, floatLeft, floatTop, PictureWidth, PictureHeight);
public float FloatTopPixelsCalculation(int rowNumber)
{
float floatTop = 0;
for (var rNumber = 1; rNumber < rowNumber; rNumber++)
{
var cellHeight = Convert.ToSingle(Worksheet.Cells[rNumber, ColumnIndex].RowHeight);
floatTop = floatTop + cellHeight;
}
return floatTop;
}
public float FloatLeftPixelsCalculation(int rowNumber)
{
float floatLeft = 0;
for (var columnNumber = 1; columnNumber < ColumnIndex; columnNumber++)
{
var cellWidth = Convert.ToSingle(Worksheet.Cells[rowNumber, columnNumber].ColumnWidth);
floatLeft = floatLeft + cellWidth;
}
return floatLeft;
}