Hoja de cálculo
Establecer visibilidad de columna
func (f *File) SetColVisible(sheet, col string, visible bool) error
Establece la visibilidad de la columna especificada en función del nombre de la hoja de cálculo y el nombre de la columna especificados. Esta función es segura para la concurrencia. Por ejemplo, para ocultar la columna D
en la hoja de cálculo llamada Sheet1
:
err := f.SetColVisible("Sheet1", "D", false)
Oculta las columnas D
a F
en la hoja de cálculo llamada Sheet1
:
err := f.SetColVisible("Sheet1", "D:F", false)
Establecer ancho de columna
func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error
Establece el ancho de una o más columnas en función del nombre de la hoja de cálculo, el rango de columnas y el valor de ancho proporcionados. Esta función es segura para la concurrencia. Por ejemplo, para establecer el ancho de las columnas A
a H
en la hoja de cálculo llamada Sheet1
en 20
:
err := f.SetColWidth("Sheet1", "A", "H", 20)
Establecer altura de fila
func (f *File) SetRowHeight(sheet string, row int, height float64) error
Establece la altura de una sola fila en función del nombre de la hoja de cálculo, el número de fila y el valor de altura proporcionados. Por ejemplo, para establecer la altura de la primera fila en la hoja de cálculo llamada Sheet1
en 50
:
err := f.SetRowHeight("Sheet1", 1, 50)
Establecer visibilidad de fila
func (f *File) SetRowVisible(sheet string, row int, visible bool) error
Establece la visibilidad de la fila especificada en función del nombre de la hoja de cálculo y el número de fila proporcionados. Por ejemplo, para ocultar la segunda fila en la hoja de cálculo llamada Sheet1
:
err := f.SetRowVisible("Sheet1", 2, false)
Obtener nombre de hoja de cálculo
func (f *File) GetSheetName(index int) string
Obtiene el nombre de la hoja de cálculo en función del índice de hoja de cálculo proporcionado. Si la hoja de cálculo no existe, se devolverá una cadena vacía.
Obtener visibilidad de columna
func (f *File) GetColVisible(sheet, column string) (bool, error)
Obtiene la visibilidad de la columna especificada en la hoja de cálculo en función del nombre de la hoja de cálculo y el nombre de la columna proporcionados. Un valor de retorno true
indica visibilidad, mientras que false
indica invisibilidad. Esta función es segura para la concurrencia. Por ejemplo, para obtener la visibilidad de la columna D
en la hoja de cálculo llamada Sheet1
:
visible, err := f.GetColVisible("Sheet1", "D")
Obtener ancho de columna
func (f *File) GetColWidth(sheet, col string) (float64, error)
Obtiene el ancho de la columna especificada en la hoja de cálculo en función del nombre de la hoja de cálculo y el nombre de la columna proporcionados. Esta función es segura para la concurrencia.
Obtener altura de fila
func (f *File) GetRowHeight(sheet string, row int) (float64, error)
Obtiene la altura de la fila especificada en la hoja de cálculo en función del nombre de la hoja de cálculo y el número de fila proporcionados. Por ejemplo, para obtener la altura de la primera fila en la hoja de cálculo llamada Sheet1
:
height, err := f.GetRowHeight("Sheet1", 1)
Obtener visibilidad de fila
func (f *File) GetRowVisible(sheet string, row int) (bool, error)
Obtiene la visibilidad de la fila especificada en la hoja de cálculo en función del nombre de la hoja de cálculo y el número de fila proporcionados. Por ejemplo, para obtener la visibilidad de la segunda fila en la hoja de cálculo llamada Sheet1
:
visible, err := f.GetRowVisible("Sheet1", 2)
Obtener el índice de una hoja de cálculo
func (f *File) GetSheetIndex(sheet string) (int, error)
Obtiene el índice de la hoja de cálculo proporcionada por su nombre. Devuelve -1
si la hoja de cálculo no existe. El índice obtenido se puede utilizar como parámetro al llamar a la función SetActiveSheet()
para establecer la hoja de cálculo predeterminada del libro de trabajo.
Obtener el mapeo de las hojas de cálculo
func (f *File) GetSheetMap() map[int]string
Obtiene el mapeo de todas las hojas de cálculo, hojas de gráficos y hojas de diálogo en el libro, representado por ID y nombre.
f, err := excelize.OpenFile("Libro1.xlsx")
if err != nil {
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
for index, name := range f.GetSheetMap() {
fmt.Println(index, name)
}
Obtener la lista de hojas de cálculo
func (f *File) GetSheetList() []string
Obtiene la lista de hojas de cálculo, incluyendo hojas de cálculo, hojas de gráficos y hojas de diálogo en el mismo orden en que aparecen en el libro.
Establecer el nombre de una hoja de cálculo
func (f *File) SetSheetName(source, target string) error
Renombra la hoja de cálculo en función de los nombres de la hoja de cálculo antiguos y nuevos proporcionados. El nombre de la hoja de cálculo puede tener hasta 31 caracteres. Esta función solo cambia el nombre de la hoja de cálculo y no actualizará las fórmulas asociadas con las celdas o los nombres de las hojas de cálculo en las referencias. Por lo tanto, el uso de esta función para renombrar una hoja de cálculo puede resultar en errores de fórmulas o problemas de referencia.
Insertar columnas
func (f *File) InsertCols(sheet, col string, n int) error
Inserta columnas vacías antes de la columna especificada en función del nombre de la hoja de cálculo, el nombre de la columna y la cantidad de columnas a insertar. Por ejemplo, inserta 2 columnas vacías antes de la columna C
en la hoja de cálculo llamada Hoja1
:
err := f.InsertCols("Hoja1", "C", 2)
Insertar filas
func (f *File) InsertRows(sheet string, row, n int) error
Inserta filas vacías antes de la fila especificada en función del nombre de la hoja de cálculo, el número de fila y la cantidad de filas a insertar. Por ejemplo, inserta 2 filas vacías antes de la 3ra fila en la hoja de cálculo llamada Hoja1
:
err := f.InsertRows("Hoja1", 3, 2)
Duplicar y copiar filas
func (f *File) DuplicateRow(sheet string, row int) error
Agrega una fila duplicada después del número de fila proporcionado en función del nombre de la hoja de cálculo suministrado. Por ejemplo, duplica la 2da fila de la hoja de cálculo llamada Hoja1
a la 3ra fila:
err := f.DuplicateRow("Hoja1", 2)
Ejercer precaución al usar este método, ya que afectará todos los cambios a las fórmulas originales, gráficos y otras referencias de recursos en la hoja de cálculo. Si la hoja de cálculo contiene valores de referencia, abrirla usando una aplicación de Excel después de usar este método puede provocar errores de archivo. excelize actualmente solo admite actualizaciones en referencias parciales en la hoja de cálculo.
Duplicar fila
func (f *File) DuplicateRowTo(sheet string, row, row2 int) error
Duplica la fila después de la fila especificada en función del nombre de la hoja y el número de fila. Por ejemplo, duplica la segunda fila de la hoja de cálculo llamada Hoja1
después de la séptima fila:
err := f.DuplicateRowTo("Hoja1", 2, 7)
Por favor, use este método con precaución, ya que afectará todos los cambios en las fórmulas originales, gráficos y otros recursos referenciados en la hoja de cálculo. Si la hoja de cálculo contiene valores de referencia, abrirla con una aplicación de Excel después de usar este método puede resultar en errores de archivo. excelize actualmente solo admite actualizaciones en referencias parciales en la hoja de cálculo.
Establecer nivel de esquema de fila
func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error
Crea un grupo en función del nombre de la hoja, número de fila y parámetro de nivel de esquema. Por ejemplo, crea un grupo de nivel 1 en la segunda fila de la hoja de cálculo llamada Hoja1
.
err := f.SetRowOutlineLevel("Hoja1", 2, 1)
Establecer el Nivel de Esquema de Columna
func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error
Cree un grupo basado en el nombre de hoja, el nombre de columna y el parámetro de nivel de esquema dados. Por ejemplo, cree un grupo de nivel 2 en la columna D
de la hoja de cálculo llamada Sheet1
.
err := f.SetColOutlineLevel("Sheet1", "D", 2)
Obtener el Nivel de Esquema de Fila
func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)
Obtenga el nivel de esquema basado en el nombre de hoja y el número de fila dados. Por ejemplo, obtenga el nivel de esquema de la segunda fila en la hoja de cálculo llamada Sheet1
.
level, err := f.GetRowOutlineLevel("Sheet1", 2)
Obtener el Nivel de Esquema de Columna
func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)
Obtenga el nivel de esquema basado en el nombre de hoja y el nombre de columna dados. Por ejemplo, obtenga el nivel de esquema de la columna D
en la hoja de cálculo llamada Sheet1
.
level, err := f.GetColOutlineLevel("Sheet1", "D")
Iterador de Columnas
func (f *File) Cols(sheet string) (*Cols, error)
Obtenga el iterador de columnas de la hoja de cálculo especificada basado en el nombre de hoja dado. Esta función es segura para la concurrencia. Utilice el iterador de columnas para la lectura en continuo y el recorrido de celdas:
cols, err := f.Cols("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for cols.Next() {
col, err := cols.Rows()
if err != nil {
fmt.Println(err)
}
for _, rowCell := range col {
fmt.Print(rowCell, "\t")
}
fmt.Println()
}
Iterador de Columnas - Obtener Valores de una Única Columna
func (cols *Cols) Rows(opts ...Options) ([]string, error)
Devuelve los valores de todas las filas en la columna actual.
Iterador de Columnas - Operación de Recorrido
func (cols *Cols) Next() bool
Devuelve true
si hay valores en la siguiente columna.
Iterador de Columnas - Manejo de Errores
func (cols *Cols) Error() error
Devuelve un error cuando ocurre un error al buscar la siguiente columna.
Iterador de Filas
func (f *File) Rows(sheet string) (*Rows, error)
Obtenga el iterador de filas del nombre de hoja dado. Esta función es segura para la concurrencia. Utilice el iterador de filas para recorrer celdas para lectura en continuo:
rows, err := f.Rows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for rows.Next() {
row, err := rows.Columns()
if err != nil {
fmt.Println(err)
}
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
if err = rows.Close(); err != nil {
fmt.Println(err)
}
Iterador de Filas - Operación de Fila Única
func (rows *Rows) Columns(opts ...Options) ([]string, error)
Esta función lee en continuo la hoja de cálculo fila por fila, devolviendo los valores de cada celda en la fila actual, sin omitir filas en blanco válidas al final de la hoja de cálculo.
Iterador de Filas - Operación de Recorrido
func (rows *Rows) Next() bool
Devuelve true
si hay un valor en la siguiente fila.
Iterador de Filas - Manejo de Errores
func (rows *Rows) Error() error
Devuelve un error
cuando ocurre un error durante la búsqueda de la siguiente fila.
Iterador de Filas - Leer Propiedades de la Fila
func (rows *Rows) GetRowOpts() RowOpts
Devuelve las propiedades actuales de la fila, como la altura de la fila, la visibilidad y el ID de estilo.
Iterador de Filas - Cerrar Flujo de Datos
func (rows *Rows) Close() error
Cierra el flujo de datos y limpia cualquier caché del disco del sistema que se haya generado al abrir la hoja de cálculo.
Búsqueda en la hoja de cálculo
func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)
Obtén las coordenadas basadas en el nombre de la hoja de cálculo, el valor de la celda o la expresión regular. Esta función solo admite coincidencias completas de cadenas y números, no admite resultados calculados, números formateados y búsquedas condicionales. Si el resultado de la búsqueda es una celda fusionada, se devolverán las coordenadas de la esquina superior izquierda del área fusionada.
Por ejemplo, busca las coordenadas del valor 100
en la hoja de cálculo llamada Sheet1
:
resultado, err := f.SearchSheet("Sheet1", "100")
Por ejemplo, busca las coordenadas de los valores numéricos en el rango 0-9
en la hoja de cálculo llamada Sheet1
:
resultado, err := f.SearchSheet("Sheet1", "[0-9]", true)
Proteger la hoja de cálculo
func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error
Evita que otros usuarios cambien, muevan o eliminen datos en la hoja de cálculo de forma accidental o intencional. El campo opcional AlgorithmName
permite especificar el algoritmo de hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 o SHA-512. Si no se especifica el algoritmo de hash, se utilizará el algoritmo XOR de forma predeterminada. Por ejemplo, configurar la protección con contraseña para la hoja de cálculo llamada Sheet1
pero permitiendo la selección de celdas bloqueadas, la selección de celdas desbloqueadas y escenarios de edición:
err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
AlgorithmName: "SHA-512",
Password: "contraseña",
SelectLockedCells: true,
SelectUnlockedCells: true,
EditScenarios: true,
})
SheetProtectionOptions define las opciones de configuración para proteger la hoja de cálculo.
type SheetProtectionOptions struct {
AlgorithmName string
AutoFilter bool
DeleteColumns bool
DeleteRows bool
EditObjects bool
EditScenarios bool
FormatCells bool
FormatColumns bool
FormatRows bool
InsertColumns bool
InsertHyperlinks bool
InsertRows bool
Password string
PivotTables bool
SelectLockedCells bool
SelectUnlockedCells bool
Sort bool
}
Desproteger la hoja de cálculo
func (f *File) UnprotectSheet(sheet string, password ...string) error
Desprotege la hoja de cálculo según el nombre de la hoja de cálculo dado y especifica el segundo parámetro de contraseña opcional para cancelar la protección de la hoja de cálculo mediante la validación de la contraseña.
Eliminar columna
func (f *File) RemoveCol(sheet, col string) error
Elimina la columna especificada según el nombre de la hoja de cálculo y el nombre de la columna dado. Por ejemplo, elimina la columna C
en la hoja de cálculo llamada Sheet1
:
err := f.RemoveCol("Sheet1", "C")
Utilice este método con precaución, ya que afectará a todos los cambios en la fórmula original, gráfico y otras referencias de recursos en la hoja de cálculo. Si la hoja de cálculo contiene algún valor referenciado, el uso de este método puede provocar errores en el archivo al abrirlo con la aplicación Excel después de su uso. Excelize actualmente solo admite actualizaciones parciales en los valores referenciados en la hoja de cálculo.
Eliminar fila
func (f *File) RemoveRow(sheet string, row int) error
Elimina la fila especificada según el nombre de la hoja de cálculo y el número de fila dado. Por ejemplo, elimina la tercera fila en la hoja de cálculo llamada Sheet1
:
err := f.RemoveRow("Sheet1", 3)
Utilice este método con precaución, ya que afectará a todos los cambios en la fórmula original, gráfico y otras referencias de recursos en la hoja de cálculo. Si la hoja de cálculo contiene algún valor referenciado, el uso de este método puede provocar errores en el archivo al abrirlo con la aplicación Excel después de su uso. Excelize actualmente solo admite actualizaciones parciales en los valores referenciados en la hoja de cálculo.
Asignar valores por columna
func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error
Asigna valores por columna según el nombre de la hoja de cálculo, las coordenadas de inicio y la referencia del tipo slice
. Por ejemplo, asigna valores por columna en la columna B
de la hoja de cálculo llamada Sheet1
, con la celda B6
como coordenada de inicio:
err := f.SetSheetCol("Hoja1", "B6", &[]interface{}{"1", nil, 2})
Asignar por fila
func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error
Asigna valores por fila según el nombre de la hoja de trabajo, las coordenadas de inicio y la referencia al tipo de slice
proporcionado. Esta función es segura para la concurrencia. Por ejemplo, en la sexta fila de la hoja de trabajo llamada Hoja1
, se pueden asignar valores por fila a partir de la celda B6
:
err := f.SetSheetRow("Hoja1", "B6", &[]interface{}{"1", nil, 2})
Insertar salto de página
func (f *File) InsertPageBreak(sheet, cell string) error
Inserta un salto de página según el nombre de la hoja de trabajo y las coordenadas de la celda. Los saltos de página son las líneas divisorias que separan la hoja de trabajo en páginas individuales con fines de impresión.
Eliminar salto de página
func (f *File) RemovePageBreak(sheet, cell string) error
Elimina un salto de página según el nombre de la hoja de trabajo y las coordenadas de la celda.
Establecer dimensión de la hoja de trabajo
func (f *File) SetSheetDimension(sheet string, rangeRef string) error
Establece o elimina el área utilizada de la hoja de trabajo según el nombre de la hoja de trabajo y las coordenadas de la celda o el rango de coordenadas de celda proporcionado. Las celdas utilizadas incluyen celdas con fórmulas, contenido de texto y formato de celdas, por ejemplo, A1:D5
. Cuando el rango de coordenadas de celda proporcionado es una cadena vacía, se eliminará el área utilizada de la hoja de trabajo.
Obtener dimensión de la hoja de trabajo
func (f *File) GetSheetDimension(sheet string) (string, error)
Obtiene el área utilizada de la hoja de trabajo especificada según el nombre de la hoja de trabajo proporcionado.