Documentación de HotXLS

Metodo AddChartSheet

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

Clase TXLSWorksheets, propiedad IXLSWorkbook.Sheets, TXLSXChart (lado XLSX)