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
GetCellStylene 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
PivotTableOptionenPivotTableOptions - Renommez
FormatHeaderFooterenHeaderFooterOptions - Renommez
FormatSheetProtectionenSheetProtectionOptions - Renommez
SparklineOptionenSparklineOptions - Renommez
ErrExistsWorksheetenErrExistsSheet
- 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,ZeroHeightetZoomScale - Supprimer 2 constantes exportées:
OrientationPortraitetOrientationLandscape - Changer la signature de 21 fonctions:
- Changer
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorenfunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - Changer
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorenfunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - Changer
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorenfunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - Changer
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorenfunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - Changer
func (f *File) GetSheetIndex(sheet string) intenfunc (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) boolenfunc (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) intenfunc (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) errorenfunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - Changer
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorenfunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - Changer
func (f *File) AddShape(sheet, cell, opts string) errorenfunc (f *File) AddShape(sheet, cell string, opts *Shape) error - Changer
func (f *File) AddPicture(sheet, cell, picture, format string) errorenfunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - Changer
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) errorenfunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error - Changer
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorenfunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - Changer
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorenfunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - Changer
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorenfunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - Changer
func (f *File) SetPanes(sheet, panes string) errorenfunc (f *File) SetPanes(sheet string, panes *Panes) error - Changer
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorenfunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Changer
- Introduire une nouvelle fonction à la place des fonctions existantes:
- Utilisez
SetSheetPropsau lieu deSetSheetPrOptionsetSetSheetFormatPr - Utilisez
GetSheetPropsau lieu deGetSheetPrOptionsetGetSheetFormatPr - Utilisez
SetSheetViewau lieu deSetSheetViewOptions - Utilisez
GetSheetViewau lieu deGetSheetViewOptions - Utilisez
SetWorkbookPropsau lieu deSetWorkbookPrOptions - Utilisez
GetWorkbookPropsau lieu deGetWorkbookPrOptions - Utilisez
InsertRowsau lieu deInsertRowpour prendre en charge l'insertion de plusieurs lignes à la fois - Utilisez
InsertColsau lieu deInsertColpour prendre en charge l'insertion de plusieurs colonnes à la fois
- Utilisez
- Ajoutez
CellTypeFormula,CellTypeInlineString,CellTypeSharedStringet supprimezCellTypeStringdans 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,GetDefaultFontetSetDefaultFont
Caractéristiques notables
- Ajouter de nouvelles fonctions
GetDataValidationsetGetConditionalFormatspour obtenir des validations de données et des formats conditionnels, problème associé #827 - Ajouter de nouvelles fonctions
ProtectWorkbooketUnprotectWorkbookpour les supports de protection des classeurs - Ajouter une nouvelle fonction
SetSheetColpour définir des cellules de colonne de feuille de calcul, problème associé #1247 - Ajouter une nouvelle fonction
GetColStylepour obtenir les styles de colonnes, problème associé #1293 - Ajouter une nouvelle fonction
SetSheetBackgroundFromBytespour 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,ShapeParagraphetTableOptions - Nouvelle prise en charge de 2 fonctions de formule: AGGREGATE et SUBTOTAL
- Les fonctions
Save,WriteetWriteToacceptent désormais les options d'enregistrement, problème associé #744 - Le support de la fonction
AddChartspécifie si la ligne lisse du graphique linéaire, problème associé #1290 - La fonction
AddChartprend en charge la couleur de ligne personnalisée dans les graphiques, problème associé #1345 - La fonction
AddChartprend en charge le style de police d'axe de graphique personnalisé, problème associé #320 - La fonction
AddChartprend en charge la création d'un graphique en courbes 3D - Les fonctions
SetColWidth,GetColWidth,SetColVisible,GetColVisible,SetColStyleetGetColStyleprennent 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
RowOptspour 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,ErrSheetNameLengthetErrSheetNameSingleQuoteont é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
Closedu classeur prend désormais en charge les fichiers temporaires du rédacteur de flux de nettoyage - La fonction
AddPicturepermettant désormais d'insérer des images au format SVG
Amélioration de la 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)