Planilha

Definir Visibilidade da Coluna

func (f *File) SetColVisible(planilha, coluna string, visivel bool) error

Defina a visibilidade da coluna especificada com base no nome da planilha e nome da coluna especificados. Esta função é segura para concorrência. Por exemplo, para ocultar a coluna D na planilha chamada Planilha1:

err := f.SetColVisible("Planilha1", "D", false)

Ocultar as colunas de D a F na planilha chamada Planilha1:

err := f.SetColVisible("Planilha1", "D:F", false)

Definir Largura da Coluna

func (f *File) SetColWidth(planilha, colunaInicial, colunaFinal string, largura float64) error

Defina a largura de uma ou mais colunas com base no nome da planilha, intervalo de colunas e valor de largura fornecidos. Esta função é segura para concorrência. Por exemplo, para definir a largura das colunas de A a H na planilha chamada Planilha1 como 20:

err := f.SetColWidth("Planilha1", "A", "H", 20)

Definir Altura da Linha

func (f *File) SetRowHeight(planilha string, linha int, altura float64) error

Defina a altura de uma única linha com base no nome da planilha, número da linha e valor de altura fornecidos. Por exemplo, para definir a altura da primeira linha na planilha chamada Planilha1 como 50:

err := f.SetRowHeight("Planilha1", 1, 50)

Definir Visibilidade da Linha

func (f *File) SetRowVisible(planilha string, linha int, visivel bool) error

Defina a visibilidade da linha especificada com base no nome da planilha e número da linha fornecidos. Por exemplo, para ocultar a segunda linha na planilha chamada Planilha1:

err := f.SetRowVisible("Planilha1", 2, false)

Obter Nome da Planilha

func (f *File) GetSheetName(indice int) string

Obtenha o nome da planilha com base no índice da planilha fornecido. Se a planilha não existir, uma string vazia será retornada.

Obter Visibilidade da Coluna

func (f *File) GetColVisible(planilha, coluna string) (bool, error)

Obtenha a visibilidade da coluna especificada na planilha com base no nome da planilha e nome da coluna fornecidos. Um valor de retorno true indica visibilidade, enquanto false indica invisibilidade. Esta função é segura para concorrência. Por exemplo, para obter a visibilidade da coluna D na planilha chamada Planilha1:

visivel, err := f.GetColVisible("Planilha1", "D")

Obter Largura da Coluna

func (f *File) GetColWidth(planilha, coluna string) (float64, error)

Obtenha a largura da coluna especificada na planilha com base no nome da planilha e nome da coluna fornecidos. Esta função é segura para concorrência.

Obter Altura da Linha

func (f *File) GetRowHeight(planilha string, linha int) (float64, error)

Obtenha a altura da linha especificada na planilha com base no nome da planilha e número da linha fornecidos. Por exemplo, para obter a altura da primeira linha na planilha chamada Planilha1:

altura, err := f.GetRowHeight("Planilha1", 1)

Obter Visibilidade da Linha

func (f *File) GetRowVisible(planilha string, linha int) (bool, error)

Obtenha a visibilidade da linha especificada na planilha com base no nome da planilha e número da linha fornecidos. Por exemplo, para obter a visibilidade da segunda linha na planilha chamada Planilha1:

visivel, err := f.GetRowVisible("Planilha1", 2)

Obter o índice de uma planilha

func (f *File) GetSheetIndex(planilha string) (int, error)

Obtenha o índice da planilha fornecida pelo seu nome. Retorna -1 se a planilha não existir. O índice obtido pode ser usado como parâmetro ao chamar a função SetActiveSheet() para definir a planilha padrão da pasta de trabalho.

Obtenha o mapeamento das planilhas

func (f *File) GetSheetMap() map[int]string

Obtenha o mapeamento de todas as planilhas, planilhas de gráficos e planilhas de diálogo na pasta de trabalho, representadas por ID e nome.

