Excelize v2.11.0

Примечания к выпуску

Наиболее заметные изменения в этом выпуске:

Совместимость

  • Обновлены требования: версия языка Go должна быть 1.25.0 или выше для обновления зависимого пакета golang.org/x/net
  • Несовместимые изменения в функциях AddChart, AddChartSheet и AddShape
    • Изменён тип данных поля Title структуры Chart с []RichTextRun на ChartTitle
    • Изменён тип данных поля Line структуры Shape с ShapeLine на LineOptions
    • Переименован тип данных ChartDashType в LineDashType
    • Переименован тип данных ChartLineType в LineType
    • Переименован тип данных ChartLine в LineOptions

Безопасность

  • Добавлена проверка номера строки при чтении листа для предотвращения неограниченного выделения памяти (CVE-2026-54063), связанные предупреждения безопасности #GHSA-h69g-9hx6-f3v4
  • Предотвращение управляемых злоумышленником выделений памяти путём проверки максимального ограничения переполнения номера строки листа (CVE-2026-59161), связанные предупреждения безопасности #GHSA-q5j5-6p94-4gwc
  • Предотвращение паники при получении значения ячейки с недопустимым индексом таблицы общих строк (CVE-2026-59162), связанные предупреждения безопасности #GHSA-fx5j-qcqg-grpf

Примечательные особенности

  • Добавлен новый тип данных ChartTitle
  • Добавлен новый тип данных PivotTableShowValuesAs
  • Добавлено новое перечисление PivotTableShowValuesAsType
  • Добавлены 3 новые экспортируемые переменные ошибок: ErrPivotTableShowValuesAsBaseField, ErrPivotTableShowValuesAsBaseItem и ErrUnsupportedPivotTableShowValuesAsType
  • Добавлено новое поле ShowValuesAs в тип данных PivotTableField
  • Добавлено новое поле SelectedItems в типы данных PivotTableOptions и SlicerOptions
  • Добавлена новая функция AutoFitColWidth для поддержки автоматической подгонки ширины столбцов, связанная проблема #92
  • Функция SetSheetName позволяет переименовывать листы, если в исходных файлах содержатся недопустимые имена, связанная проблема #548
  • Функция CalcCellValue поддерживает критерии с символом подстановки тильда
  • Функция CalcCellValue поддерживает неявное пересечение и исправляет привязку критериев регулярных выражений
  • Функция CalcCellValue поддерживает трёхмерные ссылки на диапазоны между листами, связанная проблема #2303
  • Функция CalcCellValue поддерживает возврат результата вычисления формулы вместе с исходным значением ячейки, связанная проблема #2316
  • Функция AddPivotTable поддерживает проверку наличия одинаковых полей данных в столбцах, строках и полях фильтрации сводной таблицы для предотвращения создания повреждённой книги
  • Функции AddPivotTable и GetPivotTables поддерживают установку и получение способа отображения значений полей данных сводной таблицы, связанная проблема #2340
  • Функции AddPivotTable, AddSlicer, GetPivotTables и GetSlicers поддерживают установку и получение выбранных элементов для сводных таблиц и срезов сводных таблиц, связанная проблема #2154
  • Функции AddChart и AddChartSheet поддерживают задание заголовка диаграммы с помощью формулы
  • Функции AddChart и AddChartSheet поддерживают настройку макета заголовка диаграммы и заголовка оси диаграммы
  • Функции AddChart и AddChartSheet поддерживают настройку формата линии для заголовка диаграммы и заголовка оси диаграммы
  • Функция AddShape поддерживает настройку формата линии фигур
  • Функция NewStyle поддерживает автоматический цвет переднего плана и фона при создании стиля сплошной заливки, если пользовательский цвет не задан

Улучшение совместимости

  • Исправлено отсутствие отображения диаграмм на листах диаграмм в Excel Online и KingSoft WPS™ Office, связанная проблема #2273

