Public API Changes in Aspose.Cells 8.6.0

Added APIs

Support for Metadata Manipulation Without Creating an Object of Workbook

This release of Aspose.Cells for Java API has exposed two new classes namely WorkbookMetadata & MetadataOptions along with a new enumeration MetadataType that now allows manipulating the document properties (metadata) without creating an instance of Workbook. The WorkbookMetadata class is lightweight and provides a very easy‑to‑use, efficient mechanism to read, write & update document properties without impacting the overall performance.

Following is the simple usage scenario.

Java

 //Open Workbook metadata while specifying the appropriate MetadataType

MetadataOptions options = new MetadataOptions(MetadataType.DOCUMENT_PROPERTIES);

WorkbookMetadata metaWorkbook = new WorkbookMetadata("sample.xlsx", options);

//Set some properties

metaWorkbook.getCustomDocumentProperties().add("test", "test");

//Save the metadata information to the spreadsheet file

metaWorkbook.save(filePath);

Added HtmlSaveOptions.ExportFrameScriptsAndProperties Property

Aspose.Cells for Java 8.6.0 has exposed the HtmlSaveOptions.ExportFrameScriptsAndProperties property that can be used to influence the creation of additional scripts while converting the spreadsheets to HTML format. With default settings, the Aspose.Cells APIs export the spreadsheet in HTML format as the Excel application does; the resultant HTML contains the frames and conditional comments that detect the browser type and adjust the layout accordingly. The default value of HtmlSaveOptions.ExportFrameScriptsAndProperties property is true, which means the export is done as per Excel standards. If the property is set to false, the API will not generate the scripts related to the frames and conditional comments. In this case, the resultant HTML can be viewed correctly in any browser; however, it cannot be imported back using Aspose.Cells APIs.

Following is the simple usage scenario.

Java

 //Load the spreadsheet

Workbook book = new Workbook(filePath);

//Disable exporting frame scripts and document properties

HtmlSaveOptions options = new HtmlSaveOptions();

options.setExportFrameScriptsAndProperties(false);

//Save spreadsheet as HTML

book.save("output.html", options);

Added Shape.MacroName Property

Aspose.Cells for Java 8.6.0 has exposed the Shape.MacroName property that can be used to assign a VBA module to a form control such as a Button in order to provide the interaction. The property is of type String; therefore, it can accept the module name and assign it to the control.

Following is the simple usage scenario.

Java

 //Create a new Workbook object

Workbook workbook = new Workbook();

//Get the instance of first default worksheet

Worksheet sheet = workbook.getWorksheets().get(0);

//Add a new module to the first worksheet

int moduleIdx = workbook.getVbaProject().getModules().add(sheet);

//Get the instance of newly added module

VbaModule module = workbook.getVbaProject().getModules().get(moduleIdx);

//Add module code

module.setCodes("Sub ShowMessage()" + "\r\n" +

        "    MsgBox \"Welcome to Aspose!\"" + "\r\n" +

        "End Sub");

//Create a new button to the worksheet and set its various properties

Button button = (Button) sheet.getShapes().addShape(MsoDrawingType.BUTTON, 2, 0, 2, 0, 28, 80);

button.setPlacement(PlacementType.FREE_FLOATING);

button.getFont().setName("Tahoma");

button.getFont().setBold(true);

button.getFont().setColor(Color.getBlue());

button.setText("Aspose");

//Assign the newly added module to the button

button.setMacroName(module.getName() + ".ShowMessage");

//Save the spreadsheet in XLSM format

workbook.save("output.xlsm");

Added OoxmlSaveOptions.UpdateZoom Property

With the release of v8.6.0, the Aspose.Cells for Java API has exposed the OoxmlSaveOptions.UpdateZoom property that can be used to update the PageSetup.Zoom if PageSetup.FitToPagesWide and/or PageSetup.FitToPagesTall properties have been used to control the worksheet scaling.