Estrarre oggetti OLE dal file di lavoro
A volte, è necessario estrarre oggetti OLE da un foglio di lavoro. Aspose.Cells for Python via .NET supporta l’estrazione e il salvataggio di questi oggetti Ole.
Questo articolo mostra come creare un’applicazione console in Visual Studio.Net ed estrarre diversi oggetti OLE da un file di lavoro con poche righe di codice.
Estrarre oggetti OLE da un file di lavoro
Creazione di un file di lavoro modello
- Creato un documento di lavoro in Microsoft Excel.
- Aggiungi un documento di Microsoft Word, un libro di Excel e un documento in formato PDF come oggetti OLE nel primo foglio di lavoro.
Modello di documento con oggetti OLE (OleFile.xls) |
---|
![]() |
Successivamente estrai gli oggetti OLE e salvali sull’hard disk con i rispettivi tipi di file.
Estrazione di oggetti OLE usando Aspose.Cells per libreria Excel Python
Il codice di seguito effettua il lavoro effettivo di individuare ed estrarre oggetti OLE. Gli oggetti OLE (file DOC, XLS e PDF) vengono salvati su disco.
from aspose.cells import FileFormatType, Workbook | |
from io import BytesIO | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Open the template file. | |
workbook = Workbook(dataDir + "oleFile.xlsx") | |
# Get the OleObject Collection in the first worksheet. | |
oles = workbook.worksheets[0].ole_objects | |
# Loop through all the oleobjects and extract each object in the worksheet. | |
for i in range(len(oles)): | |
ole = oles[i] | |
# Specify the output filename. | |
fileName = dataDir + "outOle" + str(i) + "." | |
# Specify each file format based on the oleobject format type. | |
if ole.file_format_type == FileFormatType.DOC: | |
fileName = "doc" | |
elif ole.file_format_type == FileFormatType.EXCEL_97_TO_2003: | |
fileName = "Xlsx" | |
elif ole.file_format_type == FileFormatType.PPT: | |
fileName = "Ppt" | |
elif ole.file_format_type == FileFormatType.PDF: | |
fileName = "Pdf" | |
elif ole.file_format_type == FileFormatType.UNKNOWN: | |
fileName = "Jpg" | |
# Save the oleobject as a new excel file if the object type is xls. | |
if ole.file_format_type == FileFormatType.XLSX: | |
ms = BytesIO() | |
if ole.object_data != None: | |
ms.write(ole.object_data) | |
oleBook = Workbook(ms) | |
oleBook.settings.is_hidden = False | |
oleBook.save(dataDir + "outOle" + str(i) + ".out.xlsx") | |
else: | |
if ole.object_data != None: | |
fs = open(fileName, "wb") | |
fs.write(ole.object_data) | |
fs.close() |