استخراج كائنات Ole من الدفتر
في بعض الأحيان، قد تحتاج إلى استخراج كائنات Ole من دفتر العمل. تدعم Aspose.Cells استخراج وحفظ تلك الكائنات Ole.
يوضح هذا المقال كيفية إنشاء تطبيق وحدة تحكم في الوحدة التحكم في Visual Studio.Net واستخراج كائنات OLE مختلفة من دفتر العمل ببضعة أسطر بسيطة من الكود.
استخراج كائنات Ole من دفتر عمل
إنشاء دفتر عمل قالب
- أنشئ دفتر عمل في Microsoft Excel.
- أضف مستند Microsoft Word ودفتر عمل Excel ومستند PDF ككائنات Ole في الورقة العمل الأولى.
مستند القالب مع كائنات OLE (OleFile.xls) |
---|
الخطوة التالية هي استخراج كائنات OLE وحفظها على القرص الصلب مع أنواع الملفات الخاصة بها.
تنزيل وتثبيت Aspose.Cells
- تنزيل Aspose.Cells for .NET.
- قم بتثبيته على كمبيوتر التطوير الخاص بك.
جميع مكونات Aspose، عند التثبيت، تعمل في وضع التقييم. وضع التقييم لا يحتوي على حد زمني ويقوم فقط بحقن العلامات المائية إلى الوثائق المنتجة.
إنشاء مشروع
ابدأ Visual Studio.Net وقم بإنشاء تطبيق وحدة التحكم جديد. سيعرض هذا المثال تطبيق وحدة التحكم C#، ولكن يمكنك أيضًا استخدام VB.NET.
- إضافة المراجع
- أضف مرجعًا لمكون Aspose.Cells إلى مشروعك، على سبيل المثال، أضف مرجعًا إلى …\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll
استخراج كائنات Ole
الكود أدناه يقوم بالعمل الفعلي للعثور على واستخراج كائنات OLE. يتم حفظ كائنات OLE (ملفات DOC وXLS وPDF) على القرص.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open the template file. | |
Workbook workbook = new Workbook(dataDir + "oleFile.xlsx"); | |
// Get the OleObject Collection in the first worksheet. | |
Aspose.Cells.Drawing.OleObjectCollection oles = workbook.Worksheets[0].OleObjects; | |
// Loop through all the oleobjects and extract each object in the worksheet. | |
for (int i = 0; i < oles.Count; i++) | |
{ | |
Aspose.Cells.Drawing.OleObject ole = oles[i]; | |
// Specify the output filename. | |
string fileName = dataDir+ "outOle" + i + "."; | |
// Specify each file format based on the oleobject format type. | |
switch (ole.FileFormatType) | |
{ | |
case FileFormatType.Doc: | |
fileName += "doc"; | |
break; | |
case FileFormatType.Excel97To2003: | |
fileName += "Xlsx"; | |
break; | |
case FileFormatType.Ppt: | |
fileName += "Ppt"; | |
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 (ole.FileFormatType == FileFormatType.Xlsx) | |
{ | |
MemoryStream ms = new MemoryStream(); | |
if (ole.ObjectData != null) | |
{ | |
ms.Write(ole.ObjectData, 0, ole.ObjectData.Length); | |
Workbook oleBook = new Workbook(ms); | |
oleBook.Settings.IsHidden = false; | |
oleBook.Save(dataDir + "outOle" + i + ".out.xlsx"); | |
} | |
} | |
// Create the files based on the oleobject format types. | |
else | |
{ | |
if (ole.ObjectData != null) | |
{ | |
FileStream fs = File.Create(fileName); | |
fs.Write(ole.ObjectData, 0, ole.ObjectData.Length); | |
fs.Close(); | |
} | |
} | |
} |