2016-04-06 7 views

Antwort

4

OK ich herausgefunden habe, wie man:

public static Image GetImage(string sheetname, ExcelPackage excelFile) 
    { 
     var sheet = excelFile.Workbook.Worksheets[sheetname]; 
     var pic = sheet.Drawings["pic_001"] as ExcelPicture; 
     return pic.Image; 
    } 
1

Alle xlsx-Dateien sind wirklich Zip-Dateien. Sie können die .xlsx-Erweiterung in .zip kopieren/umbenennen und selbst durch die Ordnerhierarchie navigieren. Navigiere zu xl/media, um deine Bilder zu sehen. Es gibt sicherlich effizientere Möglichkeiten, dies zu tun, aber dies ist eine schnelle und schmutzige Lösung, die die Arbeit erledigen wird.

+0

Das wird nicht funktionieren, wenn ich viele Arbeitsblätter mit vielen Bildern haben, Bildnamen im Paket nicht das gleiche wie Bild/Zeichnung Namen das Arbeitsblatt. Ich bevorzuge direkten Zugriff auf das Bild, anstatt das Archiv zu extrahieren und XML-Dateien zu analysieren, um das richtige Bild zu finden. – MusuNaji