Aspose.Cells 8.4.0 中的公共 API 变更
添加的 API
修改电子表格中的 VBA/Macro 代码的机制
为了提供[VBA/Macro Code Manipulation]功能,Aspose.Cells for Java 8.4.0已经在com.aspose.cells.Vba包中暴露了一系列新的类和属性。以下是这些新类的一些重要细节。
- 可以使用 VbaProject 类从给定的电子表格中获取 VBA 项目。
- VbaModuleCollection类表示给定VbaProject的VBA模块集合。
- VbaModule类表示来自VbaModuleCollection的单个模块。
以下代码片段显示了如何动态修改VBA代码段。
Java
Workbook workbook = new Workbook("source.xlsm");
//Change the VBA Module Code
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for(int i=0; i < modules.getCount(); i++)
{
VbaModule module = modules.get(i);
String code = module.getCodes();
//Replace the original message with the modified message
if (code.contains("This is test message."))
{
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
//Save the output Excel file
workbook.save("output.xlsm");
删除数据透视表的能力
Aspose.Cells for Java 8.4.0已经为PivotTableCollection暴露了两种方法,用于从给定的电子表格中移除数据透视表。上述方法的详细信息如下。
- PivotTableCollection.remove方法接受一个PivotTable对象,并从集合中删除它。
- PivotTableCollection.removeAt方法接受基于零的整数值,从集合中删除特定的PivotTable。
以下代码片段显示了如何使用上述两种方法删除数据透视表。
Java
//Create workbook object from source Excel file
Workbook workbook = new Workbook("source.xlsx");
//Access the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Access the first pivot table object
PivotTable pivotTable = worksheet.getPivotTables().get(0);
//Remove pivot table using pivot table object
worksheet.getPivotTables().remove(pivotTable);
//Remove pivot table using pivot table position
worksheet.getPivotTables().removeAt(0);
//Save the workbook
workbook.save("output.xlsx");
不同数据透视表布局的支持
Aspose.Cells for Java 8.4.0为数据透视表提供了不同预定义布局的支持。为了提供这个功能,Aspose.Cells APIs已经为PivotTable类暴露了三种方法,如下所述。
- PivotTable.showInCompactForm方法以紧凑布局呈现数据透视表。
- PivotTable.showInOutlineForm方法以大纲布局呈现数据透视表。
- PivotTable.showInTabularForm方法以表格布局呈现数据透视表。
以下示例代码为数据透视表设置不同的布局,并将结果保存到磁盘。
Java
//Create workbook object from source excel file
Workbook workbook = new Workbook("source.xlsx");
//Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Access first pivot table
PivotTable pivotTable = worksheet.getPivotTables().get(0);
//1 - Show the pivot table in compact form
pivotTable.showInCompactForm();
//Refresh the pivot table
pivotTable.refreshData();
pivotTable.calculateData();
//Save the output
workbook.save("CompactForm.xlsx");
//2 - Show the pivot table in outline form
pivotTable.showInOutlineForm();
//Refresh the pivot table
pivotTable.refreshData();
pivotTable.calculateData();
//Save the output
workbook.save("OutlineForm.xlsx");
//3 - Show the pivot table in tabular form
pivotTable.showInTabularForm();
//Refresh the pivot table
pivotTable.refreshData();
pivotTable.calculateData();
//Save the output
workbook.save("TabularForm.xlsx");
添加了Class TxtLoadStyleStrategy和Property TxtLoadOptions.LoadStyleStrategy
Aspose.Cells for Java 8.4.0已经为TxtLoadStyleStrategy类和TxtLoadOptions.LoadStyleStrategy属性暴露,以指定在将字符串值转换为数字或日期时间时格式化解析的策略。
添加了DataBar.ToImage方法
发布v8.4.0时,Aspose.Cells API提供了DataBar.toImage方法,以将有条件格式的DataBar保存为图像格式。DataBar.toImage方法接受两个详细参数。
- 第一个参数是已应用条件格式的com.aspose.cells.Cell类型。
- 第二个参数的类型为com.aspose.cells.rendering.ImageOrPrintOptions,以设置结果图像的不同参数。
以下示例代码演示了DataBar.toImage方法的用法,将DataBar呈现为图像格式。
Java
//Create workbook object from source excel file
Workbook workbook = new Workbook("source.xlsx");
//Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Access the cell which contains conditional formatting databar
Cell cell = worksheet.getCells().get("C1");
//Get the conditional formatting of the cell
FormatConditionCollection fcc = cell.getFormatConditions();
//Access the conditional formatting databar
DataBar dbar = fcc.get(0).getDataBar();
//Create image or print options
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.setImageFormat(ImageFormat.getPng());
//Get the image bytes of the databar
byte[] imgBytes = dbar.toImage(cell, opts);
//Write image bytes on the disk
FileOutputStream out = new FileOutputStream("databar.png");
out.write(imgBytes);
out.close();
添加了 Border.ThemeColor 属性
Aspose.Cells APIs允许从电子表格中提取与主题相关的数据。随着Aspose.Cells for Java 8.4.0的发布,API已经暴露了Border.ThemeColor属性,可用于检索单元格边框的主题颜色属性。
添加了 DrawObject.ImageBytes 属性
Aspose.Cells for Java 8.4.0已经暴露了DrawObject.ImageBytes属性,用于从图表或形状中获取图像数据。
添加了 HtmlSaveOptions.ExportBogusRowData 属性
Aspose.Cells for Java 8.4.0已经提供了{HtmlSaveOptions.ExportBogusRowData}}属性。布尔类型属性确定API在将电子表格导出为HTML格式时是否注入伪造底部行数据。
以下示例代码说明了上述属性的用法。
Java
//Create an object of HtmlSaveOptions class
HtmlSaveOptions options = new HtmlSaveOptions();
//Set the ExportBogusRowData to true
options.ExportBogusRowData = true;
//Create workbook object from source excel file
Workbook workbook = new Workbook("source.xlsx");
//Save the workbook
workbook.save("output.xlsx");
添加了 HtmlSaveOptions.CellCssPrefix 属性
新添加的属性HtmlSaveOptions.CellCssPrefix允许在将电子表格导出为HTML格式时设置CSS文件的前缀。
弃用的API
弃用的Cells.getCellByIndex和Row.getCellByIndex方法
请使用getEnumerator方法来迭代所有单元格。
弃用的DrawObject.Image Property
请改用DrawObject.ImageBytes属性获取图像数据。