استخراج كائنات Ole من الدفتر

استخراج كائنات Ole من دفتر عمل

إنشاء دفتر عمل قالب

  1. أنشئ دفتر عمل في Microsoft Excel.
  2. أضف مستند Microsoft Word ودفتر عمل Excel ومستند PDF ككائنات Ole في الورقة العمل الأولى.
مستند القالب مع كائنات OLE (OleFile.xls)
todo:image_alt_text

الخطوة التالية هي استخراج كائنات OLE وحفظها على القرص الصلب مع أنواع الملفات الخاصة بها.

تنزيل وتثبيت Aspose.Cells

  1. تنزيل Aspose.Cells for .NET.
  2. قم بتثبيته على كمبيوتر التطوير الخاص بك.

جميع مكونات Aspose، عند التثبيت، تعمل في وضع التقييم. وضع التقييم لا يحتوي على حد زمني ويقوم فقط بحقن العلامات المائية إلى الوثائق المنتجة.

إنشاء مشروع

ابدأ Visual Studio.Net وقم بإنشاء تطبيق وحدة التحكم جديد. سيعرض هذا المثال تطبيق وحدة التحكم C#، ولكن يمكنك أيضًا استخدام VB.NET.

  1. إضافة المراجع
    1. أضف مرجعًا لمكون 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();
}
}
}