Excelize v2.9.1
- Версия выпущена: 13 мая 2025 г.
- Выпуск GitHub: https://github.com/xuri/excelize/releases/tag/v2.9.1
Примечания к выпуску
Наиболее заметные изменения в этом выпуске:
Совместимость
- Обновлены требования: версия языка Go должна быть 1.23.0 или выше для обновления зависимого пакета
golang.org/x/crypto - Изменён тип данных для
DataValidationType,DataValidationErrorStyle,DataValidationOperator,PictureInsertTypeсintнаbyte - Функция
SetCellIntтеперь требует параметр типаint64, связанная проблема #2068 - При добавлении объектов рисования, таких как изображения, диаграммы, фигуры и элементы управления формами, настройка смещения больше не будет влиять на размер объекта рисования, связанная проблема #2001
Примечательные особенности
- В тип данных
Chartдобавлены новые поляGapWidthиOverlap - Добавлены новые поля
ShowDataTableиShowDataTableKeysв тип данныхChartPlotArea - В тип данных
ChartAxisдобавлено новое полеAlignment - В тип данных
ChartSeriesдобавлено новое полеDataLabel - Для типа данных
PageLayoutOptionsдобавлено новое полеPageOrder - Добавлены 2 новые экспортируемые переменные ошибок:
ErrPageSetupAdjustToиErrStreamSetColStyle - Добавлены 2 новых экспортируемых перечисления:
HeaderFooterImagePositionTypeиIgnoredErrorsType - Добавлены 2 новых экспортируемых типа данных:
CalcPropsOptionsиHeaderFooterImageOptions - Добавлены 2 новые функции:
SetCalcPropsиGetCalcProps, поддерживающие установку и получение свойств вычислений рабочей книги - Добавлены новые значения перечисления:
CultureNameJaJP,CultureNameKoKRиCultureNameZhTW, которые позволяют применять числовой формат для годов в японском календаре, корейском календаре Данги и году Китайской Республики, связанная проблема #1885 - Добавлена новая функция
AddHeaderFooterImage, позволяющая устанавливать графику в заголовках и нижних колонтитулах, связанная проблема #1395 - Добавлена новая функция
AddIgnoredErrors, поддерживающая игнорирование ошибок для диапазона ячеек, связанная проблема #2046 - Добавлена новая функция
SetColStyleдля стримингового писателя, поддерживающая установку стилей столбцов, связанная проблема #2075 - Функции
AddChartиAddChartSheetтеперь поддерживают установку направления и вращения текста осей графика, связанная проблема #2025 - Функции
AddChartиAddChartSheetтеперь поддерживают установку ширины зазора и перекрытия для столбчатых и диаграмм с горизонтальными столбцами, связанная проблема #2033 - Функции
AddChartиAddChartSheetтеперь поддерживают установку формата метки данных ряда диаграммы, связанная проблема #2052 - Функции
AddChartиAddChartSheetподдерживают установку таблицы данных для диаграммы, связанная проблема #2117 - Функция
AddFormControlподдерживает установку ссылки на ячейку для флажка, связанная проблема #2113 - Функция
SetPageLayoutтеперь поддерживает установку порядка страниц - Функция
DeletePictureтеперь поддерживает удаление изображения, привязанного к ячейке, связанная проблема #2059 - Возвращается ошибка, если значение параметра функции
SetPageLayoutневерно - Добавлена поддержка корректировки проверок данных на нескольких листах, связанная проблема #2072
- Добавлена поддержка применения числового формата с символом решётки и заполнителем для нулей, связанная проблема #2058
- Добавлена поддержка применения числового формата с символом
? - Поддержка вставки объекта чертежа привязки одной ячейки при указании позиционирования "oneCell", связанная проблема #2002
Исправление ошибок
- Исправлена регрессия в версии 2.9.0, при которой рабочая книга, созданная с помощью стримингового писателя, повреждалась при открытии, связанная проблема #2015
- Исправлено избыточное создание заливки типа none, связанная проблема #2014
- Исправлено отсутствие вертикальных и горизонтальных стилей границ в некоторых случаях, связанная проблема #2048
- Исправлена проблема с отсутствием стилей границ в условном форматировании в некоторых случаях, связанная проблема #2061
- Исправлена паника при получении сводных таблиц в некоторых случаях, решены проблемы #1954 и #2051
- Исправлена функция
GetStyle, которая не могла получить форматVertAlign - Исправлено некорректное вычисление подвыражений в функции
CalcCellValueв некоторых случаях, связанная проблема #2083 - Исправлено неправильное удаление изображений в некоторых случаях, вызванное ошибкой определения ссылок на изображения
- Исправлена проблема, при которой стиль по умолчанию для ячейки не заменялся ненулевым стилем строки, установленным с помощью стримингового писателя
- Исправлено избыточное создание элемента
colsстриминговым писателем - Исправлена ошибка с паникой при установке шрифта заголовка диаграммы, связанная проблема #2102
- Исправлена паника при удалении цепочки калькуляторов в некоторых случаях
- Исправлен неверный результат расчета формулы, вызванный ошибкой анализа общей формулы, связанная проблема #2056
- Исправление поврежденной рабочей книги, созданной, когда размер внутреннего файла ZIP64 превышает 4 ГБ
- Исправлена ошибка имени листа в определенном имени после переименования листа, связанная проблема #2126
Оптимизация производительности
- Использована библиотека глубокого копирования
github.com/tiendc/go-deepcopy, которая в 3 раза быстрее, вместоgithub.com/mohae/deepcopy, связанная проблема #2029 - Исправление снижения производительности в версии 2.9.0, уменьшение выделения памяти для значений ячеек обрезки для пустых ячеек
- Улучшена производительность для расчета формулы, когда формула содержит ссылку на целый столбец и строку
- Ускорение итератора строк примерно на 20%, сокращение выделения памяти примерно на 10%
Другие
- Обновлен модуль зависимостей
- Унитарные тесты и godoc обновлены
- Сайт документации с многоязычностью: арабский, немецкий, английский, испанский, французский, итальянском, японский, корейский, португальский, русский, китайский упрощенный и китайский традиционный, который был обновлен.
- excelize-wasm Обновление выпуска пакета NPM для поддержки WebAssembly / JavaScript
- excelize Обновление выпуска пакета PyPI для Python
Спасибо
Спасибо всем участникам Excelize. Ниже приведен список участников, внесших свой код в эту версию:
- @wushiling50
- @imirkin (Ilia Mirkin)
- @Juneezee (Eng Zer Jun)
- @Arpelicy
- @zhuhaicity (ZhuHaiCheng)
- @xxf0512 (xxf)
- @gypsy1234
- @mengpromax (MengZhongYuan)
- @hly-717
- @kurtinge (Kurt Inge Smådal)
- @IvanHristov98 (Ivan Hristov)
- @artur-chopikian (Artur Chopikian)
- @romanshevelev (Roman Shevelev)
- @LZCZ
- @hm3248
- @moisespsena (Moises P. Sena)
- @paolobarbolini (Paolo Barbolini)
- @timesince
- @shcabin
- @tgulacsi (Tamás Gulácsi)
- @R3dByt3 (R3dByt3)
- @Now-Shimmer