Laden...
C
ChrisCC6 myCSharp.de - Member
Technischer Projektleiter Automotive BW Dabei seit 01.02.2021 2 Beiträge

Forenbeiträge von ChrisCC6 Ingesamt 2 Beiträge

01.02.2021 - 14:53 Uhr

Hallo Apt,

schön hier jemanden aus der Region zu treffen... 😉

Ich habe den Wald vor lauter Bäumen nicht gesehen. Zwischenzeitlich habe ich die "Axt" gefunden.

Für den Fall, dass jemand einen ähnlichen Versuch unternimmt:


            using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
            {
                // get the Workbook
                DocumentFormat.OpenXml.Spreadsheet.Workbook workbook = document.WorkbookPart.Workbook;

                // get the sheet with the specific name where the embedded content is located
                DocumentFormat.OpenXml.Spreadsheet.Sheet sheet = (DocumentFormat.OpenXml.Spreadsheet.Sheet)workbook.Sheets.AsEnumerable().Where(x => x.GetAttribute("name", "").Value == "Messstellenplan").FirstOrDefault();

                if (sheet != null)
                {
                    // get the embedded objects
                    IEnumerable<EmbeddedObjectPart> embeddedObjects = document.WorkbookPart.GetPartById(sheet.Id).GetPartsOfType<EmbeddedObjectPart>();
                    // Do your stuff here...

                }
            }

01.02.2021 - 12:51 Uhr

Hallo zusammen,

ich verzweifele gerade, da ich absolut auf dem Schlauch zu stehen scheine.

Mein Problem: ich möchte aus einem Excel 2007 eine oder mehrere eingebettete PowerPoint-Dateien exportieren bzw. öffnen.

Ich habe bereits den Hinweis von Abt gelesen:

Extract embedded files from Office documents (CSOfficeDocumentFileExtractor)

aus diesem Beitrag: OLE PDF Speichern (gelößt)

Der referenzierte Artikel ist leider nicht mehr verfügbar. Hat jemand evtl. einen Hinweis oder Codeschnipsel der mich in die richtige Richtung weist?

Ich habe mir ein xml-File erzeugt über:


using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
{
     string xmlDoc = document.ToFlatOpcString();
     //...
     File.WriteAllText(path, xmlDoc)
}

Im xml sehe ich die Datei wie folgt:


<pkg:part pkg:name="/xl/embeddings/Microsoft_PowerPoint_97-2003_Presentation.ppt" pkg:contentType="application/vnd.ms-powerpoint" pkg:compression="store">

Viele Grüße
Chris