-
Notifications
You must be signed in to change notification settings - Fork 27
Graficos
A biblioteca suporta criação de gráficos diretamente embutidos nas planilhas Excel, sem dependência de Excel instalado no servidor.
Os gráficos são gerados no padrão DrawingML (ECMA-376 §21.2) e ficam ancorados em células da planilha atual.
O fonte com as classes de gráfico é o src/custom.excel.chart.tlpp.
Todos os tipos de gráfico podem ser criados facilmente por atalho de string usando o método NewChart da classe Xlsx:
Atalho NewChart
|
Classe criada | Descrição |
|---|---|---|
"col" |
ChartBar |
Colunas verticais |
"bar" |
ChartBar |
Barras horizontais |
"line" |
ChartLine |
Gráfico de linhas |
"pie" |
ChartPie |
Gráfico de pizza |
"scatter" |
ChartScatter |
Gráfico de dispersão XY |
"area" |
ChartArea |
Gráfico de área |
"stock" ou "acoes"
|
ChartStock |
Gráfico de ações |
"radar" |
ChartRadar |
Gráfico de radar (aranha) |
"doughnut" ou "rosca"
|
ChartDoughnut |
Gráfico de rosca |
"bubble" ou "bolhas"
|
ChartBubble |
Gráfico de bolhas |
"ofpie" |
ChartOfPie |
Gráfico de pizza de pizza |
"surface" ou "superficie"
|
ChartSurface |
Gráfico de superfície 3D |
"combo" |
ChartCombo |
Combinação de múltiplos gráficos |
Todos os tipos suportam versão 3D (exceto Dispersão, Bolhas, Radar, Rosca, Pizza de Pizza e Combinação), via método Set3D.
// 1. Criar o Excel e uma planilha com dados
Local oExcel := custom.excel.Xlsx():New(cNomeFile = "Relatorio", cTipo = "A")
oExcel:ADDPlan(cNome = "Dados")
// ... preencher células com dados ...
// 2. Criar o gráfico via NewChart (atalho)
Local oGraf := oExcel:NewChart("col") // Colunas agrupadas
// 3. Configurar título, legenda, séries e opções específicas
oGraf:SetTitulo("Vendas por Região")
oGraf:SetLegenda(.T., "b") // Legenda no rodapé
oGraf:AddSerie("Sudeste", "Dados!$B$2:$B$7", "Dados!$A$2:$A$7")
oGraf:AddSerie("Sul", "Dados!$C$2:$C$7", "Dados!$A$2:$A$7")
// 4. Inserir na planilha (âncora linha/coluna inicial → final)
oGraf:Insert(nLinha = 1, nColuna = 9, nLinha2 = 16, nColuna2 = 17)
// 5. Salvar e abrir
oExcel:Save(GetTempPath())
oExcel:OpenApp()
oExcel:Destroy()Todos os tipos de gráfico herdam estes métodos:
| Método | Descrição |
|---|---|
AddSerie |
Adiciona uma série de dados |
SetTitulo |
Define o título do gráfico |
SetLegenda |
Exibição e posição da legenda |
SetGrade |
Linhas de grade do eixo de valores |
Set3D |
Ativa visualização 3D |
Insert |
Insere o gráfico ancorado em células |
Você ainda pode instanciar as classes diretamente se preferir ou se precisar de estruturas sem vínculo direto (como na criação de gráficos membros para combinação):
// Instância direta de gráfico de dispersão
Local oGraf := custom.excel.chart.ChartScatter():New(oExcel)
oGraf:SetEstilo("marker")
// Membros de gráfico combinado (New(Nil) — criados soltos)
Local oCombo := oExcel:NewChart("combo")
Local oColunas := custom.excel.chart.ChartBar():New(Nil)
Local oLinha := custom.excel.chart.ChartLine():New(Nil)
oCombo:AddChart(oColunas, .F.) // eixo principal
oCombo:AddChart(oLinha, .T.) // eixo secundário (direita)Veja o Exemplo de Gráficos com todos os tipos disponíveis em planilhas de teste.
- Olá Mundo
- Exemplo Ler xlsx
- Métodos Principais
- New - Construtor da classe
- Open - Abrir planilha (senha opcional)
- GetError - Obter erro da última abertura
- AddPlan - Adicionar planilha
- SetValue - Definir valor da célula
- GetValue - Obter valor da célula
- Save - Salvar planilha
- SetPassword - Proteger com senha de abertura
- OpenApp / Close - Abrir no Excel / Fechar objeto
- SetsheetProtection - Proteger planilha contra edição
- Métodos Posicionamento e referência
- Métodos Células e Conteúdo
- Métodos Estilos
- NewStyle
- NewStyRules
- CorPreenc
- EfeitoPreenc
- AddFont
- Alinhamento
- Borda
- AddFmt
- AddFmtNum
- FormatCond / FormatCondDup / FormatCondTempo
- DataBar - Barra de dados
- IconSet - Conjunto de ícones
- Cellprotection
- Métodos Dimensões e Agrupamento
- Métodos Impressão
- Métodos Imagens
- Gráficos (Charts)
- Visão Geral — Tipos suportados
- Exemplo Completo
- NewChart - Criar gráfico pelo atalho
- Métodos comuns (todos os tipos)
- AddSerie - Adicionar série de dados
- SetTitulo / SetLegenda / SetGrade - Título, legenda e grade
- Set3D - Visualização 3D
- Insert - Inserir na planilha
- Tipos de gráfico
- ChartBar - Colunas e barras
- ChartLine - Linhas
- ChartPie - Pizza
- ChartScatter - Dispersão XY
- ChartArea / ChartStock / ChartRadar - Área, Ações e Radar
- ChartDoughnut / ChartOfPie - Rosca e Pizza de Pizza
- ChartBubble / ChartSurface - Bolhas e Superfície
- ChartCombo - Combinação de gráficos
- Tabela formatada
- Preenchimento em massa (bulk)
- Exemplo 1 - Básico
- BulkNewField - Definição de novas colunas do bulk
- DefBulkLine - Criar definição de campos para preenchimento em massa
- SetValueBulk - Definir valor para preenchimento de bulk
- SetBulkLine - Preenche a linha em bulk do Excel
- FlushBulk - Atualiza dados do Excel
- Preenchimento Excel com Query/Alias
- Exemplo 1 - Básico
- Alias2Tab - Preenche o Excel baseado no alias
- NewFldTab - Altera definição de campos ou cria novo campo
- DefSubTotal - Cria subtotal e agrupamento de subtotal
- NewRuleLine - Regra de formação de linhas