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
GetCellStylegibt den Masterzellenstil des Zusammenführungszellenbereichs nicht mehr zurück - 5 exportierte Datentypen und Fehlerkonstanten umbenennen:
- Benennen Sie
PivotTableOptioninPivotTableOptionsum - Benennen Sie
FormatHeaderFooterinHeaderFooterOptionsum - Benennen Sie
FormatSheetProtectioninSheetProtectionOptionsum - Benennen Sie
SparklineOptioninSparklineOptionsum - Benennen Sie
ErrExistsWorksheetinErrExistsSheetum
- 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,ZeroHeightundZoomScale - Entfernen von 2 exportierten Konstanten:
OrientationPortraitundOrientationLandscape - Ändern Sie die Signatur von 21 Funktionen:
- Ändern
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorinfunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - Ändern
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorinfunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - Ändern
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorinfunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - Ändern
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorinfunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - Ändern
func (f *File) GetSheetIndex(sheet string) intinfunc (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) boolinfunc (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) intinfunc (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) errorinfunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - Ändern
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorinfunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - Ändern
func (f *File) AddShape(sheet, cell, opts string) errorinfunc (f *File) AddShape(sheet, cell string, opts *Shape) error - Ändern
func (f *File) AddPicture(sheet, cell, picture, format string) errorinfunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - Ändern
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 - Ändern
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorinfunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - Ändern
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorinfunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - Ändern
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorinfunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - Ändern
func (f *File) SetPanes(sheet, panes string) errorinfunc (f *File) SetPanes(sheet string, panes *Panes) error - Ändern
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorinfunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Ändern
- Führen Sie neue Funktionen anstelle vorhandener Funktionen ein:
- Verwenden Sie
SetSheetPropsanstelle vonSetSheetPrOptionsundSetSheetFormatPr - Verwenden Sie
GetSheetPropsanstelle vonGetSheetPrOptionsundGetSheetFormatPr - Verwenden Sie
SetSheetViewanstelle vonSetSheetViewOptions - Verwenden Sie
GetSheetViewanstelle vonGetSheetViewOptions - Verwenden Sie
SetWorkbookPropsanstelle vonSetWorkbookPrOptions - Verwenden Sie
GetWorkbookPropsanstelle vonGetWorkbookPrOptions - Verwenden Sie
InsertRowsanstelle vonInsertRowzur Unterstützung des gleichzeitigen Einfügens mehrerer Zeilen - Verwenden Sie
InsertColsanstelle vonInsertColzur Unterstützung des gleichzeitigen Einfügens mehrerer Spalten
- Verwenden Sie
- Fügen Sie
CellTypeFormula,CellTypeInlineString,CellTypeSharedStringhinzu und entfernen SieCellTypeStringin der AufzählungCellType - Der Parameter wurde für die Funktion
AddCommentgeä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,GetDefaultFontundSetDefaultFonthinzu
Neue Eigenschaften
- Hinzufügen neuer Funktionen
GetDataValidationsundGetConditionalFormatsfür Abrufen von Datenvalidierungen und bedingten Formaten, verwandtes problem #827 - Fügen Sie die neuen Funktionen
ProtectWorkbookundUnprotectWorkbookhinzu, um den Schutz von Arbeitsmappen zu unterstützen - Neue Funktion
SetSheetColfür festgelegte Arbeitsblattspaltenzellen hinzugefügt, verwandtes problem #1247 - Neue Funktion
GetColStylezum Abrufen von Spaltenstilen hinzufügen, verwandtes problem #1293 - Neue Funktion
SetSheetBackgroundFromByteszum Setzen von Hintergrundbildern durch gegebene Bilddaten hinzugefügt, verwandtes problem #1405 - Neue Exportvariable
IndexedColorMappinghinzufü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,ShapeParagraphundTableOptions - Neue Unterstützung für 2 Formelfunktionen: AGGREGATE und SUBTOTAL
- Die Funktionen
Save,WriteundWriteToakzeptieren nun Speicheroptionen, verwandtes problem #744 - Die Unterstützung der Funktion
AddChartgibt an, ob die glatte Linie des Liniendiagramms glatt ist, verwandtes problem #1290 - Die Funktion
AddChartunterstützt das Festlegen der benutzerdefinierten Linienfarbe in den Diagrammen, verwandtes problem #1345 - Die Funktion
AddChartunterstützt benutzerdefinierte Diagrammachsen-Schriftarten, verwandtes problem #320 - Die Funktion
AddChartunterstützt die Erstellung eines 3D-Liniendiagramms - Die Funktionen
SetColWidth,GetColWidth,SetColVisible,GetColVisible,SetColStyleundGetColStyleunterstü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
RowOptsfü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,ErrSheetNameLengthundErrSheetNameSingleQuotewurden 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
Closeder 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)