package com.aspose.cells.examples.DrawingObjects; import java.io.FileOutputStream; import com.aspose.cells.FileFormatType; import com.aspose.cells.MsoDrawingType; import com.aspose.cells.OleObject; import com.aspose.cells.OleObjectCollection; import com.aspose.cells.Workbook; import com.aspose.cells.examples.Utils; public class ExtractingOLEObjects { public static void main(String[] args) throws Exception { // The path to the documents directory. String dataDir = Utils.getSharedDataDir(ExtractingOLEObjects.class) + "DrawingObjects/"; // Instantiating a Workbook object Workbook workbook = new Workbook(dataDir + "book1.xls"); // Get the OleObject Collection in the first worksheet. OleObjectCollection oles = workbook.getWorksheets().get(0).getOleObjects(); // Loop through all the ole objects and extract each object. in the worksheet. for (int i = 0; i < oles.getCount(); i++) { if (oles.get(i).getMsoDrawingType() == MsoDrawingType.OLE_OBJECT) { OleObject ole = (OleObject) oles.get(i); // Specify the output filename. String fileName = dataDir + "tempBook1ole" + i + "."; // Specify each file format based on the oleformattype. switch (ole.getFileFormatType()) { case FileFormatType.DOC: fileName += "doc"; break; case FileFormatType.EXCEL_97_TO_2003: fileName += "Xls"; break; case FileFormatType.PPT: fileName += "Ppt"; break; case FileFormatType.PDF: fileName += "Pdf"; break; case FileFormatType.UNKNOWN: fileName += "Jpg"; break; default: fileName += "data"; break; } FileOutputStream fos = new FileOutputStream(fileName); byte[] data = ole.getObjectData(); fos.write(data); fos.close(); } } } }