Extraer objetos OLE del libro de trabajo
A veces, necesitas extraer objetos OLE de un libro de trabajo. Aspose.Cells para Python via .NET soporta la extracción y guardado de estos objetos Ole.
Este artículo muestra cómo crear una aplicación de consola en Visual Studio.Net y extraer diferentes objetos OLE de un libro de trabajo con unas pocas líneas de código sencillas.
Extraer objetos OLE de un libro de trabajo
Crear un libro de trabajo de plantilla
- Crear un libro de trabajo en Microsoft Excel.
- Agregar un documento de Word de Microsoft, un libro de trabajo de Excel y un documento PDF como objetos OLE en la primera hoja de cálculo.
Documento de plantilla con objetos OLE (OleFile.xls) |
---|
![]() |
A continuación, extraiga los objetos OLE y guárdelos en el disco duro con sus respectivos tipos de archivo.
Extraer objetos OLE usando la biblioteca de Excel Aspose.Cells para Python
El código a continuación realiza el trabajo real de encontrar y extraer objetos OLE. Los objetos OLE (archivos DOC, XLS y PDF) se guardan en 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() |