استخراج كائنات Ole من الدفتر
في بعض الأحيان، تحتاج إلى استخراج عناصر OLE من دفتر العمل. تدعم Aspose.Cells لـ Python via .NET استخراج وحفظ تلك العناصر Ole.
يوضح هذا المقال كيفية إنشاء تطبيق وحدة تحكم في الوحدة التحكم في Visual Studio.Net واستخراج كائنات OLE مختلفة من دفتر العمل ببضعة أسطر بسيطة من الكود.
استخراج كائنات Ole من دفتر عمل
إنشاء دفتر عمل قالب
- أنشئ دفتر عمل في Microsoft Excel.
- أضف مستند Microsoft Word ودفتر عمل Excel ومستند PDF ككائنات Ole في الورقة العمل الأولى.
مستند القالب مع كائنات OLE (OleFile.xls) |
---|
![]() |
الخطوة التالية هي استخراج كائنات OLE وحفظها على القرص الصلب مع أنواع الملفات الخاصة بها.
استخراج عناصر OLE باستخدام مكتبة Aspose.Cells لـ Python Excel
الكود أدناه يقوم بالعمل الفعلي للعثور على واستخراج كائنات OLE. يتم حفظ كائنات OLE (ملفات DOC وXLS وPDF) على القرص.
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() |