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

Добавлено свойство MemorySetting для LoadOptions и WorkbookSettings.

Начиная с v8.0.0 Aspose.Cells for .NET мы предоставили параметры использования памяти для улучшения производительности. Свойство MemorySetting теперь доступно в классах LoadOptions и WorkbookSettings.

Пример

Демонстрирует, как читать файл Excel (большого размера) в оптимизированном режиме.

C#

 //Initialize LoadOptions

LoadOptions options = new LoadOptions();

//Set memory preferences

options.MemorySetting = MemorySetting.MEMORY_PREFERENCE;

//Instantiate the Workbook with an object of LoadOptions

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

Демонстрирует, как записать большой набор данных на лист в оптимизированном режиме.

C#

 //Instantiate a new Workbook

Workbook book = new Workbook();

//Set the memory preferences for WorkbookSettings

book.Settings.MemorySetting = 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 стали оболочкой вышеперечисленных свойств.

Пример

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

C#

 //..

row1.Equals(row2);


cell1.Equals(cell2);

//..

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

Пример

Например, следующий фрагмент кода будет возвращать недействительные результаты при использовании версии 8.0.0 и выше.

C#

 Cell cell = cells["A2"];

Console.WriteLine(cell.Name + ":" + cell.Value);

cells.InsertRange(CellArea.CreateCellArea("A1", "A1"), ShiftType.DOWN);

Console.WriteLine(cell.Name + ":" + cell.Value);

В новой версии объект Cell станет недействительным или будет ссылаться на ячейку A2 с нежелательным значением. Чтобы избежать такой ситуации, необходимо снова получить объекты Row или Cell из коллекции ячеек, чтобы получить правильный результат.

C#

 Cell cell = cells["A2"];

Console.WriteLine(cell.Name + ":" + cell.Value);

cells.InsertRange(CellArea.CreateCellArea("A1", "A1"), ShiftType.DOWN);

//Fetch the cell reference again

Cell cell = cells["A3"];

Console.WriteLine(cell.Name + ":" + cell.Value);

Изменено поведение метода Cell.StringValue

В предыдущих версиях специальный шаблон _ игнорировался при форматировании значений ячеек, в то время как специальный символ * всегда приводил к одному символу в отформатированном результате. С этой версии мы изменили логику обработки специальных символов _ и * для того, чтобы сформированный результат совпадал с поведением приложения Excel. Например, пользовательский формат ячейки “_($* #,##0.00_)” использовался для представления значения 123 и давал результат “$ 123.00”. В новых версиях Cell.StringValue будет содержать результат “$123.00”, что соответствует поведению приложения Excel при копировании ячейки в текст или экспорте в CSV.

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

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

Добавлено свойство ShowFormulas для Worksheet

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

Добавлена константа Ooxml к классу FileFormatType

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

Устарел класс FilterColumnCollection AutoFilter

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

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

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