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
GetCellStyleya 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
PivotTableOptionaPivotTableOptions - Cambiar el nombre de
FormatHeaderFooteraHeaderFooterOptions - Cambiar el nombre de
FormatSheetProtectionaSheetProtectionOptions - Cambiar el nombre de
SparklineOptionaSparklineOptions - Cambiar el nombre de
ErrExistsWorksheetaErrExistsSheet
- 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,ZeroHeightyZoomScale - Eliminar 2 constantes exportadas:
OrientationPortraityOrientationLandscape - Cambiar firma de 21 funciones:
- Cambiar
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorafunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - Cambiar
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorafunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - Cambiar
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorafunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - Cambiar
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorafunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - Cambiar
func (f *File) GetSheetIndex(sheet string) intafunc (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) boolafunc (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) intafunc (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) errorafunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - Cambiar
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorafunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - Cambiar
func (f *File) AddShape(sheet, cell, opts string) errorafunc (f *File) AddShape(sheet, cell string, opts *Shape) error - Cambiar
func (f *File) AddPicture(sheet, cell, picture, format string) errorafunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - Cambiar
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) errorafunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error - Cambiar
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorafunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - Cambiar
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorafunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - Cambiar
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorafunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - Cambiar
func (f *File) SetPanes(sheet, panes string) errorafunc (f *File) SetPanes(sheet string, panes *Panes) error - Cambiar
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorafunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- Cambiar
- Introduce una nueva función en lugar de las funciones existentes:
- Utilice
SetSheetPropsen lugar deSetSheetPrOptionsySetSheetFormatPr - Utilice
GetSheetPropsen lugar deGetSheetPrOptionsyGetSheetFormatPr - Utilice
SetSheetViewen lugar deSetSheetViewOptions - Utilice
GetSheetViewen lugar deGetSheetViewOptions - Utilice
SetWorkbookPropsen lugar deSetWorkbookPrOptions - Utilice
GetWorkbookPropsen lugar deGetWorkbookPrOptions - Utilice
InsertRowsen lugar deInsertRowpara admitir la inserción de varias filas a la vez - Utilice
InsertColsen lugar deInsertColpara admitir la inserción de varias columnas a la vez
- Utilice
- Agregue
CellTypeFormula,CellTypeInlineString,CellTypeSharedStringy elimineCellTypeStringen 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,GetDefaultFontySetDefaultFont
Características notables
- Agregue nuevas funciones
GetDataValidationsyGetConditionalFormatspara obtener validaciones de datos y formatos condicionales, problema relacionado #827 - Agregue las nuevas funciones
ProtectWorkbookyUnprotectWorkbookpara la protección de libros de trabajo - Agregue la nueva función
SetSheetColpara establecer celdas de columna de la hoja de trabajo, problema relacionado #1247 - Agregue una nueva función
GetColStylepara obtener estilos de columna, problema relacionado #1293 - Agregue la nueva función
SetSheetBackgroundFromBytespara 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,ShapeParagraphyTableOptions - Nuevo soporte para 2 funciones de fórmula: AGGREGATE y SUBTOTAL
- Las funciones
Save,WriteyWriteToahora aceptan opciones de guardado, problema relacionado #744 - El soporte de la función
AddChartespecifica si la línea suave del gráfico de líneas, problema relacionado #1290 - El soporte de la función
AddChartestablece un color de línea personalizado en los gráficos, problema relacionado #1345 - La función
AddChartadmite un estilo de fuente de eje de gráfico personalizado, problema relacionado #320 - El soporte de la función
AddChartcrea un gráfico de líneas 3D - Las funciones
SetColWidth,GetColWidth,SetColVisible,GetColVisible,SetColStyleyGetColStyleahora 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
RowOptspara 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,ErrSheetNameLengthyErrSheetNameSingleQuote - 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
Closedel libro de trabajo ahora admite archivos temporales del escritor de flujo de limpieza - La función
AddPictureahora 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
SetRowdel 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)