f, err := excelize.OpenFile("Book1.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)
}

Obtenha a lista de planilhas

func (f *File) GetSheetList() []string

Obtenha a lista de planilhas, incluindo planilhas, planilhas de gráficos e planilhas de diálogo na mesma ordem em que aparecem na pasta de trabalho.

Defina o nome de uma planilha

func (f *File) SetSheetName(source, target string) error

Renomeie a planilha com base nos nomes antigo e novo da planilha fornecidos. O nome da planilha pode ter até 31 caracteres. Esta função apenas muda o nome da planilha e não atualizará as fórmulas associadas às células ou nomes de planilhas em referências. Portanto, usar essa função para renomear uma planilha pode resultar em erros de fórmula ou problemas de referência.

Inserir colunas

func (f *File) InsertCols(sheet, col string, n int) error

Insira colunas vazias antes da coluna especificada com base no nome da planilha fornecido, nome da coluna e no número de colunas a serem inseridas. Por exemplo, insira 2 colunas vazias antes da coluna C na planilha chamada Planilha1:

err := f.InsertCols("Planilha1", "C", 2)

Inserir linhas

func (f *File) InsertRows(sheet string, row, n int) error

Insira linhas vazias antes da linha especificada com base no nome da planilha fornecido, número da linha e no número de linhas a serem inseridas. Por exemplo, insira 2 linhas vazias antes da 3ª linha na planilha chamada Planilha1:

err := f.InsertRows("Planilha1", 3, 2)

Anexar e copiar linhas

func (f *File) DuplicateRow(sheet string, row int) error

Anexe uma duplicata após o número de linha fornecido com base no nome da planilha fornecido. Por exemplo, duplique a 2ª linha da planilha chamada Planilha1 para a 3ª linha:

err := f.DuplicateRow("Planilha1", 2)

Exercite cautela ao usar este método, pois afetará todas as alterações nas fórmulas originais, gráficos e outras referências de recursos na planilha. Se a planilha contiver quaisquer valores de referência, usá-la em um aplicativo Excel após o uso deste método pode levar a erros de arquivo. Atualmente, o excelize oferece suporte apenas a atualizações em referências parciais na planilha.

Duplicar Linha

func (f *File) DuplicateRowTo(sheet string, row, row2 int) error

Duplica a linha após a linha especificada com base no nome da planilha e número da linha fornecidos. Por exemplo, duplique a segunda linha da planilha chamada Planilha1 após a sétima linha:

err := f.DuplicateRowTo("Planilha1", 2, 7)

Por favor, use este método com cautela, pois afetará todas as alterações nas fórmulas originais, gráficos e outros recursos referenciados na planilha. Se a planilha contiver quaisquer valores referenciados, abri-la com um aplicativo Excel após o uso deste método pode resultar em erros de arquivo. Atualmente, o excelize oferece suporte apenas a atualizações em referências parcialmente referenciadas na planilha.

Definir nível de destaque da linha

func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error

Crie um grupo com base no nome da planilha, número da linha e parâmetro de nível de destaque. Por exemplo, crie um grupo de nível 1 na segunda linha da planilha chamada Planilha1.

Definir nível de destaque da linha

err := f.SetRowOutlineLevel("Planilha1", 2, 1)

Definir Nível de Destaque da Coluna

func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error

Criar um grupo com base no nome da planilha, nome da coluna e parâmetro do nível de destaque. Por exemplo, criar um grupo de nível 2 na coluna D da planilha chamada Planilha1.

Definir Nível de Destaque da Coluna

err := f.SetColOutlineLevel("Planilha1", "D", 2)

Obter Nível de Destaque da Linha

func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)

Obter o nível de destaque com base no nome da planilha e no número da linha. Por exemplo, obter o nível de destaque da segunda linha na planilha chamada Planilha1.

level, err := f.GetRowOutlineLevel("Planilha1", 2)

Obter Nível de Destaque da Coluna

func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)

