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
GetCellStyle
non restituisce più lo stile della cella principale dell'intervallo di celle unificate - Rinominare 5 tipi di dati esportati e costante di errore:
- Rinominare
PivotTableOption
inPivotTableOptions
- Rinominare
FormatHeaderFooter
inHeaderFooterOptions
- Rinominare
FormatSheetProtection
inSheetProtectionOptions
- Rinominare
SparklineOption
inSparklineOptions
- Rinominare
ErrExistsWorksheet
inErrExistsSheet
- 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
,ZeroHeight
eZoomScale
- Rimuovi 2 costanti esportate:
OrientationPortrait
eOrientationLandscape
- Cambia la firma di 21 funzioni:
- Cambia l'
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
infunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
- Cambia l'
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
infunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
- Cambia l'
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
infunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
- Cambia l'
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
infunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
- Cambia l'
func (f *File) GetSheetIndex(sheet string) int
infunc (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) bool
infunc (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) int
infunc (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) error
infunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
- Cambia l'
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
infunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
- Cambia l'
func (f *File) AddShape(sheet, cell, opts string) error
infunc (f *File) AddShape(sheet, cell string, opts *Shape) error
- Cambia l'
func (f *File) AddPicture(sheet, cell, picture, format string) error
infunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
- Cambia l'
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error
infunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
- Cambia l'
func (f *File) AddTable(sheet, hCell, vCell, opts string) error
infunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
- Cambia l'
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
infunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
- Cambia l'
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
infunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
- Cambia l'
func (f *File) SetPanes(sheet, panes string) error
infunc (f *File) SetPanes(sheet string, panes *Panes) error
- Cambia l'
func (f *File) SetConditionalFormat(sheet, reference, opts string) error
infunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Cambia l'
- Introduci una nuova funzione invece delle funzioni esistenti:
- Utilizza
SetSheetProps
invece diSetSheetPrOptions
eSetSheetFormatPr
- Utilizza
GetSheetProps
invece diGetSheetPrOptions
eGetSheetFormatPr
- Utilizza
SetSheetView
invece diSetSheetViewOptions
- Utilizza
GetSheetView
invece diGetSheetViewOptions
- Utilizza
SetWorkbookProps
invece diSetWorkbookPrOptions
- Utilizza
GetWorkbookProps
invece diGetWorkbookPrOptions
- Utilizza
InsertRows
invece diInsertRow
per supportare l'inserimento di più righe contemporaneamente - Utilizza
InsertCols
invece diInsertCol
per supportare l'inserimento di più colonne contemporaneamente
- Utilizza
- Aggiungi
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
e rimuoviCellTypeString
nell'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
,GetDefaultFont
eSetDefaultFont
Caratteristiche notevoli
- Aggiunte nuove funzioni
GetDataValidations
eGetConditionalFormats
per ottenere convalide dei dati e formati condizionali, problema correlato #827 - Aggiunte nuove funzioni
ProtectWorkbook
eUnprotectWorkbook
per 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
GetColStyle
per ottenere stili di colonna, problema correlato #1293 - Aggiungi la nuova funzione
SetSheetBackgroundFromBytes
per 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
,ShapeParagraph
eTableOptions
- Nuovo supporto per 2 funzioni formula: AGGREGATE e SUBTOTAL
- Le funzioni
Save
,Write
eWriteTo
ora accettano le opzioni di salvataggio, problema correlato #744 - Il supporto della funzione
AddChart
specifica se la linea del grafico a linee è liscia, problema correlato #1290 - La funzione
AddChart
supporta l'impostazione del colore personalizzato della linea nei grafici, problema correlato #1345 - La funzione
AddChart
supporta lo stile del carattere personalizzato dell'asse del grafico, problema correlato #320 - La funzione
AddChart
supporta la creazione di grafici a linee 3D - Le funzioni
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
eGetColStyle
ora 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
RowOpts
per 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
,ErrSheetNameLength
eErrSheetNameSingleQuote
- Introduci 5 nuovi tipi di dati di esportazione:
HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
eViewOptions
- 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
Close
della cartella di lavoro ora supporta la pulizia dei file temporanei dello stream writer - La funzione
AddPicture
ora 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
SetRow
dello 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)