OLE Objekte aus Arbeitsmappe extrahieren
Contents
[
Hide
]
Manchmal müssen Sie tatsächlich OLE-Objekte aus einer Arbeitsmappe extrahieren. Aspose.Cells unterstützt das Extrahieren und Speichern dieser OLE-Objekte, wie in diesem Artikel demonstriert.
OLE-Objekte aus einer Arbeitsmappe extrahieren
Erstellen einer Vorlagearbeitsmappe
- Erstellen einer Arbeitsmappe in Microsoft Excel.
- Fügen Sie ein Microsoft Word-Dokument, eine Excel-Arbeitsmappe und ein PDF-Dokument als OLE-Objekte auf dem ersten Arbeitsblatt hinzu.
OLE-Objekte extrahieren
Der folgende Code führt die eigentliche Arbeit des Suchens und Extrahierens von OLE-Objekten als DOCX-, XLSX-, PPTX- und PDF-Dateien durch.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExtractOLEObjects.class); | |
// Instantiating a Workbook object, Open the template file. | |
Workbook workbook = new Workbook(dataDir + "oleFile.xlsx"); | |
// Get the OleObject Collection in the first worksheet. | |
OleObjectCollection objects = workbook.getWorksheets().get(0).getOleObjects(); | |
// Loop through all the OleObjects and extract each object in the worksheet. | |
for (int i = 0; i < objects.getCount(); i++) { | |
OleObject object = objects.get(i); | |
// Specify the output filename. | |
String fileName = "D:/object" + i + "."; | |
// Specify each file format based on the OleObject format type. | |
switch (object.getFileFormatType()) { | |
case FileFormatType.DOCX: | |
fileName += "docx"; | |
break; | |
case FileFormatType.XLSX: | |
fileName += "xlsx"; | |
break; | |
case FileFormatType.PPTX: | |
fileName += "pptx"; | |
break; | |
case FileFormatType.PDF: | |
fileName += "pdf"; | |
break; | |
case FileFormatType.UNKNOWN: | |
fileName += "jpg"; | |
break; | |
default: | |
// ........ | |
break; | |
} | |
// Save the OleObject as a new excel file if the object type is xls. | |
if (object.getFileFormatType() == FileFormatType.XLSX) { | |
byte[] bytes = object.getObjectData(); | |
InputStream is = new ByteArrayInputStream(bytes); | |
Workbook oleBook = new Workbook(is); | |
oleBook.getSettings().setHidden(false); | |
oleBook.save(fileName); | |
} | |
// Create the files based on the OleObject format types. | |
else { | |
FileOutputStream fos = new FileOutputStream(fileName); | |
fos.write(object.getObjectData()); | |
fos.close(); | |
} | |
} |
Fazit:
Dieser Artikel zeigt, wie Sie OLE-Objekte aus einer Arbeitsmappe extrahieren können, indem Sie Aspose.Cells verwenden. Hoffentlich geben sie Ihnen einige Einblicke, die es Ihnen ermöglichen, diese Optionen in Ihren eigenen Szenarien zu verwenden.