Meine Aufgabe ist es, Bild von URL in bestimmte Zelle in Excel-Arbeitsblatt zu setzen. Ich benutze NetOffice mit C#, um dies zu tun.Wie Bild in Excel-Zelle einfügen?
Mein Hauptproblem ist jedoch, dass ich keinen Weg finden kann, ein Bild genau in die Zelle einzufügen. Wenn ich Sheet.Shapes.AddPicture() verwende, muss ich Koordinaten berechnen, wo ich mein Bild ablegen soll. Natürlich habe ich damit kein Problem (ich habe eine Art Workaround erstellt), aber ich würde gerne fragen, ob mein Ansatz zur Lösung dieses Problems richtig ist oder ob es eine andere Methode gibt, mit der ich ein Bild in eine Zelle einfügen kann.
Hier ist meine Abhilfe:
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;
}
Soweit ich weiß, Bilder gehen nicht direkt in Zellen in einem Arbeitsblatt. Dies wird durch das Einfügen eines Bildes in eine Tabellenkalkulation demonstriert - ein Hinweis, der auf den Zellen "schwebt" - gleiches gilt für Cliparts, Formen usw. –
Sie können keine Bilder in Zellen einfügen. Ihr Ansatz, sie mit der Zelle auszurichten, indem Sie die Eigenschaften Oben und Links usw. verwenden, ist die richtige Methode. –