Skip to content

Latest commit

 

History

History
154 lines (136 loc) · 14.4 KB

v2.7.0.md

File metadata and controls

154 lines (136 loc) · 14.4 KB

Excelize 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 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 para PivotTableOptions
    • Renomear A FormatHeaderFooter para HeaderFooterOptions
    • Renomear A FormatSheetProtection para SheetProtectionOptions
    • Renomear A SparklineOption para SparklineOptions
    • Renomear A ErrExistsWorksheet para ErrExistsSheet
  • 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 e ZoomScale
  • Remova 2 constantes exportadas: OrientationPortrait e OrientationLandscape
  • Altere a assinatura de 21 funções:
    • Mude ofunc (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error para func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
    • Mude ofunc (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error para func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
    • Mude ofunc (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error para func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
    • Mude ofunc (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error para func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
    • Mude ofunc (f *File) GetSheetIndex(sheet string) int para func (f *File) GetSheetIndex(sheet string) (int, error)
    • Mude ofunc (f *File) SetSheetName(source, target string) para func (f *File) SetSheetName(source, target string) error
    • Mude ofunc (f *File) GetSheetVisible(sheet string) bool para func (f *File) GetSheetVisible(sheet string) (bool, error)
    • Mude ofunc (f *File) DeleteSheet(sheet string) para func (f *File) DeleteSheet(sheet string) error
    • Mude ofunc (f *File) NewSheet(sheet string) int para func (f *File) NewSheet(sheet string) (int, error)
    • Mude ofunc (f *File) NewConditionalStyle(style string) (int, error) para func (f *File) NewConditionalStyle(style *Style) (int, error)
    • Mude ofunc (f *File) NewStyle(style interface{}) (int, error) para func (f *File) NewStyle(style *Style) (int, error)
    • Mude ofunc (f *File) AddChart(sheet, cell, opts string, combo ...string) error para func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
    • Mude ofunc (f *File) AddChartSheet(sheet, opts string, combo ...string) error para func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
    • Mude ofunc (f *File) AddShape(sheet, cell, opts string) error para func (f *File) AddShape(sheet, cell string, opts *Shape) error
    • Mude ofunc (f *File) AddPicture(sheet, cell, picture, format string) error para func (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
    • Mude ofunc (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error para func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
    • Mude ofunc (f *File) AddTable(sheet, hCell, vCell, opts string) error para func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
    • Mude ofunc (sw *StreamWriter) AddTable(hCell, vCell, opts string) error para func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
    • Mude ofunc (f *File) AutoFilter(sheet, hCell, vCell, opts string) error para func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
    • Mude ofunc (f *File) SetPanes(sheet, panes string) error para func (f *File) SetPanes(sheet string, panes *Panes) error
    • Mude ofunc (f *File) SetConditionalFormat(sheet, reference, opts string) error para func (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
  • Introduza uma nova função em vez das funções existentes:
    • Usando SetSheetProps em vez de SetSheetPrOptions e SetSheetFormatPr
    • Usando GetSheetProps em vez de GetSheetPrOptions e GetSheetFormatPr
    • Usando SetSheetView em vez de SetSheetViewOptions
    • Usando GetSheetView em vez de GetSheetViewOptions
    • Usando SetWorkbookProps em vez de SetWorkbookPrOptions
    • Usando GetWorkbookProps em vez de GetWorkbookPrOptions
    • Usando InsertRows em vez de InsertRow para suporte à inserção de várias linhas de uma vez
    • Usando InsertCols em vez de InsertCol para suporte à inserção de múltiplas colunas de uma só vez
  • Adicione CellTypeFormula, CellTypeInlineString, CellTypeSharedString e remova CellTypeString na enumeração de CellType
  • 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 e SetDefaultFont

Recursos notáveis

  • Adicione novas funções GetDataValidations e GetConditionalFormats para obter validações de dados e formatos condicionais, problema relacionado #827
  • Adicione novas funções ProtectWorkbook e UnprotectWorkbook 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 e TableOptions
  • Novas funções de fórmula com suporte para 2: AGGREGATE e SUBTOTAL
  • As funções Save, Write e WriteTo 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 e GetColStyle 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 e ErrSheetNameSingleQuote has been added
  • Apresente cinco novos tipos de dados de exportação: HeaderFooterOptions, PageLayoutMarginsOptions, PageLayoutOptions, SheetPropsOptions, e ViewOptions
  • 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

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 SetRow do 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)