Pasta de trabalho
Options
define as opções para ler e escrever planilhas.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
MaxCalcIterations
é usado para especificar o número máximo de iterações ao calcular fórmulas, com um valor padrão de 0.
Password
é usado para especificar a senha para abrir e salvar a pasta de trabalho em texto simples, com um valor padrão vazio.
RawCellValue
é usado para especificar se deve recuperar o valor bruto ao ler os valores das células, com um valor padrão de false
(aplicando formato de número).
UnzipSizeLimit
é usado para especificar o limite de tamanho (em bytes) para descompressão ao abrir um documento de planilha, que deve ser maior ou igual a UnzipXMLSizeLimit
, com um limite padrão de 16GB.
UnzipXMLSizeLimit
é usado para especificar o limite de memória (em bytes) ao descomprimir cada planilha e tabela de strings compartilhadas, e quando o tamanho excede esse valor, o arquivo XML da planilha será descomprimido para o diretório temporário do sistema. Este valor deve ser menor ou igual a UnzipSizeLimit
, com um limite padrão de 16MB.
ShortDatePattern
é usado para especificar o código de formato numérico de data curta.
LongDatePattern
é usado para especificar o código de formato numérico de data longa.
LongTimePattern
é usado para especificar o código de formato numérico de hora longa.
CultureInfo
é usado para especificar o formato regional, que será usado ao ler os formatos numéricos influenciados pelas configurações de data e hora específicas da região.
Criar
func NewFile(opts ...Options) *File
Use NewFile
para criar uma nova pasta de trabalho do Excel, que por padrão conterá uma planilha chamada Sheet1
.
Abrir
func OpenFile(filename string, opts ...Options) (*File, error)
Use OpenFile
para abrir um documento do Excel existente. Por exemplo, abra um documento de planilha com proteção por senha:
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
Use Close()
para fechar a pasta de trabalho aberta.
Abrir fluxo de dados
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader lê dados de io.Reader
.
No exemplo a seguir, criamos um servidor HTTP simples para receber documentos de planilha enviados, adicionar uma nova planilha ao documento recebido e retornar uma resposta de download:
package main
import (
"fmt"
"net/http"
"github.com/xuri/excelize/v2"
)
func process(w http.ResponseWriter, req *http.Request) {
file, _, err := req.FormFile("file")
if err != nil {
fmt.Fprint(w, err.Error())
return
}
defer file.Close()
f, err := excelize.OpenReader(file)
if err != nil {
fmt.Fprint(w, err.Error())
return
}
f.Path = "Book1.xlsx"
f.NewSheet("NewSheet")
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
if err := f.Write(w); err != nil {
fmt.Fprint(w, err.Error())
}
}
func main() {
http.HandleFunc("/process", process)
http.ListenAndServe(":8090", nil)
}
Testando usando cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
Salvar
func (f *File) Save(opts ...Options) error
Use Save
para salvar as edições em um documento do Excel.
Salvar como
func (f *File) SaveAs(name string, opts ...Options) error
Use SaveAs
para salvar o documento do Excel como um arquivo especificado.
Fechar Pasta de Trabalho
func (f *File) Close() error
Feche a pasta de trabalho e limpe qualquer cache de disco do sistema que possa ter sido criado ao abrir o documento.
Nova Planilha
func (f *File) NewSheet(sheet string) (int, error)
Crie uma nova planilha com base no nome da planilha fornecido e retorne o índice da planilha no livro. Por favor, note que ao criar um novo livro, ele conterá uma planilha padrão chamada Planilha1
.
Excluir Planilha
func (f *File) DeleteSheet(sheet string) error
Exclua a planilha especificada com base no nome da planilha fornecido. Use este método com cautela, pois afetará fórmulas, referências, gráficos e outros elementos associados à planilha excluída. Se outros componentes referenciarem valores na planilha excluída, será exibido um erro e poderá até impedir a abertura do livro. A chamada deste método é inválida quando o livro contém apenas uma planilha.
Copiar Planilha
func (f *File) CopySheet(from, to int) error
Copie a planilha com base na planilha de origem fornecida e no índice da planilha de destino. O desenvolvedor precisa confirmar se o índice da planilha de destino já existe. Atualmente, apenas a cópia de planilhas contendo valores de células e fórmulas é suportada, enquanto a cópia de planilhas contendo tabelas, imagens, gráficos e tabelas dinâmicas não é suportada.
// A planilha chamada Planilha1 já existe ...
index, err := f.NewSheet("Planilha2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Agrupar Planilhas
func (f *File) GroupSheets(sheets []string) error
Agrupe as planilhas com base nos nomes das planilhas fornecidos, e a planilha padrão deve estar incluída nas planilhas fornecidas.
Desagrupar Planilhas
func (f *File) UngroupSheets() error
Desagrupe as planilhas.
Definir Imagem de Fundo da Planilha
func (f *File) SetSheetBackground(sheet, picture string) error
Defina uma imagem de fundo em mosaico para a planilha especificada com base no nome da planilha e no caminho do arquivo de imagem. Os formatos de arquivo de imagem suportados incluem: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF e WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
Defina uma imagem de fundo em mosaico para a planilha especificada com base no nome da planilha, extensão do formato de imagem e dados de formato de imagem. Os formatos de arquivo de imagem suportados incluem: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF e WMZ.
Definir Planilha Padrão
func (f *File) SetActiveSheet(index int)
Defina a planilha padrão com base no valor do índice fornecido, onde o valor deve ser maior ou igual a 0
e menor que o número total cumulativo de planilhas no livro.
Obter Índice da Planilha Padrão
func (f *File) GetActiveSheetIndex() int
Obtenha o índice da planilha padrão, retornando 0
se nenhuma planilha padrão for encontrada.
Definir Visibilidade da Planilha
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
Defina a visibilidade da planilha com base no nome da planilha fornecido e parâmetro de visibilidade. Um livro deve conter pelo menos uma planilha visível. Se a planilha fornecida for a planilha padrão, a configuração de visibilidade é inválida. O terceiro parâmetro opcional veryHidden
é válido apenas quando o valor do parâmetro visible
for false
.
Por exemplo, para ocultar a planilha chamada Planilha1
:
err := f.SetSheetVisible("Planilha1", false)
Obter Visibilidade da Planilha
func (f *File) GetSheetVisible(sheet string) (bool, error)
Obtenha a configuração de visibilidade da planilha com base no nome da planilha fornecido. Por exemplo, para recuperar a configuração de visibilidade da planilha chamada Planilha1
:
visible, err := f.GetSheetVisible("Planilha1")
Definir Propriedades da Planilha
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
Defina as propriedades de uma planilha especificada com base no nome da planilha fornecido e nas opções de propriedade. As opções de propriedade da planilha suportadas são as seguintes:
Propriedade | Tipo | Descrição |
---|---|---|
CodeName | *string |
Nome de código |
EnableFormatConditionsCalculation | *bool |
Especifica se a formatação condicional é calculada automaticamente, com um valor padrão de true |
Published | *bool |
Especifica se a planilha está publicada, com um valor padrão de true |
AutoPageBreaks | *bool |
Especifica se a planilha quebra páginas automaticamente, com um valor padrão de true |
FitToPage | *bool |
Especifica se permite a impressão ajustada à página, com um valor padrão de false |
TabColorIndexed | *int |
Usado para um valor de cor indexada compatível com versões anteriores |
TabColorRGB | *string |
Valor de cor ARGB padrão |
TabColorTheme | *int |
Índice de cor do tema a partir de 0 |
TabColorTint | *float64 |
Valor de tonalidade aplicado à cor, com um valor padrão de 0,0 |
OutlineSummaryBelow | *bool |
Especifica a direção das informações resumidas, se abaixo dos dados detalhados, com um valor padrão de true |
OutlineSummaryRight | *bool |
Especifica a direção das informações resumidas, se à direita dos dados detalhados, com um valor padrão de true |
BaseColWidth | *uint8 |
Largura básica da coluna representada pelo número de caracteres, com um valor padrão de 8 |
DefaultColWidth | *float64 |
Largura padrão da coluna incluindo margens e linhas de grade |
DefaultRowHeight | *float64 |
Altura da linha representada em pontos |
CustomHeight | *bool |
Especifica se a altura da linha personalizada é aplicada, com um valor padrão de false |
ZeroHeight | *bool |
Especifica se as linhas estão ocultas por padrão, com um valor padrão de false |
ThickTop | *bool |
Especifica se as linhas têm uma borda superior espessa por padrão, com um valor padrão de false |
ThickBottom | *bool |
Especifica se as linhas têm uma borda inferior espessa por padrão, com um valor padrão de false |
Por exemplo, para definir a linha padrão na planilha chamada Planilha1
como oculta:
f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Planilha1", &excelize.SheetPropsOptions{
ZeroHeight: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetRowVisible("Planilha1", 10, true); err != nil {
fmt.Println(err)
}
f.SaveAs("Book1.xlsx")
Obter Propriedades da Planilha
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
Obtenha as propriedades de uma planilha especificada com base no nome da planilha fornecido.
Definir Propriedades de Visualização da Planilha
func (f *File) SetSheetView(planilha string, indiceVisualizacao int, opts *OpcoesVisualizacao) error
Define as propriedades de visualização da planilha com base no nome da planilha, no índice de visualização e nas opções de visualização fornecidas. indiceVisualizacao
pode ser um número negativo, caso em que a contagem será feita de trás para frente (-1
representa a última visualização). As opções suportadas para definir as propriedades de visualização da planilha são as seguintes:
Propriedade | Tipo | Descrição |
---|---|---|
DefaultGridColor | *bool |
Especifica se deve usar a cor padrão da linha de grade, o valor padrão é true |
DireitaParaEsquerda | *bool |
Especifica se deve ser exibido da direita para a esquerda, o valor padrão é false |
MostrarFormulas | *bool |
Especifica se a planilha exibe fórmulas, o valor padrão é false |
MostrarLinhasGrade | *bool |
Especifica se a planilha exibe linhas de grade, o valor padrão é true |
MostrarCabecalhosLinhaColuna | *bool |
Especifica se a planilha exibe cabeçalhos de linha e coluna, o valor padrão é true |
MostrarRegua | *bool |
Especifica se deve exibir a régua na visualização de layout de página, o valor padrão é true |
MostrarZeros | *bool |
Especifica se deve exibir valores zero nas células, o valor padrão é true , caso contrário, será exibido em branco |
CelulaSuperiorEsquerda | *string |
Especifica a coordenada da célula superior esquerda visível |
Visualizacao | *string |
Indica o tipo de visualização da planilha, com valores enum normal , visualizacaoQuebraPagina e visualizacaoLayoutPagina |
EscalaZoom | *float64 |
Porcentagem de escala de zoom da janela de exibição da visualização atual, limitada a um intervalo de 10 a 400, o valor padrão é 100 |
Obter Propriedades de Visualização da Planilha
func (f *File) GetSheetView(planilha string, indiceVisualizacao int) (OpcoesVisualizacao, error)
Recupere as propriedades de visualização da planilha com base no nome da planilha e no índice de visualização. indiceVisualizacao
pode ser um número negativo, caso em que a contagem será feita de trás para frente (-1
representa a última visualização).
Definir Layout da Página da Planilha
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
Define os atributos do layout da página da planilha com base no nome da planilha fornecido e nos parâmetros de layout da página. Os atributos de layout de página atualmente suportados incluem:
O atributo Size
é usado para especificar o tamanho do papel da página, sendo o tamanho padrão do layout da página "Letter 8½ × 11 inches". A tabela a seguir mostra a relação entre os tamanhos do layout da página e o índice do parâmetro Size
no Excelize:
Índice | Tamanho do Papel |
---|---|
1 | Letter 8½ × 11 inches |
2 | Letter Small 8½ × 11 inches |
3 | Tabloid 11 × 17 inches |
4 | Ledger 17 × 11 inches |
... | ... |
40 | German Standard Fanfold 8.5 × 12 inches |
41 | German legal paper fanfold 8.5 × 13 inches |
42 | ISO B4 250 × 353 mm |
43 | Japanese postcard 100 × 148 mm |
44 | Standard paper 9 × 11 inches |
45 | Standard paper 10 × 11 inches |
46 | Standard paper 15 × 11 inches |
47 | Convite 220 × 220 mm |
50 | Cabeçalho aumentado 9.275 × 12 inches |
51 | Papel extra grande legal 9.275 × 15 inches |
52 | Papel extra tabloide 11.69 × 18 inches |
53 | A4 extra grande 236 × 322 mm |
54 | Cabeçalho em paisagem 8.275 × 11 inches |
55 | A4 em paisagem 210 × 297 mm |
56 | Cabeçalho extra grande em paisagem 9.275 × 12 inches |
57 | Papel SuperA/SuperA/A4 227 × 356 mm |
58 | Papel SuperB/SuperB/A3 305 × 487 mm |
59 | Cabeçalho aumentado 8.5 × 12.69 inches |
60 | A4 aumentado 210 × 330 mm |
61 | A5 em paisagem 148 × 210 mm |
62 | JIS B5 em paisagem 182 × 257 mm |
63 | A3 extra grande 322 × 445 mm |
64 | A5 extra grande 174 × 235 mm |
65 | ISO B5 extra grande 201 × 276 mm |
66 | A2 420 × 594 mm |
67 | A3 em paisagem 297 × 420 mm |
68 | A3 extra grande em paisagem 322 × 445 mm |
69 | Dobro de cartão postal japonês 200 × 148 mm |
70 | A6 105 × 148 mm |
71 | Envelope japonês Kaku #2 |
72 | Envelope japonês Kaku #3 |
73 | Envelope japonês Chou #3 |
74 | Envelope japonês Chou #4 |
75 | Cabeçalho em paisagem 11 × 8½ inches |
76 | A3 em paisagem 420 × 297 mm |
77 | A4 em paisagem 297 × 210 mm |
78 | A5 em paisagem 210 × 148 mm |
79 | B4 (JIS) em paisagem 364 × 257 mm |
80 | B5 (JIS) em paisagem 257 × 182 mm |
81 | Cartão postal japonês em paisagem 148 × 100 mm |
82 | Dobro de cartão postal japonês em paisagem 148 × 200 mm |
83 | A6 em paisagem 148 × 105 mm |
84 | Envelope japonês Kaku #2 em paisagem |
85 | Envelope japonês Kaku #3 em paisagem |
86 | Envelope japonês Chou #3 em paisagem |
```markdown
| 87 | Envelope japonês Chou #4 Paisagem |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Paisagem 182 × 128 mm |
| 90 | 12 × 11 polegadas |
| 91 | Envelope japonês You #4 |
| 92 | Envelope japonês You #4 Paisagem |
| 93 | Chinês 16K 146 × 215 mm |
| 94 | Chinês 32K 97 × 151 mm |
| 95 | Chinês Grande 32K 97 × 151 mm |
| 96 | Envelope chinês #1 102 × 165 mm |
| 97 | Envelope chinês #2 102 × 176 mm |
| 98 | Envelope chinês #3 125 × 176 mm |
| 99 | Envelope chinês #4 110 × 208 mm |
| 100 | Envelope chinês #5 110 × 220 mm |
| 101 | Envelope chinês #6 120 × 230 mm |
| 102 | Envelope chinês #7 160 × 230 mm |
| 103 | Envelope chinês #8 120 × 309 mm |
| 104 | Envelope chinês #9 229 × 324 mm |
| 105 | Envelope chinês #10 324 × 458 mm |
| 106 | Chinês 16K Paisagem |
| 107 | Chinês 32K Paisagem |
| 108 | Chinês Grande 32K Paisagem |
| 109 | Envelope chinês #1 Paisagem 165 × 102 mm |
| 110 | Envelope chinês #2 Paisagem 176 × 102 mm |
| 111 | Envelope chinês #3 Paisagem 176 × 125 mm |
| 112 | Envelope chinês #4 Paisagem 208 × 110 mm |
| 113 | Envelope chinês #5 Paisagem 220 × 110 mm |
| 114 | Envelope chinês #6 Paisagem 230 × 120 mm |
| 115 | Envelope chinês #7 Paisagem 230 × 160 mm |
| 116 | Envelope chinês #8 Paisagem 309 × 120 mm |
| 117 | Envelope chinês #9 Paisagem 324 × 229 mm |
| 118 | Envelope chinês #10 Paisagem 458 × 324 mm |
A propriedade `Orientation` é usada para especificar a direção do layout da página, com a direção padrão do layout da página sendo "retrato", e os valores opcionais sendo `portrait` e `landscape`.
A propriedade `FirstPageNumber` é usada para especificar o número da página inicial, sendo o padrão automático.
A propriedade `AdjustTo` é usada para especificar a taxa de escala da página, com uma faixa de 10 a 400, ou seja, escalando de 10% a 400%, e o valor padrão é `100` para o tamanho normal. Configurar `FitToHeight` ou `FitToWidth` substituirá esta propriedade.
A propriedade `FitToHeight` é usada para especificar a escala da página para ajustar a largura da página, com um valor padrão de `1`.
A propriedade `FitToWidth` é usada para especificar a escala da página para ajustar a altura da página, com um valor padrão de `1`.
A propriedade `BlackAndWhite` é usada para especificar a impressão monocromática, sendo o padrão desligado.
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
Obter Layout da Página da Planilha
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
Obtenha as propriedades de layout da página da planilha com base no nome da planilha fornecido e nos parâmetros de layout da página.
Definir Margens da Página da Planilha
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
Defina as margens da página da planilha com base no nome da planilha fornecido e nos parâmetros de margem. As opções de margem suportadas são:
Opção | Tipo | Descrição |
---|---|---|
Inferior | *float64 |
Margem inferior |
Rodapé | *float64 |
Margem do rodapé |
Cabeçalho | *float64 |
Margem do cabeçalho |
Esquerda | *float64 |
Margem esquerda |
Direita | *float64 |
Margem direita |
Superior | *float64 |
Margem superior |
Horizontalmente | *bool |
Centralização da página horizontalmente |
Verticalmente | *bool |
Centralização da página verticalmente |
Obter Margens da Página da Planilha
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
Obtenha as margens da página da planilha com base no nome da planilha fornecido e nos parâmetros de margem.
Definir Propriedades do Livro de Trabalho
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps é usado para definir as propriedades do livro de trabalho. As propriedades de livro de trabalho suportadas são:
Propriedade | Tipo | Descrição |
---|---|---|
Data1904 | *bool |
Indica se o livro de trabalho usa o sistema de data 1904 |
PrivacidadeFiltro | *bool |
Privacidade do filtro, indica se a aplicação verifica informações pessoais no livro de trabalho |
NomeCódigo | *string |
Nome do código |
Obter Propriedades do Livro de Trabalho
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps é usado para obter as propriedades do livro de trabalho.
Definir Cabeçalho e Rodapé
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
Defina o cabeçalho e o rodapé da planilha com base no nome da planilha fornecido e nos caracteres de controle.
O cabeçalho e o rodapé incluem os seguintes campos:
Campo | Descrição |
---|---|
AlignWithMargins | Define o alinhamento do cabeçalho e do rodapé com as margens da página |
DifferentFirst | Define o cabeçalho e o rodapé para a primeira página |
DifferentOddEven | Define o cabeçalho e o rodapé para páginas ímpares e pares |
ScaleWithDoc | Define o cabeçalho e o rodapé para escalar com o documento |
OddFooter | Caractere de controle para o rodapé das páginas ímpares, usado para definir o rodapé para a primeira página quando o valor de DifferentOddEven é false |
OddHeader | Caractere de controle para o cabeçalho das páginas ímpares, usado para definir o cabeçalho para a primeira página quando o valor de DifferentOddEven é false |
EvenFooter | Caractere de controle para o rodapé das páginas pares |
EvenHeader | Caractere de controle para o cabeçalho das páginas pares |
FirstFooter | Caractere de controle para o rodapé da primeira página |
FirstHeader | Caractere de controle para o cabeçalho da primeira página |
Os códigos de formato na tabela abaixo podem ser usados para os 6 campos do tipo string: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Código de Formato | Descrição |
---|---|
&& |
Caractere "&" |
&font-size |
Tamanho da fonte do texto, onde o tamanho da fonte é um tamanho de fonte decimal em pontos |
&"nome da fonte,tipo de fonte" |
String do nome da fonte de texto, nome da fonte e string do tipo de fonte de texto, tipo de fonte |
&"-,Regular" |
Formato de texto regular. Desativa os modos negrito e itálico |
&A |
Nome da planilha atual |
&B ou &"-,Bold" |
Formato de texto em negrito, desligado ou ligado, padrão desligado |
&D |
Data atual |
&C |
Seção central |
&E |
Sublinhado duplo para o texto |
&F |
Nome do arquivo de pasta de trabalho atual |
&G |
Especifica o objeto como plano de fundo (não atualmente suportado) |
&H |
Sombra de texto |
&I ou &"-,Italic" |
Texto em itálico |
&K |
Formato de cor da fonte no formato de cor RGB em RRGGBB. As cores do tema são especificadas como TTSNNN, onde TT é o id da cor do tema, S é o matiz ou tonalidade do "+", "-", é o valor do matiz ou tonalidade |
&L |
Seção esquerda |
&N |
Número total de páginas |
&O |
Formato de texto de destaque |
&P[[+\|-]n] |
Se não houver sufixo opcional, número da página atual (decimal) |
&R |
Seção direita |
&S |
Tachado de texto |
&T |
Hora atual |
&U |
Adiciona sublinhado simples ao texto. O modo padrão está desligado |
&X |
Formato sobrescrito |
&Y |
Formato subscrito |
&Z |
Caminho do arquivo de pasta de trabalho atual |
Por exemplo,
err := f.SetHeaderFooter("Planilha1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCentro &"-,Negrito"Negrito&"-,Regular"CabeçalhoU+000A&D`,
})
O exemplo acima contém o seguinte formato:
- A primeira página tem seu próprio cabeçalho e rodapé
- Páginas ímpares e pares têm cabeçalhos e rodapés diferentes
- A parte direita do cabeçalho da página ímpar é o número da página atual
- A parte central do rodapé da página ímpar é o nome do arquivo da pasta de trabalho atual
- A parte esquerda é o número da página atual no cabeçalho da página par
- A parte esquerda é a data atual, e a parte direita do rodapé da página par é a hora atual
- O texto na primeira linha na seção central da primeira página é "Cabeçalho Negrito Centro", e a segunda linha é a data
- Não há rodapé na primeira página
Definir Nome
func (f *File) SetDefinedName(definedName *DefinedName) error
Defina o nome e o intervalo de referência com base no nome fornecido, sendo o escopo padrão o livro. Por exemplo:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Valor",
RefersTo: "Planilha1!$A$2:$D$5",
Comment: "comentário do nome definido",
Scope: "Planilha2",
})
Definindo a área de impressão e títulos de impressão da planilha:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Planilha1!$A$1:$Z$100",
Scope: "Planilha1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Planilha1!$A:$A,Planilha1!$1:$1",
Scope: "Planilha1",
}); err != nil {
fmt.Println(err)
}
Obter Nome
func (f *File) GetDefinedName() []DefinedName
Obtenha a lista de nomes do livro e da planilha dentro do escopo.
Excluir Nome
func (f *File) DeleteDefinedName(definedName *DefinedName) error
Exclua o nome definido com base no nome fornecido e escopo do nome, sendo o escopo padrão o livro. Por exemplo:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Valor",
Scope: "Planilha2",
})
Definir Propriedades de Aplicativo do Livro
func (f *File) SetAppProps(appProperties *AppProperties) error
Defina as propriedades de aplicativo do livro. As propriedades que podem ser definidas incluem:
Propriedade | Descrição |
---|---|
Application | O nome do aplicativo que criou este documento |
ScaleCrop | Especifica a exibição da miniatura do documento. Defina como true para dimensionar a miniatura do documento e false para cortar a miniatura do documento |
DocSecurity | O nível de segurança do documento representado como um valor numérico. |
Company | O nome da empresa associada ao documento |
LinksUpToDate | Define se os hiperlinks no documento estão atualizados. Defina como true para hiperlinks atualizados e false para hiperlinks desatualizados |
HyperlinksChanged | Especifica se os novos hiperlinks especificados nesta seção devem ser usados para atualizar os relacionamentos de hiperlink da próxima vez que este documento for aberto |
AppVersion | Especifica a versão do aplicativo que gerou este documento. O valor deve estar no formato XX.YYYY, onde X e Y são valores numéricos, caso contrário, o arquivo não estará em conformidade com o padrão |
Por exemplo:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Nome da Empresa",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Obter Propriedades de Aplicativo do Livro
func (f *File) GetAppProps() (*AppProperties, error)
Obtenha as propriedades de aplicativo do livro.
Definir propriedades do documento
func (f *File) SetDocProps(docProperties *DocProperties) error
Defina as propriedades principais do livro. As propriedades que podem ser definidas incluem:
Propriedade | Descrição |
---|---|
Categoria | A categoria do conteúdo do documento |
Status do conteúdo | O status do conteúdo do documento. Por exemplo, os valores podem incluir "Rascunho", "Revisado" e "Final" |
Criado | O momento em que o documento foi criado, representado no formato UTC ISO 8601, por exemplo, 2019-06-04T22:00:10Z |
Criador | O criador do documento |
Descrição | A descrição do conteúdo do recurso |
Identificador | Uma referência clara ao recurso em um contexto específico |
Palavras-chave | Palavras-chave do documento |
Idioma | O idioma principal do conteúdo do documento |
Última modificação por | O usuário que modificou pela última vez o documento |
Modificado | O momento em que o documento foi modificado, representado no formato UTC ISO 8601, por exemplo, 2019-06-04T22:00:10Z |
Revisão | A versão revisada do documento |
Assunto | O assunto do documento |
Título | O título do documento |
Versão | O número da versão, que é definido pelo usuário ou aplicativo |
Por exemplo:
err := f.SetDocProps(&excelize.DocProperties{
Category: "categoria",
ContentStatus: "Rascunho",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "Este arquivo foi criado pelo Go Excelize",
Identifier: "xlsx",
Keywords: "Planilha",
LastModifiedBy: "Autor Go",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Assunto de Teste",
Title: "Título de Teste",
Language: "pt-BR",
Version: "1.0.0",
})
Obter propriedades do documento
func (f *File) GetDocProps() (*DocProperties, error)
Obtenha as propriedades principais do livro.
Proteger o livro
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
Proteja a estrutura do livro com uma senha para evitar que outros usuários visualizem planilhas ocultas, adicionem, movam ou ocultem planilhas e renomeiem planilhas. O campo AlgorithmName
suporta a especificação de algoritmos de hash XOR, MD4, MD5, SHA-1, SHA-256, SHA-384 ou SHA-512. Se nenhum algoritmo de hash for especificado, o algoritmo XOR é usado por padrão. Por exemplo, proteja a estrutura do livro com uma senha:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "senha",
LockStructure: true,
})
WorkbookProtectionOptions define as opções para proteger o livro.
type WorkbookProtectionOptions struct {
AlgorithmName string
Password string
LockStructure bool
LockWindows bool
}
Desproteger o livro
func (f *File) UnprotectWorkbook(password ...string) error
Desproteja o livro, especificando um parâmetro de senha opcional para verificar e remover a proteção do livro.