Extraer objetos OLE del libro de trabajo

Extraer objetos OLE de un libro de trabajo

Creación de un libro de plantilla

  1. Creó un libro de trabajo en Microsoft Excel.
  2. Agregue un documento de Word Microsoft, un libro de Excel y un documento PDF como objetos OLE en la primera hoja de trabajo.
Documento de plantilla con objetos OLE (OleFile.xls)
todo:imagen_alternativa_texto

A continuación, extraiga los objetos OLE y guárdelos en el disco duro con sus respectivos tipos de archivo.

Descargar e Instalar Aspose.Cells

  1. Descargar Aspose.Cells for .NET.
  2. Instálalo en tu computadora de desarrollo.

Todos los componentes Aspose, cuando están instalados, funcionan en modo de evaluación. El modo de evaluación no tiene límite de tiempo y solo inyecta marcas de agua en los documentos producidos.

Crear un proyecto

ComenzarVisual Studio.Net y cree una nueva aplicación de consola. Este ejemplo mostrará una aplicación de consola C#, pero también puede usar VB.NET.

  1. Añadir referencias
  2. Agregue una referencia al componente Aspose.Cells a su proyecto, por ejemplo, agregue una referencia a …\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll

Extraer objetos OLE

El siguiente código hace el trabajo real de encontrar y extraer objetos OLE. Los objetos OLE (archivos DOC, XLS y PDF) se guardan en el disco.

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