Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
OpenXML - Extract embedded ppt
ChrisCC6
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: BW

Themenstarter:

OpenXML - Extract embedded ppt

beantworten | zitieren | melden

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
- keep on keepin on -
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15524
Herkunft: BW

beantworten | zitieren | melden

Wenn Du den Titel meines referenzierten Links einfach in Google eintippst, dann findest Du das GitHub Repo dazu.
Gallery Archiv

Offenbar wurde heute Nacht die Gallery archiviert.
Man muss sich nur zu helfen wissen ;-)
private Nachricht | Beiträge des Benutzers
ChrisCC6
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: BW

Themenstarter:

beantworten | zitieren | melden

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...

                }
            }

- keep on keepin on -
private Nachricht | Beiträge des Benutzers