Obter o nível de destaque com base no nome da planilha e no nome da coluna. Por exemplo, obter o nível de destaque da coluna D na planilha chamada Planilha1.

level, err := f.GetColOutlineLevel("Planilha1", "D")

Iterador de Coluna

func (f *File) Cols(sheet string) (*Cols, error)

Obter o iterador de coluna da planilha especificada com base no nome da planilha fornecido. Esta função é segura para concorrência. Use o iterador de coluna para leitura em streaming e travessia de células:

cols, err := f.Cols("Planilha1")
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 Coluna - Obter Valores de uma Única Coluna

func (cols *Cols) Rows(opts ...Options) ([]string, error)

Retorna os valores de todas as linhas na coluna atual.

Iterador de Coluna - Operação de Travessia

func (cols *Cols) Next() bool

Retorna true se houver valores na próxima coluna.

Iterador de Coluna - Manipulação de Erros

func (cols *Cols) Error() error

Retorna um erro quando ocorre um erro ao procurar a próxima coluna.

Iterador de Linha

func (f *File) Rows(sheet string) (*Rows, error)

Obter o iterador de linha do nome da planilha fornecido. Esta função é segura para concorrência. Use o iterador de linha para iterar através das células para leitura em streaming:

rows, err := f.Rows("Planilha1")
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 Linha - Operação de Única Linha

func (rows *Rows) Columns(opts ...Options) ([]string, error)

Esta função lê em streaming a planilha linha por linha, retornando os valores de cada célula na linha atual, sem pular linhas em branco válidas no final da planilha.

Iterador de Linha - Operação de Travessia

func (rows *Rows) Next() bool

Retorna true se houver um valor na próxima linha.

Iterador de Linha - Manipulação de Erros

func (rows *Rows) Error() error

Retorna um error quando ocorre um erro durante a busca pela próxima linha.

Iterador de Linha - Ler Propriedades da Linha

func (rows *Rows) GetRowOpts() RowOpts

Retorna as propriedades atuais da linha, como altura da linha, visibilidade e ID do estilo.

Iterador de Linha - Fechar Fluxo de Dados

func (rows *Rows) Close() error

Fecha o fluxo de dados e limpa qualquer cache de disco do sistema que possa ter sido gerado ao abrir a planilha.

Procurar na Planilha

func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)

Obtenha as coordenadas com base no nome da planilha fornecido, valor da célula ou expressão regular. Esta função suporta apenas correspondências completas de strings e números, não suporta resultados calculados, números formatados e buscas condicionais. Se o resultado da busca for uma célula mesclada, as coordenadas do canto superior esquerdo da área mesclada serão retornadas.

Por exemplo, pesquise as coordenadas do valor 100 na planilha denominada Sheet1:

result, err := f.SearchSheet("Sheet1", "100")

Por exemplo, pesquise as coordenadas dos valores numéricos no intervalo 0-9 na planilha denominada Sheet1:

result, err := f.SearchSheet("Sheet1", "[0-9]", true)

Proteger a Planilha

func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error

Impedir que outros usuários alterem, movam ou excluam dados na planilha acidentalmente ou intencionalmente. O campo opcional AlgorithmName suporta a especificação do algoritmo de hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 ou SHA-512. Se o algoritmo de hash não for especificado, o algoritmo XOR será usado por padrão. Por exemplo, definir proteção por senha para a planilha denominada Sheet1, mas permitir a seleção de células bloqueadas, a seleção de células desbloqueadas e cenários de edição:

Proteger Planilha

err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
    AlgorithmName:       "SHA-512",
    Password:            "senha",
    SelectLockedCells:   true,
    SelectUnlockedCells: true,
    EditScenarios:       true,
})

SheetProtectionOptions define as opções de configuração para proteger a planilha.

