Общедоступный API Изменения в Aspose.Cells 8.0.0

Добавлен MemorySetting в LoadOptions и WorkbookSettings

Начиная с версии 8.0.0 версии Aspose.Cells for Java мы предоставили параметры использования памяти для повышения производительности. Свойство 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[целый индекс] или жеCells [целая строка, целая колонка] были извлечены. Из соображений производительности памяти теперь в памяти будут храниться только свойства и данные строки и Cell. Следовательно, объект Row & Cell стал оболочкой вышеупомянутых свойств.

Пример

Демонстрирует, как теперь сравнивать объекты Cell и Row.

Java

 //..

row1.equals(row2);


cell1.equals(cell2);

//..

Поскольку экземпляры объектов Row и Cell создаются в соответствии с вызовом, они не будут храниться и управляться в памяти компонентом Cells. Поэтому после некоторых операций вставки и удаления индексы строк и столбцов могут не обновляться или, что еще хуже, эти объекты становятся недействительными.

Пример

Например, следующий фрагмент кода вернет неверные результаты при использовании версии 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 с каким-то нежелательным значением. Чтобы избежать такой ситуации, снова получите объекты 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 долларов США”, что является тем же поведением, что и приложение Excel при копировании ячейки. в текст или экспортировать на номер CSV.

Добавлено CreatedTime в PdfSaveOptions

Теперь пользователи могут получить или установить время создания PDF при сохранении электронной таблицы в PDF при использовании класса PdfSaveOptions.

Добавлен ShowFormulas на рабочий лист

Отныне пользователи могут использовать логическое свойство ShowFormulas, предлагаемое Worksheet, для переключения представления между формулой и значением данного рабочего листа.

Добавлен Ooxml в FileFormatType

В класс FileFormatType добавлена новая константа Ooxml для представления зашифрованного открытого XML-файла Office, например XLSX, DOCX, PPTX и других.

Устаревшая коллекция FilterColumnCollection для AutoFilter

С номером Aspose.Cells for Java метод getFilterColumnCollection помечен как устаревший. Вместо этого предлагается использовать метод AuotFilter.getFilterColumns.

Заменен SeriesCollection.SecondCategoryData на SeriesCollection.SecondCategoryData.

Мы в основном исправили опечатку в имени метода для SeriesCollection.getSecondCategoryData. Теперь вы можете использовать метод SeriesCollection.getSecondCategoryData, тогда как исходный метод SeriesCollection.getSecondCategoryData был помечен как устаревший.