Excelize v2.9.1
- Версия выпущена: 13 мая 2025 г.
- Выпуск GitHub: https://github.com/xuri/excelize/releases/tag/v2.9.1
Примечания к выпуску
Наиболее заметные изменения в этом выпуске:
Совместимость
- Обновлены требования: версия языка Go должна быть 1.23 или выше для обновления зависимого пакета
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