Estrarre oggetti OLE dal file di lavoro

Estrarre oggetti OLE da un file di lavoro

Creazione di un file di lavoro modello

  1. Creato un documento di lavoro in Microsoft Excel.
  2. 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)
todo:image_alt_text

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()