Excelize v2.7.0

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

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

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

  • Требования к обновлению Языковая версия Go 1.16 или более поздняя, для миграции пакета устаревания ioutil
  • Проверка и возврат ошибки для недопустимого имени листа вместо обрезки недопустимых символов
  • Функция GetCellStyle больше не возвращает стиль главной ячейки диапазона ячеек слияния
  • Переименуйте 5 экспортируемых типов данных и константу ошибки:
    • Переименование PivotTableOption в PivotTableOptions
    • Переименование FormatHeaderFooter в HeaderFooterOptions
    • Переименование FormatSheetProtection в SheetProtectionOptions
    • Переименование SparklineOption в SparklineOptions
    • Переименование ErrExistsWorksheet в ErrExistsSheet
  • Удаление 54 экспортированных типов: AutoPageBreaks, BaseColWidth, BlackAndWhite, CodeName, CustomHeight, Date1904, DefaultColWidth, DefaultGridColor, DefaultRowHeight, EnableFormatConditionsCalculation, FilterPrivacy, FirstPageNumber, FitToHeight, FitToPage, FitToWidth, OutlineSummaryBelow, PageLayoutOption, PageLayoutOptionPtr, PageLayoutOrientation, PageLayoutPaperSize, PageLayoutScale, PageMarginBottom, PageMarginFooter, PageMarginHeader, PageMarginLeft, PageMarginRight, PageMarginsOptions, PageMarginsOptionsPtr, PageMarginTop, Published, RightToLeft, SheetFormatPrOptions, SheetFormatPrOptionsPtr, SheetPrOption, SheetPrOptionPtr, SheetViewOption, SheetViewOptionPtr, ShowFormulas, ShowGridLines, ShowRowColHeaders, ShowRuler, ShowZeros, TabColorIndexed, TabColorRGB, TabColorTheme, TabColorTint, ThickBottom, ThickTop, TopLeftCell, View, WorkbookPrOption, WorkbookPrOptionPtr, ZeroHeight и ZoomScale
  • Удалить 2 экспортированные константы: OrientationPortrait и OrientationLandscape
  • Изменение подписи 21 функций:
    • Изменить func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error на func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
    • Изменить func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error на func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
    • Изменить func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error на func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
    • Изменить func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error на func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
    • Изменить func (f *File) GetSheetIndex(sheet string) int на func (f *File) GetSheetIndex(sheet string) (int, error)
    • Изменить func (f *File) SetSheetName(source, target string) на func (f *File) SetSheetName(source, target string) error
    • Изменить func (f *File) GetSheetVisible(sheet string) bool на func (f *File) GetSheetVisible(sheet string) (bool, error)
    • Изменить func (f *File) DeleteSheet(sheet string) на func (f *File) DeleteSheet(sheet string) error
    • Изменить func (f *File) NewSheet(sheet string) int на func (f *File) NewSheet(sheet string) (int, error)
    • Изменить func (f *File) NewConditionalStyle(style string) (int, error) на func (f *File) NewConditionalStyle(style *Style) (int, error)
    • Изменить func (f *File) NewStyle(style interface{}) (int, error) на func (f *File) NewStyle(style *Style) (int, error)
    • Изменить func (f *File) AddChart(sheet, cell, opts string, combo ...string) error на func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
    • Изменить func (f *File) AddChartSheet(sheet, opts string, combo ...string) error на func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
    • Изменить func (f *File) AddShape(sheet, cell, opts string) error на func (f *File) AddShape(sheet, cell string, opts *Shape) error
    • Изменить func (f *File) AddPicture(sheet, cell, picture, format string) error на func (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
    • Изменить func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error на func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
    • Изменить func (f *File) AddTable(sheet, hCell, vCell, opts string) error на func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
    • Изменить func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error на func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
    • Изменить func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error на func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
    • Изменить func (f *File) SetPanes(sheet, panes string) error на func (f *File) SetPanes(sheet string, panes *Panes) error
    • Изменить func (f *File) SetConditionalFormat(sheet, reference, opts string) error на func (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
  • Введите новую функцию вместо существующих функций:
    • Используйте SetSheetProps вместо SetSheetPrOptions и SetSheetFormatPr
    • Используйте GetSheetProps вместо GetSheetPrOptions и GetSheetFormatPr
    • Используйте SetSheetView вместо SetSheetViewOptions
    • Используйте GetSheetView вместо GetSheetViewOptions
    • Используйте SetWorkbookProps вместо SetWorkbookPrOptions
    • Используйте GetWorkbookProps вместо GetWorkbookPrOptions
    • Используйте InsertRows вместо InsertRow для поддержки одновременной вставки нескольких строк
    • Используйте InsertCols вместо InsertCol для поддержки одновременной вставки нескольких столбцов
  • Добавьте CellTypeFormula, CellTypeInlineString, CellTypeSharedString и удалите CellTypeString в перечислении CellType
  • Параметр был изменен для функции AddComment, поддержка создания форматированного текста в комментариях, связанная проблема #1204
  • Удалите внутреннюю печать журнала ошибок, ошибка будет возвращена при ошибке десериализации XML, добавьте возвращаемое значение ошибки для функций GetComments, GetDefaultFont и SetDefaultFont

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

  • Добавление новых функций GetDataValidations и GetConditionalFormats для получения проверок данных и условных форматов, связанная проблема #827
  • Добавлены новые функции ProtectWorkbook и UnprotectWorkbook для защиты книг
  • Добавление новой функции SetSheetCol для набора ячеек столбцов листа, связанная проблема #1247
  • Добавлена новая функция GetColStyle для получения стилей столбцов, связанная проблема #1293
  • Добавлена новая функция SetSheetBackgroundFromBytes для установки фонового изображения по заданным данным изображения, связанная проблема #1405
  • Добавьте новую экспортную переменную IndexedColorMapping
  • Добавить 20 типов экспорта: AutoFilterListOptions, AutoFilterOptions, Chart, ChartAxis, ChartDimension, ChartLegend, ChartLine, ChartMarker, ChartPlotArea, ChartSeries, ChartTitle, ConditionalFormatOptions, PaneOptions, Panes, GraphicOptions, Shape, ShapeColor, ShapeLine, ShapeParagraph и TableOptions
  • Новые функции поддержки 2 формул: AGGREGATE и SUBTOTAL
  • Функции Save, Write и WriteTo теперь принимают параметры сохранения, связанная проблема #744
  • Поддержка функции AddChart указывает, является ли гладкая линия линейного графика, связанная проблема #1290
  • Функция AddChart поддерживает установку пользовательского цвета линий на графиках, связанная проблема #1345
  • Функция AddChart поддерживает пользовательский стиль шрифта оси диаграммы, связанная проблема #320
  • Функция AddChart поддерживает создание 3D линейной диаграммы
  • Функции SetColWidth, GetColWidth, SetColVisible, GetColVisible, SetColStyle и GetColStyle теперь поддерживают безопасность параллелизма
  • Ошибка будет возвращена при задании несуществующего идентификатора стиля, связанная проблема #1323
  • Ошибка будет возвращена при установке строки потока без возрастающих номеров строк, чтобы избежать возможных ошибок, связанная проблема #1139
  • Модуль записи потока будет применять стиль в RowOpts для каждой ячейки, связанная проблема #1354
  • Поддержка модуля записи потоков для установки панелей, связанная проблема #1047
  • Поддержка модуля записи потоков для установки встроенной ячейки форматированного текста
  • Поддержка записи потока для вставки разрыва страницы
  • Добавлено 7 новых экспортируемых ошибок: ErrUnprotectWorkbook, ErrUnprotectWorkbookPassword, ErrStreamSetPanes, ErrSheetNameBlank, ErrSheetNameInvalid, ErrSheetNameLength и ErrSheetNameSingleQuote
  • Введение 5 новых типов данных экспорта: HeaderFooterOptions, PageLayoutMarginsOptions, PageLayoutOptions, SheetPropsOptions и ViewOptions
  • Поддержка настройки сводных столбцов, чтобы они отображались справа от деталей в структуре
  • Поддержка установки и получения цвета шрифта с темой и оттенком, связанная проблема #1369
  • Поддержка получения значения ячейки, которое содержит дату в формате ISO 8601
  • Установите поддержку и получите цвет шрифта с индексированным цветом
  • Поддержка стиля столбца обновления при вставке или удалении столбцов
  • Функция Close рабочей книги теперь поддерживает очистку временных файлов потоковой записи
  • Функция AddPicture теперь позволяет вставлять изображения в формате SVG

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

  • Модуль записи потока записывает встроенный строковый тип для строкового значения ячейки, связанная проблема #1377
  • Пропускать пустые строки при сохранении электронной таблицы, чтобы уменьшить размер файла, связанная проблема #1383

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

  • Исправлена проблема с круглым форматом десятичных чисел со встроенным числовым форматом, решенная проблема #1328, #1368 и #1373
  • Исправлена проблема с применением номерного формата AM/PM в некоторых случаях, решенная проблема #1338
  • Исправьте панику при удалении комментариев, помещенных границами фрагмента вне диапазона, решенная проблема #1343
  • Исправлена паника при получении значения ячейки в некоторых случаях, решенная проблема #1384 и #1415
  • Исправлена проблема синтаксического анализа номерного формата по умолчанию с длинной строкой цифр, решенная проблема #1360
  • Исправлено создание листа с пустым именем, вызывающего повреждение файла, решенная проблема #1361
  • Исправлено получение содержимого изображения было пустым после вставки изображения
  • Исправьте повреждение книги после вставки cols/rows в некоторых случаях
  • Удалить общую формулу в цепочке вычислений при записи ячейки формулы, чтобы в некоторых случаях исправить повреждение рабочей книги
  • Нормализуйте имя листа, чтобы исправить регрессию поведения между 2.6.0 и 2.6.1, решенная проблема #1365
  • Исправлена проблема с результатом вычисления формулы функции OR
  • Исправить ошибку при вставке столбцов или строк на лист, который содержит одну объединенную ячейку диапазона ячеек
  • Исправлена ошибка при получении диапазона объединенных ячеек на листе, который содержит один объединенный диапазон ячеек
  • Исправлено получение неполного значения ячейки форматированного текста в некоторых случаях
  • Escape-символы XML для потоковой записи, чтобы избежать поврежденного файла, решенная проблема #1391
  • Исправить ошибку результата функции формулы ADDRESS с пустым именем рабочего листа, решенная проблема #1396
  • Исправить проблему со вставкой изображения в некоторых случаях, решенная проблема #1404

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

  • Повышение производительности для объединения ячеек потокового модуля записи, снижение затрат времени более чем на 90% и сокращение использования памяти максимум на 86%
  • Повышение производительности функции записи потоков SetRow, сокращение использования памяти и ускорение примерно на 19%

Другие

  • Обновлен модуль зависимостей
  • Унитарные тесты и godoc обновлены
  • Использование специализированного имени в переменных и функциях
  • Веб-сайт документации с многоязычным: арабский, немецкий, испанский, английский, французский, русский, китайский, японский и корейский языки, который был обновлен

Спасибо

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

  • @cdenicola (Cooper de Nicola)
  • @chenliu1993
  • @davidborry
  • @patsak (Kostya Privezentsev)
  • @dafengge0913
  • @Beeb0p (Artem Tarasenko)
  • @invzhi
  • @zhangzitao (Zitao)
  • @jtwatson (Joseph Watson)
  • @carbin-gun (charles.deng)
  • @harrison3000 (Harrison)
  • @strivek (GaoFei)
  • @gonghaibinx
  • @martinmr (Martin Martinez Rivera)
  • @zclark (Zach Clark)
  • @March0715 (March)
  • @renxiaotu
  • @devloppper
  • @jianxinhou
  • @nesstord
  • @Bayzet (Bayzet Tlyupov)
  • @guoweikuang (郭伟匡)
  • @qinyuguang (Gin)
  • @liron-l (Liron Levin)

results matching ""

    No results matching ""