Použití vzorců v pracovním listu grafu v prezentacích v .NET

Přehled

Pracovní list grafu je zdroj dat za grafem v prezentaci. Ukládá názvy kategorií a sérií spolu s číselnými hodnotami zobrazenými v grafu. V Aspose.Slides je tento pracovní list dostupný prostřednictvím sešitu dat grafu, který umožňuje pracovat s daty grafu programově.

Tento článek vysvětluje, jak použít vzorce v pracovním listu grafu tak, aby hodnoty buněk byly vypočítány a aktualizovány automaticky místo ručního zadávání. Ukazuje, jak přiřadit vzorce, používat reference ve stylu A1 i R1C1, přepočítat vzorce v sešitu a pracovat s podporovanými konstantami, operátory, odkazy na buňky a předdefinovanými funkcemi dostupnými pro pracovní listy grafů v prezentacích.

O vzorcích v tabulce grafu v prezentacích

Tabulka grafu (nebo pracovní list grafu) v prezentaci je zdroj dat grafu. Tabulka grafu obsahuje data, která jsou v grafu graficky znázorněna. Když vytvoříte graf v PowerPointu, automaticky se vytvoří i pracovní list k tomuto grafu. Pracovní list grafu se vytváří pro všechny typy grafů: čárový graf, sloupcový graf, sunburst graf, koláčový graf atd. Chcete‑li zobrazit tabulku grafu v PowerPointu, dvakrát klikněte na graf:

todo:image_alt_text

Tabulka grafu obsahuje názvy prvků grafu (Název kategorie: Category1, Název série) a tabulku s číselnými daty odpovídajícími těmto kategoriím a sériím. Ve výchozím nastavení, když vytvoříte nový graf, jsou data tabulky grafu nastavena na výchozí data. Poté můžete data v tabulce upravit ručně.

Obvykle graf představuje složitá data (např. finanční analytici, vědecké analytiky), kde buňky jsou vypočítány z hodnot v jiných buňkách nebo z jiných dynamických dat. Ruční výpočet hodnot buňky a pevné zakódování do buňky ztěžuje budoucí změny. Pokud změníte hodnotu určité buňky, všechny buňky na ní závislé budou také vyžadovat aktualizaci. Navíc data v tabulce mohou záviset na datech z jiných tabulek, což vytváří složitý schéma dat prezentace vyžadující snadnou a flexibilní aktualizaci.

Vzorec v tabulce grafu v prezentaci je výraz pro automatický výpočet a aktualizaci dat tabulky grafu. Vzorec v tabulce definuje logiku výpočtu dat pro určitou buňku nebo sadu buněk. Vzorec je matematický nebo logický a používá: odkazy na buňky, matematické funkce, logické operátory, aritmetické operátory, konverzní funkce, řetězcové konstanty atd. Definice vzorce je zapsána do buňky, která neobsahuje jednoduchou hodnotu. Vzorec vypočítá hodnotu a vrátí ji, přičemž tato hodnota je přiřazena buňce. Vzorce v tabulkách grafů v prezentacích jsou v podstatě stejné jako excelové vzorce a podporují stejné výchozí funkce, operátory a konstanty pro jejich implementaci.

V Aspose.Slides je tabulka grafu reprezentována vlastností Chart.ChartData.ChartDataWorkbook typu IChartDataWorkbook. Vzorec v tabulce může být přiřazen a změněn pomocí IChartDataCell.Formula vlastnosti. Následující funkčnosti jsou v Aspose.Slides pro vzorce podporovány:

  • Logické konstanty
  • Číselné konstanty
  • Řetězcové konstanty
  • Chybové konstanty
  • Aritmetické operátory
  • Porovnávací operátory
  • Reference na buňky ve stylu A1
  • Reference na buňky ve stylu R1C1
  • Předdefinované funkce

Typicky se v tabulkách ukládají poslední vypočítané hodnoty vzorců. Po načtení prezentace, pokud data grafu nebyla změněna, vlastnost IChartDataCell.Value vrací tyto hodnoty při čtení. Pokud však byla data v tabulce změněna, při čtení vlastnosti ChartDataCell.Value je vyhozena výjimka CellUnsupportedDataException kvůli nepodporovaným vzorcům. Důvodem je, že když jsou vzorce úspěšně analyzovány, jsou určeny závislosti buněk a správnost posledních hodnot. Pokud vzorec nelze analyzovat, správnost hodnoty buňky nelze zaručit.

Přidání vzorce v tabulce grafu do prezentace

Nejprve přidejte graf s nějakými ukázkovými daty na první snímek nové prezentace pomocí IShapeCollection.Shapes.AddChart. Pracovní list grafu je vytvořen automaticky a lze ho získat pomocí Chart.ChartData.ChartDataWorkbook vlastnosti:


using (var presentation = new Presentation())

{

    IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 150, 150, 500, 300);

    IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook;

    // ...

}

Zapište nějaké hodnoty do buněk pomocí IChartDataCell.Value vlastnosti typu Object, což znamená, že můžete nastavit libovolnou hodnotu do vlastnosti:


workbook.GetCell(0, "F2").Value = -2.5;

workbook.GetCell(0, "G3").Value = 6.3;

workbook.GetCell(0, "H4").Value = 3;

Nyní pro zápis vzorce do buňky můžete použít IChartDataCell.Formula vlastnost:

workbook.GetCell(0, "B2").Formula = "F2+G3+H4+1";

Poznámka: IChartDataCell.Formula se používá k nastavení odkazů na buňky ve stylu A1.

