Extraire les objets OLE du classeur
Contents
[
Hide
]
Parfois, vous devez extraire des objets OLE d’un classeur. Aspose.Cells prend en charge l’extraction et l’enregistrement de ces objets OLE comme le démontre cet article.
Extraire les objets OLE d’un classeur
Création d’un classeur modèle
- Créé une feuille de calcul dans Microsoft Excel.
- Ajoutez un document Microsoft Word, un classeur Excel et un document PDF en tant qu’objets OLE sur la première feuille de calcul.
Extraire des objets OLE
Le code ci-dessous effectue le travail réel de recherche et d’extraction d’objets OLE en tant que fichiers DOCX, XLSX, PPTX et PDF.
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(); | |
} | |
} |
Conclusion:
Cet article montre comment extraire des objets OLE d’un classeur à l’aide d’Aspose.Cells. Espérons que cela vous donnera un aperçu qui vous permettra d’utiliser ces options dans vos propres scénarios.