Dokumentace HotXLS

Metoda AddChartSheet

Programově připojí list grafu BIFF8 k sešitu a vrátí nový objekt TXLSWorksheet

Výčet TXLSChartType

Vybere typ grafu. Reexportováno z lxHandle, takže uživatelský kód nemusí přímo importovat jednotku sestavovatele grafů
type
  TXLSChartType = (
    xlsChartTypeColumn,
    xlsChartTypeBar,
    xlsChartTypeLine,
    xlsChartTypePie);

Záznam TXLSChartSeriesInfo

Nese deklaraci jedné řady pro přetížení se 6 parametry. Categories a Values jsou řetězce rozsahů A1
type
  TXLSChartSeriesInfo = record
    Name        : WideString;
    Categories  : WideString;
    Values      : WideString;
  end;

Syntaxe

Pět přetížení pokrývá progresivně bohatší definice listů grafů:
// 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;

Poznámky

Emitovaný podstream grafu zahrnuje rámec BIFF8, který specifikace vyžaduje — BOF (dt=$0020), Chart / PlotGrowth / Frame / Series / SheetProperties atd

Vazba názvu řady (v2.42.0): každý neprázdný Series[i].Name je zapsán do podstreamu grafu jako literální popisek řady

Vazba rozsahu řady (v2.47.0): počínaje v2.47.0 jsou řetězce rozsahů A1 Categories a Values kompilovány do odkazů na buňky grafu BIFF8

Vrácený TXLSWorksheet se zobrazí v kolekci Sheets a při uložení dostane položku boundsheet listu grafu. Přístup na úrovni buněk k vrácenému listu není definován

Příklad

Tento příklad sestaví sešit s listem dat a sloupcovým grafem vázaným na dva sloupce tohoto listu dat

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;

Omezení

Detaily formátování pro každý typ grafu (šířka mezery, překrytí sloupců, velikost otvoru koláčového grafu, styl markeru) jsou stále emitovány jako výchozí hodnoty sestavovatele grafů — zatím nejsou konfigurovatelné

Viz také