Excelize v2.7.0
- Veröffentlicht am: 9. Januar 2023
- Veröffentlicht auf GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
Versionshinweise
Die bemerkenswertesten Änderungen in dieser Version sind:
Kompatibilität
- Upgrade-Anforderungen Die Go-Sprachversion ist 1.16 oder höher für die Migration des veralteten Pakets
ioutil
- Überprüfen und Fehler für ungültigen Blattnamen zurückgeben, anstatt ungültige Zeichen zu kürzen
- Die Funktion
GetCellStyle
gibt den Masterzellenstil des Zusammenführungszellenbereichs nicht mehr zurück - 5 exportierte Datentypen und Fehlerkonstanten umbenennen:
- Benennen Sie
PivotTableOption
inPivotTableOptions
um - Benennen Sie
FormatHeaderFooter
inHeaderFooterOptions
um - Benennen Sie
FormatSheetProtection
inSheetProtectionOptions
um - Benennen Sie
SparklineOption
inSparklineOptions
um - Benennen Sie
ErrExistsWorksheet
inErrExistsSheet
um
- Benennen Sie
- Entfernen Sie 54 exportierte Typen:
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
undZoomScale
- Entfernen von 2 exportierten Konstanten:
OrientationPortrait
undOrientationLandscape
- Ändern Sie die Signatur von 21 Funktionen:
- Ändern
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
infunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
- Ändern
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
infunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
- Ändern
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
infunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
- Ändern
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
infunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
- Ändern
func (f *File) GetSheetIndex(sheet string) int
infunc (f *File) GetSheetIndex(sheet string) (int, error)
- Ändern
func (f *File) SetSheetName(source, target string)
infunc (f *File) SetSheetName(source, target string) error
- Ändern
func (f *File) GetSheetVisible(sheet string) bool
infunc (f *File) GetSheetVisible(sheet string) (bool, error)
- Ändern
func (f *File) DeleteSheet(sheet string)
infunc (f *File) DeleteSheet(sheet string) error
- Ändern
func (f *File) NewSheet(sheet string) int
infunc (f *File) NewSheet(sheet string) (int, error)
- Ändern
func (f *File) NewConditionalStyle(style string) (int, error)
infunc (f *File) NewConditionalStyle(style *Style) (int, error)
- Ändern
func (f *File) NewStyle(style interface{}) (int, error)
infunc (f *File) NewStyle(style *Style) (int, error)
- Ändern
func (f *File) AddChart(sheet, cell, opts string, combo ...string) error
infunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
- Ändern
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
infunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
- Ändern
func (f *File) AddShape(sheet, cell, opts string) error
infunc (f *File) AddShape(sheet, cell string, opts *Shape) error
- Ändern
func (f *File) AddPicture(sheet, cell, picture, format string) error
infunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
- Ändern
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
- Ändern
func (f *File) AddTable(sheet, hCell, vCell, opts string) error
infunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
- Ändern
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
infunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
- Ändern
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
infunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
- Ändern
func (f *File) SetPanes(sheet, panes string) error
infunc (f *File) SetPanes(sheet string, panes *Panes) error
- Ändern
func (f *File) SetConditionalFormat(sheet, reference, opts string) error
infunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Ändern
- Führen Sie neue Funktionen anstelle vorhandener Funktionen ein:
- Verwenden Sie
SetSheetProps
anstelle vonSetSheetPrOptions
undSetSheetFormatPr
- Verwenden Sie
GetSheetProps
anstelle vonGetSheetPrOptions
undGetSheetFormatPr
- Verwenden Sie
SetSheetView
anstelle vonSetSheetViewOptions
- Verwenden Sie
GetSheetView
anstelle vonGetSheetViewOptions
- Verwenden Sie
SetWorkbookProps
anstelle vonSetWorkbookPrOptions
- Verwenden Sie
GetWorkbookProps
anstelle vonGetWorkbookPrOptions
- Verwenden Sie
InsertRows
anstelle vonInsertRow
zur Unterstützung des gleichzeitigen Einfügens mehrerer Zeilen - Verwenden Sie
InsertCols
anstelle vonInsertCol
zur Unterstützung des gleichzeitigen Einfügens mehrerer Spalten
- Verwenden Sie
- Fügen Sie
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
hinzu und entfernen SieCellTypeString
in der AufzählungCellType
- Der Parameter wurde für die Funktion
AddComment
geändert, unterstützt das Erstellen von Rich-Text in Kommentaren, verwandtes problem #1204 - Entfernen Sie den internen Fehlerprotokolldruck, ein Fehler wird zurückgegeben, wenn ein XML-Deserialisierungsfehler auftritt, fügen Sie einen Fehlerrückgabewert für die Funktionen
GetComments
,GetDefaultFont
undSetDefaultFont
hinzu
Neue Eigenschaften
- Hinzufügen neuer Funktionen
GetDataValidations
undGetConditionalFormats
für Abrufen von Datenvalidierungen und bedingten Formaten, verwandtes problem #827 - Fügen Sie die neuen Funktionen
ProtectWorkbook
undUnprotectWorkbook
hinzu, um den Schutz von Arbeitsmappen zu unterstützen - Neue Funktion
SetSheetCol
für festgelegte Arbeitsblattspaltenzellen hinzugefügt, verwandtes problem #1247 - Neue Funktion
GetColStyle
zum Abrufen von Spaltenstilen hinzufügen, verwandtes problem #1293 - Neue Funktion
SetSheetBackgroundFromBytes
zum Setzen von Hintergrundbildern durch gegebene Bilddaten hinzugefügt, verwandtes problem #1405 - Neue Exportvariable
IndexedColorMapping
hinzufügen - Fügen Sie 20 Exporttypen hinzu:
AutoFilterListOptions
,AutoFilterOptions
,Chart
,ChartAxis
,ChartDimension
,ChartLegend
,ChartLine
,ChartMarker
,ChartPlotArea
,ChartSeries
,ChartTitle
,ConditionalFormatOptions
,PaneOptions
,Panes
,GraphicOptions
,Shape
,ShapeColor
,ShapeLine
,ShapeParagraph
undTableOptions
- Neue Unterstützung für 2 Formelfunktionen: AGGREGATE und SUBTOTAL
- Die Funktionen
Save
,Write
undWriteTo
akzeptieren nun Speicheroptionen, verwandtes problem #744 - Die Unterstützung der Funktion
AddChart
gibt an, ob die glatte Linie des Liniendiagramms glatt ist, verwandtes problem #1290 - Die Funktion
AddChart
unterstützt das Festlegen der benutzerdefinierten Linienfarbe in den Diagrammen, verwandtes problem #1345 - Die Funktion
AddChart
unterstützt benutzerdefinierte Diagrammachsen-Schriftarten, verwandtes problem #320 - Die Funktion
AddChart
unterstützt die Erstellung eines 3D-Liniendiagramms - Die Funktionen
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
undGetColStyle
unterstützen jetzt Parallelitätssicherheit - Ein Fehler wird zurückgegeben, wenn die nicht vorhandene Stil-ID festgelegt wird, verwandtes problem #1323
- Beim Festlegen der Stream-Zeile ohne aufsteigende Zeilennummern wird ein Fehler zurückgegeben, um potenzielle Fehler zu vermeiden, verwandtes problem #1139
- Der Stream-Writer wendet den Stil in
RowOpts
für jede Zelle an, verwandtes problem #1354 - Der Stream Writer unterstützt das Festlegen von Fenstern, verwandtes problem #1047
- Die Stream Writer-Unterstützung zum Festlegen einer Inline-Rich-Text-Zelle
- Der Stream Writer unterstützt das Einfügen des Seitenumbruchs
- Neue 7 exportierte Fehler:
ErrUnprotectWorkbook
,ErrUnprotectWorkbookPassword
,ErrStreamSetPanes
,ErrSheetNameBlank
,ErrSheetNameInvalid
,ErrSheetNameLength
undErrSheetNameSingleQuote
wurden hinzugefügt - Einführung von 5 neuen Exportdatentypen:
HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
, undViewOptions
- Unterstützung zum Festlegen von Zusammenfassungsspalten, die rechts von Details in einer Gliederung angezeigt werden
- Unterstützung zum Festlegen und Abrufen der Schriftfarbe mit Design und Farbton, verwandtes problem #1369
- Unterstützt den Abruf von Zellenwerten, die ein Datum im ISO 8601-Format enthalten
- Unterstützen Sie das Festlegen und erhalten Sie die Schriftfarbe mit der indizierten Farbe
- Unterstützt das Aktualisieren des Spaltenstils beim Einfügen oder Löschen von Spalten
- Die Funktion
Close
der Arbeitsmappe unterstützt jetzt die Bereinigung temporärer Dateien des Stream-Writers - Die
AddPicture
-Funktion ermöglicht jetzt das Einfügen von Bildern im SVG-Format
Verbesserung der Kompatibilität
- Der Stream-Writer schreibt den Inline-String-Typ für den String-Zellenwert, verwandtes problem #1377
- Überspringen Sie leere Zeilen beim Speichern der Tabelle, um die Dateigröße zu reduzieren, verwandtes problem #1383
Fehlerbehebung
- Beheben des runden Problems mit dem Dezimalzahlenformat mit dem integrierten Zahlenformat, verwandtes problem #1328, #1368 und #1373
- Problem mit dem AM/PM-Nummernformat in einigen Fällen beheben, verwandtes problem #1338
- Beheben Sie die Panik, wenn Sie Kommentare löschen, die durch Slice-Grenzen außerhalb des zulässigen Bereichs verursacht wurden, verwandtes problem #1343
- Beheben Sie die Panik, wenn Sie in einigen Fällen den Zellenwert abrufen, verwandtes problem #1384 und #1415
- Problem mit der Analyse des Standardzahlenformats mit einer langen Ziffernfolge behoben, verwandtes problem #1360
- Fix das Erstellen eines Blattes mit einem leeren Namen verursacht eine beschädigte Datei, verwandtes problem #1361
- Fix Get Image Content war nach dem Einfügen des Bildes leer
- Behebung der Beschädigung der Arbeitsmappe nach dem Einfügen von Spalten / Zeilen in einigen Fällen
- Löschen Sie die freigegebene Formel in der Berechnungskette, wenn Sie eine Formelzelle schreiben, um in einigen Fällen eine Beschädigung der Arbeitsmappe zu beheben
- Normalisieren Sie den Blattnamen, um die Verhaltensregression zwischen 2.6.0 und 2.6.1 zu korrigieren, verwandtes problem #1365
- Beheben Sie das Problem mit dem Formelberechnungsergebnis der
OR
-Funktion - Behebung eines Fehlers beim Einfügen von Spalten oder Zeilen auf dem Arbeitsblatt, das einen mit Zellen verbundenen Zellbereich enthält
- Beheben Sie den Fehler beim Abrufen des Bereichs verbundener Zellen auf dem Arbeitsblatt, das einen verbundenen Zellbereich enthält
- In einigen Fällen erhalten Sie einen unvollständigen Rich-Text-Zellenwert
- Escape-XML-Zeichen für den Stream-Writer, um eine beschädigte Datei zu vermeiden, verwandtes problem #1391
- Behebung des Ergebnisfehlers der Formelfunktion ADDRESS mit leerem Arbeitsblattnamen, verwandtes problem #1396
- Behebung des Problems beim Einfügen von Bildern in einigen Fällen, verwandtes problem #1404
Leistungsverbesserung
- Verbessern Sie die Leistung für Stream-Writer, die Zellen zusammenführen, senken Sie die Zeitkosten um über 90% und reduzieren Sie die Speichernutzung um maximal 86%
- Verbesserung der Leistung für die Stream-Writer-Funktion
SetRow
, reduziert die Speichernutzung und beschleunigt um 19%
Sonstiges
- Das Abhängigkeitsmodul wurde aktualisiert
- Unit Tests und godoc aktualisiert
- Verwenden des spezialisierten Namens in Variablen und Funktionen
- Dokumentationswebsite mit mehrsprachiger Sprache: Arabisch, Deutsch, Spanisch, Englisch, Französisch, Russisch, Chinesisch, Japanisch und Koreanisch, die aktualisiert wurde
Vielen Dank
Vielen Dank für alle Mitwirkenden an Excelize. Nachfolgend finden Sie eine Liste der Mitwirkenden, die Codebeiträge in dieser Version haben:
- @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)