Il mio compito è di inserire un'immagine dall'URL in una determinata cella in un foglio di lavoro Excel. Sto usando NetOffice con C# per farlo.Come inserire un'immagine nella cella excel?
Il mio problema principale è che non riesco a trovare un modo per inserire un'immagine esattamente nella cella. Quando uso Sheet.Shapes.AddPicture(), devo calcolare le coordinate in cui inserire la mia immagine. Naturalmente, non ho alcun problema con questo (ho creato una sorta di soluzione alternativa), tuttavia, mi piacerebbe chiedere se il mio approccio per risolvere questo problema è giusto o se c'è qualche altro metodo in cui posso inserire l'immagine nella cella.
Qui è la mia soluzione:
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;
}
Per quanto ne so, le immagini non vanno direttamente all'interno delle celle in un foglio di lavoro. Ciò è evidenziato dall'inserimento di un'immagine in un foglio di calcolo - si noti che è un po '"fluttuante" sopra le celle - lo stesso con clip art, forme, ecc. –
Non è possibile inserire immagini nelle celle. Il tuo approccio per allinearli con la cella, usando le proprietà Top e Left, ecc., È quello corretto. –