Acrescenta programaticamente uma
folha de gráfico BIFF8 ao livro, devolvendo o novo separador
TXLSWorksheet. Anteriormente, as folhas de gráfico só podiam ser preservadas de forma opaca num ciclo de leitura-gravação via
TXLSCustomChart; este método escreve um subfluxo de gráfico completo directamente em
SaveAs(xlExcel97). O Excel abre o resultado como um separador de gráfico do tipo pedido. Disponível desde v2.41.0; a sobrecarga de matriz de séries segue-se em v2.42.0
Enumeração TXLSChartType
Selecciona o tipo de gráfico. Re-exportado de lxHandle para que o código do utilizador não precise de importar a unidade de criação de gráficos directamente
type
TXLSChartType = (
xlsChartTypeColumn,
xlsChartTypeBar,
xlsChartTypeLine,
xlsChartTypePie);
Registo TXLSChartSeriesInfo
Contém uma única declaração de série para a sobrecarga de 6 parâmetros. Categories e Values são cadeias de intervalo no estilo A1 (ex.: 'Sheet1!$A$1:$A$5'). Name é um rótulo de série opcional
type
TXLSChartSeriesInfo = record
Name : WideString;
Categories : WideString;
Values : WideString;
end;
Sintaxe
Existem cinco sobrecargas que cobrem definições de folhas de gráfico progressivamente mais completas
// 1) v2.41.0 — name only; default column chart, no titles, no series.
function AddChartSheet(const Name: WideString): TXLSWorksheet;
// 2) v2.41.0 — name + chart type.
function AddChartSheet(
const Name : WideString;
ChartType : TXLSChartType): TXLSWorksheet;
// 3) v2.41.0 — + chart title.
function AddChartSheet(
const Name : WideString;
ChartType : TXLSChartType;
const Title: WideString): TXLSWorksheet;
// 4) v2.41.0 — + category-axis title + value-axis title.
function AddChartSheet(
const Name : WideString;
ChartType : TXLSChartType;
const Title : WideString;
const CatAxisTitle: WideString;
const ValAxisTitle: WideString): TXLSWorksheet;
// 5) v2.42.0 — + array of series (Name + Categories range + Values range).
function AddChartSheet(
const Name : WideString;
ChartType : TXLSChartType;
const Title : WideString;
const CatAxisTitle: WideString;
const ValAxisTitle: WideString;
const Series : array of TXLSChartSeriesInfo): TXLSWorksheet;
Observações
O subfluxo de gráfico emitido abrange a estrutura BIFF8 exigida pela especificação — BOF (dt=$0020), Chart / PlotGrowth / Frame / Series / SheetProperties e o EOF de fecho
Vinculação do nome da série (v2.42.0): cada Series[i].Name não vazio é escrito no subfluxo do gráfico como um rótulo de série literal
Vinculação do intervalo da série (v2.47.0): a partir de v2.47.0, as cadeias de intervalo A1 de Categories e Values são compiladas em referências de gráfico BIFF8
O TXLSWorksheet devolvido aparece na colecção Sheets e obtém uma entrada de boundsheet de folha de gráfico escrita ao guardar. As propriedades ao nível da célula não estão disponíveis nas folhas de gráfico
Exemplo
Este exemplo cria um livro com uma folha de dados e um gráfico de colunas vinculado a duas colunas dessa folha de dados
var
Series: array of TXLSChartSeriesInfo;
begin
// Populate cells on Sheet1.
Workbook.Sheets[1].Name := 'Data';
// ... fill A1:B5 with categories + values ...
SetLength(Series, 1);
Series[0].Name := 'Quarterly Revenue';
Series[0].Categories := 'Data!$A$2:$A$5';
Series[0].Values := 'Data!$B$2:$B$5';
Workbook.Sheets.AddChartSheet(
'Revenue',
xlsChartTypeColumn,
'Quarterly Revenue',
'Quarter',
'USD',
Series);
Workbook.SaveAs('Revenue.xls', xlExcel97);
end;
Limitações
Os detalhes de formatação por tipo de gráfico (largura do intervalo, sobreposição de barras, tamanho do buraco da pizza, estilo do marcador) são ainda emitidos com as predefinições do criador de gráficos — não são ainda configuráveis através do modelo de objectos
Ver também