Excelize v2.7.0
- Publié ce sur: 9 janvier 2023
- Sorti sur GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
Notes de version
Les changements les plus notables de cette version sont:
Compatibilité
- Exigences de mise à niveau La version linguistique de Go est 1.16 ou ultérieure, pour la migration du package d'obsolescence
ioutil
- Vérification et retour d'erreur pour un nom de feuille non valide au lieu de supprimer les caractères non valides
- La fonction
GetCellStyle
ne renvoie plus le style de cellule maître de la plage de cellules de fusion - Renommez 5 types de données exportées et la constante d'erreur:
- Renommez
PivotTableOption
enPivotTableOptions
- Renommez
FormatHeaderFooter
enHeaderFooterOptions
- Renommez
FormatSheetProtection
enSheetProtectionOptions
- Renommez
SparklineOption
enSparklineOptions
- Renommez
ErrExistsWorksheet
enErrExistsSheet
- Renommez
- Supprimer 54 types exportés:
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
etZoomScale
- Supprimer 2 constantes exportées:
OrientationPortrait
etOrientationLandscape
- Changer la signature de 21 fonctions:
- Changer
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
enfunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
- Changer
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
enfunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
- Changer
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
enfunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
- Changer
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
enfunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
- Changer
func (f *File) GetSheetIndex(sheet string) int
enfunc (f *File) GetSheetIndex(sheet string) (int, error)
- Changer
func (f *File) SetSheetName(source, target string)
enfunc (f *File) SetSheetName(source, target string) error
- Changer
func (f *File) GetSheetVisible(sheet string) bool
enfunc (f *File) GetSheetVisible(sheet string) (bool, error)
- Changer
func (f *File) DeleteSheet(sheet string)
enfunc (f *File) DeleteSheet(sheet string) error
- Changer
func (f *File) NewSheet(sheet string) int
enfunc (f *File) NewSheet(sheet string) (int, error)
- Changer
func (f *File) NewConditionalStyle(style string) (int, error)
enfunc (f *File) NewConditionalStyle(style *Style) (int, error)
- Changer
func (f *File) NewStyle(style interface{}) (int, error)
enfunc (f *File) NewStyle(style *Style) (int, error)
- Changer
func (f *File) AddChart(sheet, cell, opts string, combo ...string) error
enfunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
- Changer
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
enfunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
- Changer
func (f *File) AddShape(sheet, cell, opts string) error
enfunc (f *File) AddShape(sheet, cell string, opts *Shape) error
- Changer
func (f *File) AddPicture(sheet, cell, picture, format string) error
enfunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
- Changer
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error
enfunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
- Changer
func (f *File) AddTable(sheet, hCell, vCell, opts string) error
enfunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
- Changer
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
enfunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
- Changer
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
enfunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
- Changer
func (f *File) SetPanes(sheet, panes string) error
enfunc (f *File) SetPanes(sheet string, panes *Panes) error
- Changer
func (f *File) SetConditionalFormat(sheet, reference, opts string) error
enfunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Changer
- Introduire une nouvelle fonction à la place des fonctions existantes:
- Utilisez
SetSheetProps
au lieu deSetSheetPrOptions
etSetSheetFormatPr
- Utilisez
GetSheetProps
au lieu deGetSheetPrOptions
etGetSheetFormatPr
- Utilisez
SetSheetView
au lieu deSetSheetViewOptions
- Utilisez
GetSheetView
au lieu deGetSheetViewOptions
- Utilisez
SetWorkbookProps
au lieu deSetWorkbookPrOptions
- Utilisez
GetWorkbookProps
au lieu deGetWorkbookPrOptions
- Utilisez
InsertRows
au lieu deInsertRow
pour prendre en charge l'insertion de plusieurs lignes à la fois - Utilisez
InsertCols
au lieu deInsertCol
pour prendre en charge l'insertion de plusieurs colonnes à la fois
- Utilisez
- Ajoutez
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
et supprimezCellTypeString
dans l'énumérationCellType
- Le paramètre a été modifié pour la fonction
AddComment
, prend en charge la création de texte enrichi dans les commentaires, problème associé #1204 - Supprimer l'impression du journal des erreurs internes, une erreur sera renvoyée en cas d'erreur de désérialisation XML, ajouter une valeur de retour d'erreur pour les fonctions
GetComments
,GetDefaultFont
etSetDefaultFont
Caractéristiques notables
- Ajouter de nouvelles fonctions
GetDataValidations
etGetConditionalFormats
pour obtenir des validations de données et des formats conditionnels, problème associé #827 - Ajouter de nouvelles fonctions
ProtectWorkbook
etUnprotectWorkbook
pour les supports de protection des classeurs - Ajouter une nouvelle fonction
SetSheetCol
pour définir des cellules de colonne de feuille de calcul, problème associé #1247 - Ajouter une nouvelle fonction
GetColStyle
pour obtenir les styles de colonnes, problème associé #1293 - Ajouter une nouvelle fonction
SetSheetBackgroundFromBytes
pour définir l'image d'arrière-plan par des données d'image données, problème associé #1405 - Ajouter une nouvelle variable d'exportation
IndexedColorMapping
- Ajouter 20 types d'exportation:
AutoFilterListOptions
,AutoFilterOptions
,Chart
,ChartAxis
,ChartDimension
,ChartLegend
,ChartLine
,ChartMarker
,ChartPlotArea
,ChartSeries
,ChartTitle
,ConditionalFormatOptions
,PaneOptions
,Panes
,GraphicOptions
,Shape
,ShapeColor
,ShapeLine
,ShapeParagraph
etTableOptions
- Nouvelle prise en charge de 2 fonctions de formule: AGGREGATE et SUBTOTAL
- Les fonctions
Save
,Write
etWriteTo
acceptent désormais les options d'enregistrement, problème associé #744 - Le support de la fonction
AddChart
spécifie si la ligne lisse du graphique linéaire, problème associé #1290 - La fonction
AddChart
prend en charge la couleur de ligne personnalisée dans les graphiques, problème associé #1345 - La fonction
AddChart
prend en charge le style de police d'axe de graphique personnalisé, problème associé #320 - La fonction
AddChart
prend en charge la création d'un graphique en courbes 3D - Les fonctions
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
etGetColStyle
prennent désormais en charge la concurrence sécurisée - Une erreur sera renvoyée lors de la définition de l'ID de style inexistant, problème associé #1323
- Une erreur sera renvoyée lors de la définition de la ligne de flux sans numéros de ligne croissants, pour éviter les erreurs potentielles, problème associé #1139
- L'écrivain de flux appliquera le style dans
RowOpts
pour chaque cellule, problème associé #1354 - La prise en charge de l'écrivain de flux pour définir des volets, problème associé #1047
- La prise en charge de l'écrivain de flux pour définir une cellule de texte enrichi en ligne
- Le support du rédacteur de flux pour insérer le saut de page
- 7 nouvelles erreurs exportées:
ErrUnprotectWorkbook
,ErrUnprotectWorkbookPassword
,ErrStreamSetPanes
,ErrSheetNameBlank
,ErrSheetNameInvalid
,ErrSheetNameLength
etErrSheetNameSingleQuote
ont été ajoutées - Introduire 5 nouveaux types de données d'exportation:
HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
, etViewOptions
- Prise en charge de la configuration des colonnes récapitulatives pour qu'elles apparaissent à droite des détails dans un plan
- Prise en charge pour définir et obtenir la couleur de la police avec le thème et la teinte, problème associé #1369
- Prise en charge de la valeur de cellule contenant une date au format ISO 8601
- Prend en charge le jeu et obtient la couleur de la police avec la couleur indexée
- Prise en charge du style de colonne de mise à jour lors de l'insertion ou de la suppression de colonnes
- La fonction
Close
du classeur prend désormais en charge les fichiers temporaires du rédacteur de flux de nettoyage - La fonction
AddPicture
permettant désormais d'insérer des images au format SVG
Improve the Compatibilité
- L'écrivain de flux écrit un type de chaîne en ligne pour la valeur de la cellule de chaîne, problème associé #1377
- Ignorer les lignes vides lors de l'enregistrement de la feuille de calcul pour réduire la taille du fichier, problème associé #1383
Corrections de bogues
- Correction du problème d'arrondi du format de nombre décimal avec le format de nombre intégré, problème associé #1328, #1368 et #1373
- Correction de l'application du problème de format de numéro AM/PM dans certains cas, problème associé #1338
- Correction de la panique lors de la suppression de commentaires causée par des limites de tranche hors plage, problème associé #1343
- Correction de la panique lors de l'obtention de la valeur de la cellule dans certains cas, problème associé #1384 et #1415
- Correction du problème d'analyse du format numérique par défaut avec une longue chaîne de chiffres, problème associé #1360
- Correction de la création d'une feuille avec un nom vide provoquant un fichier corrompu, problème associé #1361
- Correction de l'obtention du contenu de l'image vide après l'insertion de l'image
- Fix generate workbook corruption after insert columns/rows in some case
- Supprimer la formule partagée dans la chaîne de calcul lors de l'écriture d'une cellule de formule, pour corriger la corruption du classeur dans certains cas
- Normaliser le nom de la feuille pour corriger la régression du comportement entre 2.6.0 et 2.6.1, problème associé #1365
- Correction du problème de résultat de calcul de formule de la fonction
OR
- Correction d'une erreur lors de l'insertion de colonnes ou de lignes dans la feuille de calcul contenant une plage de cellules fusionnées
- Correction d'une erreur lors de l'obtention de la plage de cellules fusionnées sur la feuille de calcul contenant une plage de cellules fusionnées
- Correction de l'obtention d'une valeur de cellule de texte enrichi incomplète dans certains cas
- Caractères XML d'échappement pour l'écrivain de flux à éviter avec un fichier corrompu, problème associé #1391
- Correction de l'erreur de résultat de la fonction de formule ADDRESS avec un nom de feuille de calcul vide, problème associé #1396
- Correction du problème d'insertion d'image dans certains cas, problème associé #1404
Performance
- Améliorez les performances des cellules de fusion de l'écrivain de flux, diminuez le coût du temps de plus de 90% et réduisez l'utilisation de la mémoire d'environ 86% au maximum
- Amélioration des performances de la fonction d'écriture de flux "SetRow", réduction de l'utilisation de la mémoire et accélération d'environ 19%
Miscellaneous
- Le module des dépendances a été mis à jour
- Tests unitaires et godoc mis à jour
- Utilisation du nom spécialisé dans les variables et les fonctions
- Site Web de documentation multilingue: arabe, allemand, espagnol, anglais, français, russe, chinois, japonais et coréen, qui a été mis à jour
Merci
Merci pour tous les contributeurs d'Excelize. Vous trouverez ci-dessous une liste des contributeurs qui ont des contributions de code dans cette version:
- @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)