Extraire les objets OLE du classeur

Extraire des objets OLE d’un classeur

Création d’un modèle de classeur

  1. Création d’un classeur dans Microsoft Excel.
  2. Ajoutez un document Word Microsoft, un classeur Excel et un document PDF en tant qu’objets OLE sur la première feuille de calcul.
Modèle de document avec des objets OLE (OleFile.xls)
tâche : image_autre_texte

Extrayez ensuite les objets OLE et enregistrez-les sur le disque dur avec leurs types de fichiers respectifs.

Téléchargez et installez Aspose.Cells

  1. Télécharger Aspose.Cells for .NET.
  2. Installez-le sur votre poste de développement.

Tous les composants Aspose, une fois installés, fonctionnent en mode d’évaluation. Le mode d’évaluation n’a pas de limite de temps et il injecte uniquement des filigranes dans les documents produits.

Créer un projet

DémarrerVisual Studio.Net et créer une nouvelle application console. Cet exemple montre une application console C#, mais vous pouvez également utiliser VB.NET.

  1. Ajouter des références
  2. Ajoutez une référence au composant Aspose.Cells à votre projet, par exemple ajoutez une référence à …\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll

Extraire des objets OLE

Le code ci-dessous effectue le travail réel de recherche et d’extraction d’objets OLE. Les objets OLE (fichiers DOC, XLS et PDF) sont enregistrés sur le disque.

// 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();
}
}
}