Excelize v2.7.0
- Rilasciato questo il: Gennaio 9, 2023
- Rilascio di GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
Note di rilascio
Le modifiche più importanti in questa versione sono:
Cambiamento dirompente
- Requisiti di aggiornamento La versione in lingua Go è 1.16 o successiva, per la migrazione del pacchetto deprecato
ioutil - Controllo e restituzione dell'errore per nome foglio non valido invece di tagliare caratteri non validi
- La funzione
GetCellStylenon restituisce più lo stile della cella principale dell'intervallo di celle unificate - Rinominare 5 tipi di dati esportati e costante di errore:
- Rinominare
PivotTableOptioninPivotTableOptions - Rinominare
FormatHeaderFooterinHeaderFooterOptions - Rinominare
FormatSheetProtectioninSheetProtectionOptions - Rinominare
SparklineOptioninSparklineOptions - Rinominare
ErrExistsWorksheetinErrExistsSheet
- Rinominare
- Rimuovi 54 tipi esportati:
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 - Rimuovi 2 costanti esportate:
OrientationPortraiteOrientationLandscape - Cambia la firma di 21 funzioni:
- Cambia l'
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorinfunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - Cambia l'
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorinfunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - Cambia l'
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorinfunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - Cambia l'
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorinfunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - Cambia l'
func (f *File) GetSheetIndex(sheet string) intinfunc (f *File) GetSheetIndex(sheet string) (int, error) - Cambia l'
func (f *File) SetSheetName(source, target string)infunc (f *File) SetSheetName(source, target string) error - Cambia l'
func (f *File) GetSheetVisible(sheet string) boolinfunc (f *File) GetSheetVisible(sheet string) (bool, error) - Cambia l'
func (f *File) DeleteSheet(sheet string)infunc (f *File) DeleteSheet(sheet string) error - Cambia l'
func (f *File) NewSheet(sheet string) intinfunc (f *File) NewSheet(sheet string) (int, error) - Cambia l'
func (f *File) NewConditionalStyle(style string) (int, error)infunc (f *File) NewConditionalStyle(style *Style) (int, error) - Cambia l'
func (f *File) NewStyle(style interface{}) (int, error)infunc (f *File) NewStyle(style *Style) (int, error) - Cambia l'
func (f *File) AddChart(sheet, cell, opts string, combo ...string) errorinfunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - Cambia l'
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorinfunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - Cambia l'
func (f *File) AddShape(sheet, cell, opts string) errorinfunc (f *File) AddShape(sheet, cell string, opts *Shape) error - Cambia l'
func (f *File) AddPicture(sheet, cell, picture, format string) errorinfunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - Cambia l'
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) errorinfunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error - Cambia l'
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorinfunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - Cambia l'
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorinfunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - Cambia l'
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorinfunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - Cambia l'
func (f *File) SetPanes(sheet, panes string) errorinfunc (f *File) SetPanes(sheet string, panes *Panes) error - Cambia l'
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorinfunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Cambia l'
- Introduci una nuova funzione invece delle funzioni esistenti:
- Utilizza
SetSheetPropsinvece diSetSheetPrOptionseSetSheetFormatPr - Utilizza
GetSheetPropsinvece diGetSheetPrOptionseGetSheetFormatPr - Utilizza
SetSheetViewinvece diSetSheetViewOptions - Utilizza
GetSheetViewinvece diGetSheetViewOptions - Utilizza
SetWorkbookPropsinvece diSetWorkbookPrOptions - Utilizza
GetWorkbookPropsinvece diGetWorkbookPrOptions - Utilizza
InsertRowsinvece diInsertRowper supportare l'inserimento di più righe contemporaneamente - Utilizza
InsertColsinvece diInsertColper supportare l'inserimento di più colonne contemporaneamente
- Utilizza
- Aggiungi
CellTypeFormula,CellTypeInlineString,CellTypeSharedStringe rimuoviCellTypeStringnell'enumerazioneCellType - Il parametro è stato modificato per la funzione
AddComment, supporta la creazione di testo ricco nei commenti, problema correlato #1204 - Rimuovi la stampa del registro degli errori interni, verrà restituito un errore quando l'XML deserializza l'errore, aggiungi il valore di ritorno dell'errore per le funzioni
GetComments,GetDefaultFonteSetDefaultFont
Caratteristiche notevoli
- Aggiunte nuove funzioni
GetDataValidationseGetConditionalFormatsper ottenere convalide dei dati e formati condizionali, problema correlato #827 - Aggiunte nuove funzioni
ProtectWorkbookeUnprotectWorkbookper il supporto della protezione delle cartelle di lavoro - Aggiungi la nuova funzione "SetSheetCol" per impostare le celle delle colonne del foglio di lavoro, problema correlato #1247
- Aggiungi la nuova funzione
GetColStyleper ottenere stili di colonna, problema correlato #1293 - Aggiungi la nuova funzione
SetSheetBackgroundFromBytesper impostare l'immagine di sfondo in base ai dati dell'immagine, problema correlato #1405 - Aggiungi la nuova variabile di esportazione
IndexedColorMapping - Aggiungi 20 tipi di esportazione:
AutoFilterListOptions,AutoFilterOptions,Chart,ChartAxis,ChartDimension,ChartLegend,ChartLine,ChartMarker,ChartPlotArea,ChartSeries,ChartTitle,ConditionalFormatOptions,PaneOptions,Panes,GraphicOptions,Shape,ShapeColor,ShapeLine,ShapeParagrapheTableOptions - Nuovo supporto per 2 funzioni formula: AGGREGATE e SUBTOTAL
- Le funzioni
Save,WriteeWriteToora accettano le opzioni di salvataggio, problema correlato #744 - Il supporto della funzione
AddChartspecifica se la linea del grafico a linee è liscia, problema correlato #1290 - La funzione
AddChartsupporta l'impostazione del colore personalizzato della linea nei grafici, problema correlato #1345 - La funzione
AddChartsupporta lo stile del carattere personalizzato dell'asse del grafico, problema correlato #320 - La funzione
AddChartsupporta la creazione di grafici a linee 3D - Le funzioni
SetColWidth,GetColWidth,SetColVisible,GetColVisible,SetColStyleeGetColStyleora supportano la concorrenza sicura - Verrà restituito un errore quando si imposta l'ID di stile inesistente, problema correlato #1323
- Verrà restituito un errore quando si imposta la riga del flusso senza numeri di riga ascendenti, per evitare potenziali errori, problema correlato #1139
- Lo stream writer applicherà lo stile in
RowOptsper ogni cella, problema correlato #1354 - Il supporto dello stream writer per impostare riquadri, problema correlato #1047
- Il supporto dello stream writer per impostare la cella di testo RTF in linea
- Il supporto dello stream writer per inserire l'interruzione di pagina
- Nuovi 7 errori esportati: Sono stati aggiunti
ErrUnprotectWorkbook,ErrUnprotectWorkbookPassword,ErrStreamSetPanes,ErrSheetNameBlank,ErrSheetNameInvalid,ErrSheetNameLengtheErrSheetNameSingleQuote - Introduci 5 nuovi tipi di dati di esportazione:
HeaderFooterOptions,PageLayoutMarginsOptions,PageLayoutOptions,SheetPropsOptionseViewOptions - Supporto per impostare le colonne di riepilogo in modo che vengano visualizzate a destra dei dettagli in una struttura
- Supporto per impostare e ottenere il colore del carattere con tema e tinta, problema correlato #1369
- Supporta l'acquisizione del valore della cella che contiene una data nel formato ISO 8601
- Supporta l'impostazione e ottieni il colore del carattere con il colore indicizzato
- Supporta l'aggiornamento dello stile della colonna durante l'inserimento o l'eliminazione di colonne
- La funzione
Closedella cartella di lavoro ora supporta la pulizia dei file temporanei dello stream writer - La funzione
AddPictureora consente di inserire immagini in formato SVG
Migliora la compatibilità
- Lo scrittore di flussi scrive il tipo di stringa in linea per il valore della cella stringa, problema correlato #1377
- Salta le righe vuote durante il salvataggio del foglio di calcolo per ridurre le dimensioni del file, problema correlato #1383
Correzioni di bug
- Risolto il problema relativo al formato dei numeri decimali con il formato dei numeri integrato, risolvere il problema #1328, #1368 e #1373
- Risolto il problema relativo al formato del numero AM/PM in alcuni casi, risolvere il problema #1338
- Risolvi il panico quando si eliminano i commenti causati da limiti di sezione fuori intervallo, risolvere il problema #1343
- Risolvi il panico quando ottieni il valore della cella in alcuni casi, risolvere il problema #1384 e #1415
- Risolto il problema di analisi del formato numerico predefinito con una lunga stringa di cifre, risolvere il problema #1360
- Risolto il problema con la creazione di un foglio con un nome vuoto che causava un file danneggiato, risolvere il problema #1361
- Risolto il problema con il contenuto dell'immagine ottenuto che era vuoto dopo l'inserimento dell'immagine
- In alcuni casi è stato risolto il problema relativo alla corruzione della cartella di lavoro dopo l'inserimento di colonne/righe
- Elimina la formula condivisa nella catena di calcolo durante la scrittura di una cella di formula, per correggere in alcuni casi il danneggiamento della cartella di lavoro
- Normalizza il nome del foglio per correggere la regressione del comportamento tra 2.6.0 e 2.6.1, risolvere il problema #1365
- Risolvi il problema relativo al risultato del calcolo della formula della funzione
OR - Correggere l'errore relativo all'inserimento di colonne o righe nel foglio di lavoro che contiene un intervallo di celle unito a una cella
- Correggere l'errore nell'ottenere l'intervallo di celle unite nel foglio di lavoro che contiene un intervallo di celle unite
- Risolto il problema con il valore incompleto delle celle di testo RTF in alcuni casi
- Caratteri XML di escape per lo scrittore di flussi da evitare con file corrotto, risolvere il problema #1391
- Correggere l'errore del risultato della funzione ADDRESS della formula con il nome del foglio di lavoro vuoto, risolvere il problema #1396
- Risolto il problema relativo all'inserimento dell'immagine in alcuni casi, risolvere il problema #1404
Prestazione
- Migliora le prestazioni per l'unione delle celle dello stream writer, il costo in termini di tempo diminuisce di oltre il 90% e riduce l'utilizzo della memoria al massimo di circa l'86%
- Miglioramento delle prestazioni per la funzione
SetRowdello stream writer, riduzione dell'utilizzo della memoria e aumento della velocità di circa il 19%
Varie
- Il modulo delle dipendenze è stato aggiornato
- Unit test e godoc aggiornati
- Utilizzo del nome specializzato in variabili e funzioni
- Sito Web di documentazione multilingue: arabo, tedesco, spagnolo, inglese, francese, russo, cinese, giapponese e coreano, che è stato aggiornato
Crediti
Grazie a tutti i contributori di Excelize. Di seguito è riportato un elenco di contributori che hanno contribuito al codice in questa versione:
- @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)