Aspose.Cells 8.0.0中的公共API更改

将MemorySetting添加到LoadOptions和WorkbookSettings

从Aspose.Cells for Java v8.0.0开始,我们提供了内存使用选项以进行性能考虑。MemorySetting属性现在在LoadOptions和WorkbookSettings类中可用。

示例

演示如何在优化模式下读取大型Excel文件。

Java

 //Initialize LoadOptions

LoadOptions options = new LoadOptions();

//Set memory preferences

options.setMemorySetting(MemorySetting.MEMORY_PREFERENCE);

//Instantiate the Workbook with an object of LoadOptions

Workbook book = new Workbook(myDir + "large.xlsx", options);

演示如何在优化模式下将大型数据集写入工作表。

Java

 //Instantiate a new Workbook

Workbook book = new Workbook();

//Set the memory preferences for WorkbookSettings

book.getSettings().setMemorySetting(MemorySetting.MEMORY_PREFERENCE);

//Input large data into the cells

//.........

Row和Cell的实现发生了变化

在之前的版本中,Row和Cell对象被保留在内存中,以表示工作表中对应的行和单元格。每当检索**RowCollection[int index]Cells[int row, int column]**时,都会返回相同的实例。出于内存性能的考虑,现在将仅保存Row和Cell的属性和数据在内存中。因此,Row和Cell对象现在变成了前述属性的包装器。

示例

演示如何从现在开始比较单元格对象和行对象。

Java

 //..

row1.equals(row2);


cell1.equals(cell2);

//..

因为Row和Cell对象是根据调用实例化的,它们将不会被Cells组件保持和管理在内存中。因此,在一些插入和删除操作之后,Row和Column索引可能没有更新,甚至更糟糕的是,这些对象变得无效。

示例

例如,以下代码片段将在8.0.0及以上版本中返回无效结果,

Java

 Cell cell = cells.get("A2");

System.out.println(cell.getName() + ":" + cell.getValue());

cells.insertRange(CellArea.createCellArea("A1", "A1"), ShiftType.DOWN);

System.out.println(cell.getName() + ":" + cell.getValue());

使用新版本,Cell对象将变得无效或引用A2的一些不需要的值。为了避免这种情况,重新从cell集合中获取Row或Cell对象以检索正确的结果。

Java

 Cell cell = cells.get("A2");

System.out.println(cell.getName() + ":" + cell.getValue());

cells.insertRange(CellArea.createCellArea("A1", "A1"), ShiftType.DOWN);

//Fetch the cell reference again

Cell cell = cells.get("A3");

System.out.println(cell.getName() + ":" + cell.getValue());

Cell.StringValue的行为已更改

在以前的版本中,在格式化单元格值时,特殊模式_会被忽略,而特殊字符总是会产生一个字符到格式化结果中。从这个版本开始,我们已经改变了处理特殊字符_和的逻辑,以使格式化结果与Excel应用程序相同。例如,自定义单元格格式"_($* #,##0.00_)“用于表示值123时,产生结果”$ 123.00"。在新版本中,Cell.StringValue将包含结果"$123.00",这与在将单元格复制到文本或导出到CSV时Excel应用程序展现的行为相同。

添加了CreatedTime到PdfSaveOptions

现在用户可以在使用PdfSaveOptions类保存电子表格为PDF时获取或设置PDF创建时间。

向Worksheet添加了ShowFormulas

从现在开始,用户可以使用Worksheet提供的布尔属性ShowFormulas来在给定工作表的公式和值之间切换视图。

添加了Ooxml到FileFormatType

为FileFormatType类添加了一个新的常量Ooxml,用来表示加密的Office开放XML文件,比如XLSX、DOCX、PPTX等。

已过时FilterColumnCollection的AutoFilter

使用Aspose.Cells for Java,getFilterColumnCollection方法已被标记为过时。建议改用AuotFilter.getFilterColumns方法。

用SeriesCollection.SecondCategoryData替换了SeriesCollection.SecondCatergoryData

我们基本上纠正了方法名SeriesCollection.getSecondCatergoryData的拼写错误。您可以从现在开始使用SeriesCollection.getSecondCategoryData方法,而原方法SeriesCollection.getSecondCatergoryData已被标记为过时。