Pro nastavení odkazu na buňku ve stylu R1C1Formula můžete použít vlastnost IChartDataCell.R1C1Formula:

workbook.GetCell(0, "C2").R1C1Formula = "R[1]C[4]/R[2]C[5]";

Poté použijte metodu IChartDataWorkbook.CalculateFormulas k výpočtu všech vzorců v sešitu a aktualizaci odpovídajících hodnot buněk:

workbook.CalculateFormulas();

object value1 = workbook.GetCell(0, "B2"); // 7.8

object value2 = workbook.GetCell(0, "C2"); // 2.1

Logické konstanty

Můžete ve vzorcích buněk použít logické konstanty jako FALSE a TRUE:

Číselné konstanty

Čísla mohou být použita v běžné nebo vědecké notaci pro vytvoření vzorce v tabulce grafu:

Řetězcové konstanty

Řetězcová (nebo literálová) konstanta je konkrétní hodnota, která se používá tak, jak je, a nemění se. Řetězcové konstanty mohou být: data, texty, čísla atd.:

Chybové konstanty

Někdy není možné výsledek pomocí vzorce vypočítat. V takovém případě se v buňce místo hodnoty zobrazí kód chyby. Každý typ chyby má specifický kód:

  • #DIV/0! – vzorec se pokouší dělit nulou.
  • #GETTING_DATA – může se zobrazit v buňce, zatímco její hodnota se stále počítá.
  • #N/A – informace chybí nebo nejsou k dispozici. Důvody mohou být: buňky použité ve vzorci jsou prázdné, přebytečný mezerník, překlep atd.
  • #NAME? – nelze najít určitou buňku nebo jiný objekt vzorce podle jejího názvu.
  • #NULL! – může se objevit při chybě ve vzorci, např. (,) nebo mezerník místo dvojtečky (:).
  • #NUM! – číselná hodnota ve vzorci může být neplatná, příliš dlouhá nebo příliš malá.
  • #REF! – neplatný odkaz na buňku.
  • #VALUE! – neočekávaný typ hodnoty. Například řetězcová hodnota přiřazená číselné buňce.

Aritmetické operátory

Můžete použít všechny aritmetické operátory ve vzorcích pracovního listu grafu:

Operátor Význam Příklad
+ (plus) Sčítání nebo unární plus 2 + 3
- (mínus) Odčítání nebo negace 2 - 3
-3
* (hvězdička) Násobení 2 * 3
/ (lomítko) Dělení 2 / 3
% (procento) Procento 30%
^ (stříška) Umocňování 2 ^ 3

Poznámka: Pro změnu pořadí vyhodnocování uzavřete část vzorce, která má být vypočítána jako první, do závorek.

Porovnávací operátory

Můžete porovnávat hodnoty buněk pomocí porovnávacích operátorů. Když jsou dvě hodnoty porovnány, výsledek je logická hodnota TRUE nebo FALSE:

Operátor Význam Příklad
= (rovná se) Rovná se A2 = 3
<> (nerovná se) Nerovná se A2 <> 3
> (větší než) Větší než A2 > 3
>= (větší nebo rovno) Větší nebo rovno A2 >= 3
< (menší než) Menší než A2 < 3
<= (menší nebo rovno) Menší nebo rovno A2 <= 3

Reference na buňky ve stylu A1

Reference na buňky ve stylu A1 se používají pro pracovní listy, kde sloupec má písmenový identifikátor (např. “A") a řádek má číselný identifikátor (např. “1"). Reference ve stylu A1 lze použít následujícím způsobem:

Odkaz na buňku Příklad
Absolutní Relativní Smíšený
Buňka $A$2 A2

A$2

$A2

Řádek $2:$2 2:2 -
Sloupec $A:$A A:A -
Rozsah $A$2:$C$4 A2:C4

$A$2:C4

A$2:$C4

Zde je příklad, jak použít referenci na buňku ve stylu A1 ve vzorci:

Reference na buňky ve stylu R1C1

Reference na buňky ve stylu R1C1 se používají pro pracovní listy, kde řádek i sloupec mají číselný identifikátor. Reference ve stylu R1C1 lze použít následujícím způsobem:

Odkaz na buňku Příklad
Absolutní Relativní Smíšený
Buňka R2C3 R[2]C[3] R2C[3]
R[2]C3
Řádek R2 R[2] -
Sloupec C3 C[3] -
Rozsah R2C3:R5C7 R[2]C[3]:R[5]C[7] R2C3:R[5]C[7]
R[2]C3:R5C[7]

Zde je příklad, jak použít referenci na buňku ve stylu R1C1 ve vzorci:

Předdefinované funkce

Existují předdefinované funkce, které lze ve vzorcích použít ke zjednodušení jejich implementace. Tyto funkce zapouzdřují nejčastěji používané operace, například:

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (systém data 1900)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (reference form)
  • LOOKUP (vector form)
  • MATCH (vector form)
  • MAX
  • SUM
  • VLOOKUP

Často kladené otázky

Jsou externí soubory Excel podporovány jako zdroj dat pro graf s vzorci?

Ano. Aspose.Slides podporuje externí sešity jako zdroj dat grafu, což vám umožní použít vzorce z XLSX mimo prezentaci.

Mohou vzorce v grafu odkazovat na listy ve stejném sešitu podle názvu listu?

Ano. Vzorce následují standardní model odkazování Excelu, takže můžete odkazovat na jiné listy ve stejném sešitu nebo v externím sešitu. Pro externí odkazy zahrňte cestu a název sešitu pomocí syntaxe Excelu.