Excelize v2.7.0
- Lançado em: 9 de janeiro de 2023
- Lançamento do GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
Notas de versão
As mudanças mais notáveis nesta versão são:
Quebrando mudanças
- Requisitos de atualização A versão da linguagem Go é 1.16 ou posterior, para migração do pacote obsoleto
ioutil - Verificando e retornando erro para nome de planilha inválido em vez de cortar caracteres inválidos
- A função
GetCellStylenão retorna mais o estilo de célula mestre do intervalo de células mescladas - Renomeie 5 tipos de dados exportados e constante de erro:
- Renomear A
PivotTableOptionparaPivotTableOptions - Renomear A
FormatHeaderFooterparaHeaderFooterOptions - Renomear A
FormatSheetProtectionparaSheetProtectionOptions - Renomear A
SparklineOptionparaSparklineOptions - Renomear A
ErrExistsWorksheetparaErrExistsSheet
- Renomear A
- Remova 54 tipos exportados:
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,ZeroHeighteZoomScale - Remova 2 constantes exportadas:
OrientationPortraiteOrientationLandscape - Altere a assinatura de 21 funções:
- Mude o
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorparafunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - Mude o
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorparafunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - Mude o
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorparafunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - Mude o
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorparafunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - Mude o
func (f *File) GetSheetIndex(sheet string) intparafunc (f *File) GetSheetIndex(sheet string) (int, error) - Mude o
func (f *File) SetSheetName(source, target string)parafunc (f *File) SetSheetName(source, target string) error - Mude o
func (f *File) GetSheetVisible(sheet string) boolparafunc (f *File) GetSheetVisible(sheet string) (bool, error) - Mude o
func (f *File) DeleteSheet(sheet string)parafunc (f *File) DeleteSheet(sheet string) error - Mude o
func (f *File) NewSheet(sheet string) intparafunc (f *File) NewSheet(sheet string) (int, error) - Mude o
func (f *File) NewConditionalStyle(style string) (int, error)parafunc (f *File) NewConditionalStyle(style *Style) (int, error) - Mude o
func (f *File) NewStyle(style interface{}) (int, error)parafunc (f *File) NewStyle(style *Style) (int, error) - Mude o
func (f *File) AddChart(sheet, cell, opts string, combo ...string) errorparafunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - Mude o
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorparafunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - Mude o
func (f *File) AddShape(sheet, cell, opts string) errorparafunc (f *File) AddShape(sheet, cell string, opts *Shape) error - Mude o
func (f *File) AddPicture(sheet, cell, picture, format string) errorparafunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - Mude o
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) errorparafunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error - Mude o
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorparafunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - Mude o
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorparafunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - Mude o
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorparafunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - Mude o
func (f *File) SetPanes(sheet, panes string) errorparafunc (f *File) SetPanes(sheet string, panes *Panes) error - Mude o
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorparafunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Mude o
- Introduza uma nova função em vez das funções existentes:
- Usando
SetSheetPropsem vez deSetSheetPrOptionseSetSheetFormatPr - Usando
GetSheetPropsem vez deGetSheetPrOptionseGetSheetFormatPr - Usando
SetSheetViewem vez deSetSheetViewOptions - Usando
GetSheetViewem vez deGetSheetViewOptions - Usando
SetWorkbookPropsem vez deSetWorkbookPrOptions - Usando
GetWorkbookPropsem vez deGetWorkbookPrOptions - Usando
InsertRowsem vez deInsertRowpara suporte à inserção de várias linhas de uma vez - Usando
InsertColsem vez deInsertColpara suporte à inserção de múltiplas colunas de uma só vez
- Usando
- Adicione
CellTypeFormula,CellTypeInlineString,CellTypeSharedStringe removaCellTypeStringna enumeração deCellType - O parâmetro foi alterado para a função
AddComment, suporte para criação de rich text em comentários, problema relacionado #1204 - Remova a impressão do log de erros internos, um erro será retornado quando o XML desserializar o erro, adicione o valor de retorno de erro para as funções
GetComments,GetDefaultFonteSetDefaultFont
Recursos notáveis
- Adicione novas funções
GetDataValidationseGetConditionalFormatspara obter validações de dados e formatos condicionais, problema relacionado #827 - Adicione novas funções
ProtectWorkbookeUnprotectWorkbookpara suporte à proteção de pasta de trabalho - Adicionada nova função
SetSheetColpara definir células de colunas da planilha, problema relacionado #1247 - Adicionada nova função
GetColStylepara obter estilos de coluna, problema relacionado #1293 - Adicionada nova função
SetSheetBackgroundFromBytespara definir a imagem de fundo por dados de imagem fornecidos, problema relacionado #1405 - Adicionar nova variável de exportação
IndexedColorMapping - Adicione 20 tipos de exportação:
AutoFilterListOptions,AutoFilterOptions,Chart,ChartAxis,ChartDimension,ChartLegend,ChartLine,ChartMarker,ChartPlotArea,ChartSeries,ChartTitle,ConditionalFormatOptions,PaneOptions,Panes,GraphicOptions,Shape,ShapeColor,ShapeLine,ShapeParagrapheTableOptions - Novas funções de fórmula com suporte para 2: AGGREGATE e SUBTOTAL
- As funções
Save,WriteeWriteToagora aceitam opções de salvamento, problema relacionado #744 - A função
AddChartsuporta especificar se a linha suave do gráfico de linhas, problema relacionado #1290 - A função
AddChartsuporta definir cores de linha personalizadas nos gráficos, problema relacionado #1345 - A função
AddChartsuporta estilo de fonte de eixo de gráfico personalizado, problema relacionado #320 - A função
AddChartsuporta a criação de gráfico de linhas 3D - As funções
SetColWidth,GetColWidth,SetColVisible,GetColVisible,SetColStyleeGetColStyleagora suportam simultaneidade segura - Um erro será retornado ao definir o ID de estilo inexistente, problema relacionado #1323
- Um erro será retornado ao definir a linha do fluxo sem números de linha ascendentes, para evitar possíveis erros, problema relacionado #1139
- O gravador de fluxo aplicará o estilo em
RowOptspara cada célula, problema relacionado #1354 - O suporte do gravador de fluxo para definir painéis, problema relacionado #1047
- O suporte do gravador de fluxo para definir células de rich text embutidas
- O suporte do gravador de fluxo para inserir a quebra de página
- Novos 7 erros exportados:
ErrUnprotectWorkbook,ErrUnprotectWorkbookPassword,ErrStreamSetPanes,ErrSheetNameBlank,ErrSheetNameInvalid,ErrSheetNameLengtheErrSheetNameSingleQuotehas been added - Apresente cinco novos tipos de dados de exportação:
HeaderFooterOptions,PageLayoutMarginsOptions,PageLayoutOptions,SheetPropsOptions, eViewOptions - Suporte para definir colunas de resumo para aparecerem à direita dos detalhes em um esboço
- Suporte para definir e obter a cor da fonte com tema e tonalidade, problema relacionado #1369
- Suporte para obter o valor da célula que contém uma data no formato ISO 8601
- Suporte definido e obtenha cor da fonte com cor indexada
- Suporta atualização de estilo de coluna ao inserir ou excluir colunas
- TA função
Fecharda pasta de trabalho agora suporta arquivos temporários do gravador de fluxo de limpeza - A função
AddPictureagora permite inserir imagens no formato SVG
Melhore a compatibilidade
- O gravador de fluxo grava o tipo de string embutido para o valor da célula de string, problema relacionado #1377
- Ignore linhas vazias ao salvar a planilha para reduzir o tamanho do arquivo, problema relacionado #1383
Correções de bugs
- Corrigir problema de arredondamento de formato de número decimal com formato de número integrado, resolver o problema #1328, #1368 e #1373
- Corrigir problema de aplicação de formato de número AM/PM em alguns casos, resolver o problema #1338
- Corrija o pânico ao excluir comentários causado por limites de fatia fora do intervalo, resolver o problema #1343
- Corrija o pânico ao obter o valor da célula em alguns casos, resolver o problema #1384 e #1415
- Corrigir problema de análise de formato de número padrão com uma longa sequência de dígitos, resolver o problema #1360
- Corrigir a criação de uma planilha com nome vazio, causando um arquivo corrompido, resolver o problema #1361
- Corrigir o conteúdo da imagem que estava vazio após inserir a imagem
- Correção de geração de corrupção da pasta de trabalho após inserir colunas/linhas em alguns casos
- Exclua a fórmula compartilhada na cadeia de cálculo ao escrever uma célula de fórmula, para corrigir a geração de corrupção da pasta de trabalho em alguns casos
- Normalize o nome da planilha para corrigir a regressão de comportamento entre 2.6.0 e 2.6.1, resolver o problema #1365
- Corrija o problema do resultado do cálculo da fórmula da função
OR - Corrigir erro ao inserir colunas ou linhas na planilha que contém um intervalo de células mescladas
- Corrigir erro ao obter o intervalo de células mescladas na planilha que contém um intervalo de células mescladas
- Corrigida a obtenção de valores de células rich text incompletos em alguns casos
- Escape de caracteres XML para o gravador de fluxo evitar arquivos corrompidos, resolver o problema #1391
- Corrigir erro de resultado da função de fórmula ADDRESS com nome de planilha vazio, resolver o problema #1396
- Corrigir problema de inserção de imagem em alguns casos, resolver o problema #1404
Otimização de performance
- Melhore o desempenho da fusão de células do gravador de fluxo, reduza o custo do tempo em mais de 90% e reduza o uso de memória em cerca de 86%, no máximo
- Melhorando o desempenho da função
SetRowdo gravador de fluxo, reduz o uso de memória e acelera cerca de 19%
Diversas
- O módulo de dependências foi atualizado
- Testes unitários e godoc atualizados
- Usando o nome especializado em variáveis e funções
- Site de documentação multilíngue: árabe, alemão, espanhol, inglês, francês, russo, chinês, japonês e coreano, que foi atualizado
Obrigado
Obrigado a todos os colaboradores do Excelize. Abaixo está uma lista de contribuidores que possuem contribuições de código nesta versão:
- @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)