Исправление ошибок

  • Исправлена регрессия v2.8.1 #1383
  • Исправлена паника функции AddChart при добавлении диаграммы без серий с заливкой
  • Исправлена паника функции CalcCellValue при недопустимой ссылке на строку в некоторых случаях, решено в #2266
  • Исправлено несоответствие точного текста подстрокам при использовании функции CalcCellValue
  • Исправлена точность вычислений функции CalcCellValue для функций формул BINOM.INV, CHIINV, CHISQ.DIST, IMSECH, IMSQRT и NEGBINOM.DIST
  • Исправлен некорректный результат вычисления функции FREQUENCY в функции CalcCellValue в некоторых случаях
  • Исправлен некорректный результат вычислений функции CalcCellValue при наличии значений ошибок внутри скобок или операторов, решено в #2344
  • Исправлено присвоение функцией AddComment неверного идентификатора автора всем комментариям, когда автор уже присутствует в списке авторов, решено в #2289
  • Исправлена потенциальная взаимоблокировка, связанная с тем, что разблокировщик файла не вызывался перед возвратом ошибки
  • Исправлено некорректное применение пользовательского числового формата с масштабированием по запятой, решено в #2297
  • Исправлена паника при чтении повреждённой книги с недопустимым XML листа через итератор столбцов, решено в #2299
  • Исправлено отсутствие одинарной кавычки при корректировке формул с внешними ссылками
  • Исправлена ошибка расшифровки книг, защищённых гибким шифрованием ECMA-376 с алгоритмом хэширования SHA512 в некоторых случаях, решено в #2328
  • Исправлена ошибка функции SetCellFormula, при которой метаданные общей формулы не очищались при перезаписи обычной формулой, решено в #2337

Оптимизация производительности

  • Снижено потребление памяти при чтении незашифрованных книг, потребление памяти итератором строк сокращено до 85%
  • Оптимизировано преобразование координат и производительность некоторых внутренних функций
    • Выделение памяти функцией ColumnNumberToName сокращено примерно на 90%
    • Выделение памяти функцией CoordinatesToCellName сокращено примерно на 13%
    • Выделение памяти внутренней функцией isNumeric сокращено примерно на 68%

Другие

  • Обновлен модуль зависимостей
  • Унитарные тесты и godoc обновлены
  • Сайт документации с многоязычностью: арабский, немецкий, английский, испанский, французский, итальянском, японский, корейский, португальский, русский, китайский упрощенный и китайский традиционный, который был обновлен.
  • excelize-wasm Обновление выпуска пакета NPM для поддержки WebAssembly / JavaScript
  • excelize Обновление выпуска пакета PyPI для Python
  • ExcelizeCs Обновление выпуска пакета NuGet .Net для C#

Спасибо

Спасибо всем участникам Excelize. Ниже приведен список участников, внесших свой код в эту версию:

  • @Rynzie02 (Rynzie)
  • @jpoz (James Pozdena)
  • @tvso (Tammy)
  • @yyt030 (yyt)
  • @hwo411 (Igor Khodyrev)
  • @JimLee0921 (TuoLee)
  • @zhuyanhuazhuyanhua (zhuhua)
  • @kenny-not-dead (Roman Sergeev)
  • @debugdoctor (Debug Doctor)
  • @Journeyman150 (Vladislav Anisimov)
  • @ivolkoff (Ivan Volkov)
  • @plandem (Andrey G.)
  • @martskins
  • @shcabin
  • @narasaka (Nathanael Tehilla Gunawan)
  • @lawrence3699 (chaoliang yan)
  • @SAY-5 (Sai Asish Y)
  • @noahchiu22 (Noah)
  • @rootsec1 (Abhishek Murthy)
  • @guangxuewu
  • @AdamDrewsTR (Adam Drews)
  • @grmblfrz (Swen Thümmler)
  • @WaterRRabbit
  • @krystophny (Christopher Albert)
  • @Aprax14 (Damiano Scarpellini)
  • @artur-chopikian (Artur Chopikian)
  • @huijian3139 (Jason)

results matching ""

    No results matching ""