- Lançado em: 9 de janeiro de 2023
- Lançamento do GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
As mudanças mais notáveis nesta versão são:
- 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
GetCellStyle
nã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
PivotTableOption
paraPivotTableOptions
- Renomear A
FormatHeaderFooter
paraHeaderFooterOptions
- Renomear A
FormatSheetProtection
paraSheetProtectionOptions
- Renomear A
SparklineOption
paraSparklineOptions
- Renomear A
ErrExistsWorksheet
paraErrExistsSheet
- 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
,ZeroHeight
eZoomScale
- Remova 2 constantes exportadas:
OrientationPortrait
eOrientationLandscape
- Altere a assinatura de 21 funções:
- Mude o
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
parafunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
- Mude o
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
parafunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
- Mude o
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
parafunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
- Mude o
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
parafunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
- Mude o
func (f *File) GetSheetIndex(sheet string) int
parafunc (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) bool
parafunc (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) int
parafunc (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) error
parafunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
- Mude o
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
parafunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
- Mude o
func (f *File) AddShape(sheet, cell, opts string) error
parafunc (f *File) AddShape(sheet, cell string, opts *Shape) error
- Mude o
func (f *File) AddPicture(sheet, cell, picture, format string) error
parafunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
- Mude o
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error
parafunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
- Mude o
func (f *File) AddTable(sheet, hCell, vCell, opts string) error
parafunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
- Mude o
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
parafunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
- Mude o
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
parafunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
- Mude o
func (f *File) SetPanes(sheet, panes string) error
parafunc (f *File) SetPanes(sheet string, panes *Panes) error
- Mude o
func (f *File) SetConditionalFormat(sheet, reference, opts string) error
parafunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Mude o
- Introduza uma nova função em vez das funções existentes:
- Usando
SetSheetProps
em vez deSetSheetPrOptions
eSetSheetFormatPr
- Usando
GetSheetProps
em vez deGetSheetPrOptions
eGetSheetFormatPr
- Usando
SetSheetView
em vez deSetSheetViewOptions
- Usando
GetSheetView
em vez deGetSheetViewOptions
- Usando
SetWorkbookProps
em vez deSetWorkbookPrOptions
- Usando
GetWorkbookProps
em vez deGetWorkbookPrOptions
- Usando
InsertRows
em vez deInsertRow
para suporte à inserção de várias linhas de uma vez - Usando
InsertCols
em vez deInsertCol
para suporte à inserção de múltiplas colunas de uma só vez
- Usando
- Adicione
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
e removaCellTypeString
na 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
,GetDefaultFont
eSetDefaultFont
- Adicione novas funções
GetDataValidations
eGetConditionalFormats
para obter validações de dados e formatos condicionais, problema relacionado #827 - Adicione novas funções
ProtectWorkbook
eUnprotectWorkbook
para suporte à proteção de pasta de trabalho - Adicionada nova função
SetSheetCol
para definir células de colunas da planilha, problema relacionado #1247 - Adicionada nova função
GetColStyle
para obter estilos de coluna, problema relacionado #1293 - Adicionada nova função
SetSheetBackgroundFromBytes
para 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
,ShapeParagraph
eTableOptions
- Novas funções de fórmula com suporte para 2: AGGREGATE e SUBTOTAL
- As funções
Save
,Write
eWriteTo
agora aceitam opções de salvamento, problema relacionado #744 - A função
AddChart
suporta especificar se a linha suave do gráfico de linhas, problema relacionado #1290 - A função
AddChart
suporta definir cores de linha personalizadas nos gráficos, problema relacionado #1345 - A função
AddChart
suporta estilo de fonte de eixo de gráfico personalizado, problema relacionado #320 - A função
AddChart
suporta a criação de gráfico de linhas 3D - As funções
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
eGetColStyle
agora 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
RowOpts
para 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
,ErrSheetNameLength
eErrSheetNameSingleQuote
has 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
Fechar
da pasta de trabalho agora suporta arquivos temporários do gravador de fluxo de limpeza - A função
AddPicture
agora permite inserir imagens no formato SVG
- 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
- 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
- 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
SetRow
do gravador de fluxo, reduz o uso de memória e acelera cerca de 19%
- 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 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)