type SheetProtectionOptions struct {
    AlgorithmName       string
    FiltroAutomático    bool
    ExcluirColunas      bool
    ExcluirLinhas       bool
    EditarObjetos       bool
    EditarCenários      bool
    FormatarCélulas     bool
    FormatarColunas     bool
    FormatarLinhas      bool
    InserirColunas      bool
    InserirHiperlinks   bool
    InserirLinhas       bool
    Senha               string
    TabelasPivot        bool
    SelecionarCélulasBloqueadas   bool
    SelecionarCélulasDesbloqueadas bool
    Ordenar             bool
}

Desproteger a Planilha

func (f *File) UnprotectSheet(sheet string, password ...string) error

Desproteja a planilha de acordo com o nome da planilha fornecido e especifique o segundo parâmetro de senha opcional para cancelar a proteção por senha.

Remover Coluna

func (f *File) RemoveCol(sheet, col string) error

Excluir a coluna especificada de acordo com o nome da planilha fornecido e o nome da coluna. Por exemplo, exclua a coluna C na planilha denominada Sheet1:

err := f.RemoveCol("Sheet1", "C")

Use este método com cautela, pois isso afetará todas as alterações nas referências originais a fórmulas, gráficos e outros recursos na planilha. Se a planilha contiver quaisquer valores referenciados, o uso deste método poderá causar erros no arquivo ao ser aberto com o aplicativo Excel após o uso. Atualmente, o Excelize suporta apenas atualizações parciais em valores referenciados na planilha.

Remover Linha

func (f *File) RemoveRow(sheet string, row int) error

Excluir a linha especificada de acordo com o nome da planilha e o número da linha fornecidos. Por exemplo, exclua a terceira linha na planilha denominada Sheet1:

err := f.RemoveRow("Sheet1", 3)

Use este método com cautela, pois isso afetará todas as alterações nas referências originais a fórmulas, gráficos e outros recursos na planilha. Se a planilha contiver quaisquer valores referenciados, o uso deste método poderá causar erros no arquivo ao ser aberto com o aplicativo Excel após o uso. Atualmente, o Excelize suporta apenas atualizações parciais em valores referenciados na planilha.

Atribuir Valores por Coluna

func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error

Atribuir valores por coluna de acordo com o nome da planilha, coordenadas de início e a referência do tipo slice. Por exemplo, atribuir valores por coluna na coluna B da planilha denominada Sheet1, com a célula B6 como coordenada de início:

err := f.SetSheetCol("Sheet1", "B6", &[]interface{}{"1", nil, 2})

Atribuir por Linha

func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error

Atribui valores por linha com base no nome da planilha fornecida, coordenadas de início e a referência ao tipo de slice. Esta função é segura para concorrência. Por exemplo, na 6ª linha da planilha chamada Planilha1, os valores podem ser atribuídos por linha a partir da célula B6:

err := f.SetSheetRow("Planilha1", "B6", &[]interface{}{"1", nil, 2})

Inserir Quebra de Página

func (f *File) InsertPageBreak(sheet, cell string) error

Insere uma quebra de página com base no nome da planilha e coordenadas da célula fornecidas. As quebras de página são as linhas divisórias que separam a planilha em páginas individuais para fins de impressão.

Remover Quebra de Página

func (f *File) RemovePageBreak(sheet, cell string) error

Remove uma quebra de página com base no nome da planilha e coordenadas da célula fornecidas.

Definir Dimensão da Planilha

func (f *File) SetSheetDimension(sheet string, rangeRef string) error

Define ou remove a área utilizada da planilha com base no nome da planilha e coordenadas da célula ou intervalo de coordenadas da célula fornecidos. As células utilizadas incluem células com fórmulas, conteúdo de texto e formatação de células, por exemplo, A1:D5. Quando o intervalo de coordenadas da célula fornecido é uma string vazia, ele removerá a área utilizada da planilha.

Obter Dimensão da Planilha

func (f *File) GetSheetDimension(sheet string) (string, error)

Obtém a área utilizada da planilha especificada com base no nome da planilha fornecido.