Nhiệm vụ của tôi là đưa hình ảnh từ URL vào ô nhất định trong bảng tính excel. Tôi đang sử dụng NetOffice với C# để làm điều này.Làm cách nào để chèn ảnh vào ô excel?
Vấn đề chính của tôi là tôi không thể tìm cách chèn ảnh chính xác vào ô. Khi tôi sử dụng Sheet.Shapes.AddPicture(), tôi phải tính toán tọa độ nơi đặt ảnh của mình. Tất nhiên, tôi không có vấn đề gì với vấn đề này (tuy nhiên tôi đã tạo ra một số cách giải quyết), tôi muốn hỏi liệu cách tiếp cận của tôi để giải quyết vấn đề này là đúng hay có phương pháp nào khác mà tôi có thể chèn hình ảnh vào ô.
Dưới đây là cách giải quyết của tôi:
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;
}
Theo như tôi biết, hình ảnh không đi trực tiếp bên trong các ô trong trang tính. Điều này được chứng minh bằng cách chèn một hình ảnh vào một bảng tính - thông báo đó là sorta "nổi" trên các tế bào - cùng với clip nghệ thuật, hình dạng, vv –
Bạn không thể chèn bức ảnh vào các ô. Cách tiếp cận của bạn để sắp xếp chúng với tế bào, bằng cách sử dụng các thuộc tính trên cùng và bên trái, v.v., là chính xác. –