Çalışma Kitabından OLE Nesneleri Çıkarma

Bir Çalışma Kitabından OLE Nesneleri Çıkarma

Bir Şablon Çalışma Kitabı Oluşturma

  1. İlk çalışma sayfasına bir Microsoft Word belgesi, bir Excel çalışma kitabı ve bir PDF belgesi olarak Ole nesneleri eklendi.
  2. İlk çalışma sayfasına bir Microsoft Word belgesi, bir Excel çalışma kitabı ve bir OLE nesnesi olarak PDF belgesi ekleyin.

OLE Nesnelerini Çıkarın

Aşağıdaki kod, DOCX, XLSX, PPTX ve PDF dosyaları olarak gömülü nesneleri bulma ve çıkarma işlemini gerçekleştirir.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(ExtractOLEObjects.class);
// Instantiating a Workbook object, Open the template file.
Workbook workbook = new Workbook(dataDir + "oleFile.xlsx");
// Get the OleObject Collection in the first worksheet.
OleObjectCollection objects = workbook.getWorksheets().get(0).getOleObjects();
// Loop through all the OleObjects and extract each object in the worksheet.
for (int i = 0; i < objects.getCount(); i++) {
OleObject object = objects.get(i);
// Specify the output filename.
String fileName = "D:/object" + i + ".";
// Specify each file format based on the OleObject format type.
switch (object.getFileFormatType()) {
case FileFormatType.DOCX:
fileName += "docx";
break;
case FileFormatType.XLSX:
fileName += "xlsx";
break;
case FileFormatType.PPTX:
fileName += "pptx";
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 (object.getFileFormatType() == FileFormatType.XLSX) {
byte[] bytes = object.getObjectData();
InputStream is = new ByteArrayInputStream(bytes);
Workbook oleBook = new Workbook(is);
oleBook.getSettings().setHidden(false);
oleBook.save(fileName);
}
// Create the files based on the OleObject format types.
else {
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(object.getObjectData());
fos.close();
}
}

Sonuç: