Excelize v2.7.0
- Esta versión lanzada el: 9 enero 2023
- Lanzado en GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
Notas de lanzamiento
Los cambios más notables en esta versión son:
Rompiendo cambios
- Requisitos de actualización La versión de idioma de Go es 1.16 o posterior, para la migración del paquete obsoleto
ioutil
- Comprobación y devolución de error por nombre de hoja no válido en lugar de recortar caracteres no válidos
- La función
GetCellStyle
ya no devuelve el estilo de celda maestra del rango de celdas combinadas - Renombrar 5 tipos de datos exportados y constante de error:
- Cambiar el nombre de
PivotTableOption
aPivotTableOptions
- Cambiar el nombre de
FormatHeaderFooter
aHeaderFooterOptions
- Cambiar el nombre de
FormatSheetProtection
aSheetProtectionOptions
- Cambiar el nombre de
SparklineOption
aSparklineOptions
- Cambiar el nombre de
ErrExistsWorksheet
aErrExistsSheet
- Cambiar el nombre de
- Eliminar 54 tipos exportados:
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
yZoomScale
- Eliminar 2 constantes exportadas:
OrientationPortrait
yOrientationLandscape
- Cambiar firma de 21 funciones:
- Cambiar
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error
afunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
- Cambiar
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error
afunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
- Cambiar
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error
afunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
- Cambiar
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error
afunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
- Cambiar
func (f *File) GetSheetIndex(sheet string) int
afunc (f *File) GetSheetIndex(sheet string) (int, error)
- Cambiar
func (f *File) SetSheetName(source, target string)
afunc (f *File) SetSheetName(source, target string) error
- Cambiar
func (f *File) GetSheetVisible(sheet string) bool
afunc (f *File) GetSheetVisible(sheet string) (bool, error)
- Cambiar
func (f *File) DeleteSheet(sheet string)
afunc (f *File) DeleteSheet(sheet string) error
- Cambiar
func (f *File) NewSheet(sheet string) int
afunc (f *File) NewSheet(sheet string) (int, error)
- Cambiar
func (f *File) NewConditionalStyle(style string) (int, error)
afunc (f *File) NewConditionalStyle(style *Style) (int, error)
- Cambiar
func (f *File) NewStyle(style interface{}) (int, error)
afunc (f *File) NewStyle(style *Style) (int, error)
- Cambiar
func (f *File) AddChart(sheet, cell, opts string, combo ...string) error
afunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
- Cambiar
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
afunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
- Cambiar
func (f *File) AddShape(sheet, cell, opts string) error
afunc (f *File) AddShape(sheet, cell string, opts *Shape) error
- Cambiar
func (f *File) AddPicture(sheet, cell, picture, format string) error
afunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
- Cambiar
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error
afunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error
- Cambiar
func (f *File) AddTable(sheet, hCell, vCell, opts string) error
afunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
- Cambiar
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error
afunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
- Cambiar
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error
afunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
- Cambiar
func (f *File) SetPanes(sheet, panes string) error
afunc (f *File) SetPanes(sheet string, panes *Panes) error
- Cambiar
func (f *File) SetConditionalFormat(sheet, reference, opts string) error
afunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Cambiar
- Introduce una nueva función en lugar de las funciones existentes:
- Utilice
SetSheetProps
en lugar deSetSheetPrOptions
ySetSheetFormatPr
- Utilice
GetSheetProps
en lugar deGetSheetPrOptions
yGetSheetFormatPr
- Utilice
SetSheetView
en lugar deSetSheetViewOptions
- Utilice
GetSheetView
en lugar deGetSheetViewOptions
- Utilice
SetWorkbookProps
en lugar deSetWorkbookPrOptions
- Utilice
GetWorkbookProps
en lugar deGetWorkbookPrOptions
- Utilice
InsertRows
en lugar deInsertRow
para admitir la inserción de varias filas a la vez - Utilice
InsertCols
en lugar deInsertCol
para admitir la inserción de varias columnas a la vez
- Utilice
- Agregue
CellTypeFormula
,CellTypeInlineString
,CellTypeSharedString
y elimineCellTypeString
en la enumeraciónCellType
- El parámetro se ha cambiado para la función
AddComment
, admite la creación de texto enriquecido en los comentarios, problema relacionado #1204 - Elimine la impresión del registro de errores internos, se devolverá un error cuando XML deserialice el error, agregue el valor de retorno de error para las funciones
GetComments
,GetDefaultFont
ySetDefaultFont
Características notables
- Agregue nuevas funciones
GetDataValidations
yGetConditionalFormats
para obtener validaciones de datos y formatos condicionales, problema relacionado #827 - Agregue las nuevas funciones
ProtectWorkbook
yUnprotectWorkbook
para la protección de libros de trabajo - Agregue la nueva función
SetSheetCol
para establecer celdas de columna de la hoja de trabajo, problema relacionado #1247 - Agregue una nueva función
GetColStyle
para obtener estilos de columna, problema relacionado #1293 - Agregue la nueva función
SetSheetBackgroundFromBytes
para establecer la imagen de fondo según los datos de imagen dados, problema relacionado #1405 - Agregue una nueva variable de exportación
IndexedColorMapping
- Agregar 20 tipos de exportación:
AutoFilterListOptions
,AutoFilterOptions
,Chart
,ChartAxis
,ChartDimension
,ChartLegend
,ChartLine
,ChartMarker
,ChartPlotArea
,ChartSeries
,ChartTitle
,ConditionalFormatOptions
,PaneOptions
,Panes
,GraphicOptions
,Shape
,ShapeColor
,ShapeLine
,ShapeParagraph
yTableOptions
- Nuevo soporte para 2 funciones de fórmula: AGGREGATE y SUBTOTAL
- Las funciones
Save
,Write
yWriteTo
ahora aceptan opciones de guardado, problema relacionado #744 - El soporte de la función
AddChart
especifica si la línea suave del gráfico de líneas, problema relacionado #1290 - El soporte de la función
AddChart
establece un color de línea personalizado en los gráficos, problema relacionado #1345 - La función
AddChart
admite un estilo de fuente de eje de gráfico personalizado, problema relacionado #320 - El soporte de la función
AddChart
crea un gráfico de líneas 3D - Las funciones
SetColWidth
,GetColWidth
,SetColVisible
,GetColVisible
,SetColStyle
yGetColStyle
ahora admiten concurrencia segura - Se devolverá un error cuando se establezca el ID de estilo que no existe, problema relacionado #1323
- Se devolverá un error al configurar la fila de flujo sin números de fila ascendentes, para evitar posibles errores, problema relacionado #1139
- El escritor de secuencias aplicará el estilo en
RowOpts
para cada celda, problema relacionado #1354 - El soporte de escritor de flujo para configurar paneles, problema relacionado #1047
- La compatibilidad con el escritor de secuencias para configurar celdas de texto enriquecido en línea
- El soporte de streamwriter para insertar el salto de página
- Se han agregado nuevos 7 errores exportados:
ErrUnprotectWorkbook
,ErrUnprotectWorkbookPassword
,ErrStreamSetPanes
,ErrSheetNameBlank
,ErrSheetNameInvalid
,ErrSheetNameLength
yErrSheetNameSingleQuote
- Introducir 5 nuevos tipos de datos de exportación:
HeaderFooterOptions
,PageLayoutMarginsOptions
,PageLayoutOptions
,SheetPropsOptions
, yViewOptions
- Soporte para establecer columnas de resumen para que aparezcan a la derecha de los detalles en un esquema
- Soporte para configurar y obtener color de fuente con tema y tinte, problema relacionado #1369
- Admite obtener el valor de la celda que contiene una fecha en el formato ISO 8601
- Admite establecer y obtener color de fuente con color indexado
- Admite actualizar el estilo de columna al insertar o eliminar columnas
- La función
Close
del libro de trabajo ahora admite archivos temporales del escritor de flujo de limpieza - La función
AddPicture
ahora permite insertar imágenes en formato SVG
Mejorar la compatibilidad
- Stream Writer escribe el tipo de cadena en línea para el valor de celda de cadena, problema relacionado #1377
- Omita las filas vacías al guardar la hoja de cálculo para reducir el tamaño del archivo, problema relacionado #1383
Corrección de errores
- Solucione el problema de la ronda de formato de número decimal con el formato de número incorporado, problema relacionado #1328, #1368 y #1373
- Solucionar el problema de aplicar formato de número AM/PM en algunos casos, problema relacionado #1338
- Solucione el pánico al eliminar comentarios causados por límites de corte fuera de rango, problema relacionado #1343
- Solucione el pánico cuando obtenga el valor de la celda en algún caso, problema relacionado #1384 y #1415
- Solucionar el problema de análisis del formato de número predeterminado con una larga cadena de dígitos, problema relacionado #1360
- Arreglar la creación de una hoja con un nombre vacío que causa un archivo dañado, problema relacionado #1361
- Arreglar el contenido de obtener imagen estaba vacío después de insertar la imagen
- Arreglar la generación de daños en el libro de trabajo después de insertar columnas/filas en algunos casos
- Elimine la fórmula compartida en la cadena de cálculo al escribir una celda de fórmula, para corregir la generación de daños en el libro de trabajo en algunos casos
- Normalice el nombre de la hoja para corregir la regresión de comportamiento entre 2.6.0 y 2.6.1, problema relacionado #1365
- Solucione el problema del resultado del cálculo de la fórmula de la función
OR
- Solucione el error al insertar columnas o filas en la hoja de trabajo que contiene un rango de celdas combinado de celdas
- Solucione el error al obtener el rango de celdas combinadas en la hoja de trabajo que contiene un rango de celdas combinadas de celdas
- Arreglar el valor de celda de texto enriquecido incompleto en algunos casos
- Caracteres XML de escape para el escritor de flujo para evitar con un archivo corrupto, problema relacionado #1391
- Corrige el error de resultado de la función de fórmula ADDRESS con el nombre de la hoja de trabajo vacía, problema relacionado #1396
- Solucione el problema de insertar imagen en algunos casos, problema relacionado #1404
Optimización del rendimiento
- Mejore el rendimiento de las celdas de fusión de escritores de secuencias, reduzca el costo del tiempo en más del 90% y reduzca el uso de la memoria en aproximadamente un 86% como máximo
- Mejora del rendimiento de la función
SetRow
del escritor de flujo, reduce el uso de la memoria y acelera aproximadamente un 19%
Otros
- Se ha actualizado el módulo de dependencias
- Pruebas unitarias y godoc actualizado
- Uso del nombre especializado en variables y funciones
- Sitio web de documentación con varios idiomas: árabe, alemán, español, inglés, francés, ruso, chino, japonés y coreano, actualizado
Gracias
Gracias por todos los colaboradores de Excelize. A continuación se muestra una lista de colaboradores que tienen contribuciones de código en esta versión:
- @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)