Anade mediante programacion una hoja de grafico BIFF8 al libro de trabajo y devuelve la nueva pestana TXLSWorksheet. Anteriormente, las hojas de grafico se podian leer e iterar pero no escribir; esta funcion cubre esa laguna
Enumeracion TXLSChartType
Selecciona el tipo de grafico. Se reexporta desde lxHandle para que el codigo de usuario no necesite importar directamente la unidad de construccion de graficos
type
TXLSChartType = (
xlsChartTypeColumn,
xlsChartTypeBar,
xlsChartTypeLine,
xlsChartTypePie);
Registro TXLSChartSeriesInfo
Contiene una declaracion de serie unica para la sobrecarga de 6 parametros. Categories y Values son cadenas de rango A1 (p.ej. Sheet1!A2:A13)
type
TXLSChartSeriesInfo = record
Name : WideString;
Categories : WideString;
Values : WideString;
end;
Sintaxis
Cinco sobrecargas cubren definiciones de hojas de grafico progresivamente mas 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;
Observaciones
El flujo de grafico emitido cubre el marco BIFF8 que especifica la especificacion: BOF, Chart, PlotGrowth, Frame, Series, etc
Vinculacion de nombre de serie (v2.42.0): cada Series[i].Name no vacio se escribe en el flujo de grafico como etiqueta de serie literal
Vinculacion de rango de serie (v2.47.0): a partir de v2.47.0, las cadenas de rango A1 de Categories y Values se compilan en referencias de hoja de trabajo reales
El TXLSWorksheet devuelto aparece en la coleccion Sheets y obtiene una entrada de hoja de grafico al guardar
Ejemplo
Este ejemplo crea un libro de trabajo con una hoja de datos y un grafico de columnas vinculado a dos columnas de esa hoja de datos
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;
Limitaciones
Los detalles de formato especificos del tipo de grafico (ancho de separacion, solapamiento de barras, tamano del agujero de la tarta) aun se emiten en la capa de grafico nativo
Vease tambien