Diagram munkalap képletek alkalmazása prezentációkban JavaScript használatával

Áttekintés

A diagram munkalap a diagram mögötti adatforrás a prezentációban. Tárolja a kategória- és sorozatneveket a diagram által megjelenített numerikus értékekkel együtt. Az Aspose.Slides esetében ez a munkalap a diagram adatkönyvtárán keresztül érhető el, amely lehetővé teszi a diagram adatok programozott kezelését.

Ez a cikk bemutatja, hogyan használhatók munkalap képletek a diagram adatokban, hogy a cellaértékek automatikusan kiszámításra és frissítésre kerüljenek a kézi bevitel helyett. Megmutatja a képletek hozzárendelését, az A1‑stílusú és R1C1‑stílusú hivatkozások használatát, a munkafüzet képletek újraszámítását, valamint a diagram munkalapokban támogatott állandókat, operátorokat, cellahivatkozásokat és előre definiált függvényeket.

A diagram táblázatkép képlete a prezentációban

A prezentáció diagram táblázata (vagy diagram munkalap) a diagram adatforrása. A diagram táblázata tartalmazza az adatokat, amelyeket a diagram grafikus formában jelenít meg. Amikor diagramot hozol létre a PowerPointban, a diagramhoz tartozó munkalap automatikusan létrejön. Minden diagramtípushoz (vonaldiagram, oszlopdiagram, napfény diagram, kördiagram stb.) készül diagram munkalap. A diagram táblázatát a PowerPointban a diagram duplakattintásával tekintheted meg:

todo:image_alt_text

A diagram táblázata a diagram elemeinek neveit tartalmazza (Kategória neve: Category1, Sorozat neve) és egy táblázatot numerikus adatokkal, amelyek a kategóriáknak és sorozatoknak megfelelőek. Alapértelmezésként, amikor új diagramot hozol létre, a diagram táblázat adatai alapértelmezett értékekkel vannak beállítva. Ezután a táblázat adatait manuálisan módosíthatod a munkalapon.

Általában a diagram összetett adatokat ábrázol (pl. pénzügyi elemzők, tudományos elemzők), olyan cellákkal, amelyek más cellák értékeiből vagy dinamikus adatforrásokból számolódnak. Ha a cella értékét kézzel számolod ki és kemény kódba írod, nehéz később módosítani. Ha megváltoztatod egy adott cella értékét, az attól függő összes cellát is frissíteni kell. Ezen felül a táblázat adatai más táblázatok adataitól is függhetnek, így egy komplex prezentációs adatstruktúra alakul ki, amelyet könnyen és rugalmasan kell frissíteni.

A diagram táblázatkép képlete a prezentációban egy kifejezés, amely automatikusan kiszámítja és frissíti a diagram táblázat adatait. A képlet meghatározza egy adott cella vagy cellacsoport adatkihasználási logikáját. A képlet lehet matematikai vagy logikai, és a következőket használja: cellahivatkozások, matematikai függvények, logikai operátorok, aritmetikai operátorok, konverziós függvények, karakterlánc állandók stb. A képlet definíciója egy cellába íródik, és ez a cella nem egyszerű értéket tartalmaz. A képlet kiszámítja az értéket, visszaadja, majd ez az érték kerül a cellába. A diagram táblázat képletek a prezentációkban valójában ugyanazok, mint az Excel képletek, és ugyanazok a támogatott alapértelmezett függvények, operátorok és állandók állnak rendelkezésre a megvalósításukhoz.

Az Aspose.Slides diagram táblázata a Chart.getChartData.getChartDataWorkbook metódussal képviselt ChartDataWorkbook típuson keresztül. A táblázatkép képletet a ChartDataCell.setFormula metódussal lehet hozzárendelni és módosítani. Az alábbi funkciók támogatottak a képleteknél az Aspose.Slides‑ben:

  • Logikai állandók
  • Numerikus állandók
  • Karakterlánc állandók
  • Hiba állandók
  • Aritmetikai operátorok
  • Összehasonlító operátorok
  • A1‑stílusú cellahivatkozások
  • R1C1‑stílusú cellahivatkozások
  • Előre definiált függvények

Általában a táblázatok tárolják a legutóbb kiszámított képletértékeket. Ha a prezentáció betöltése után a diagram adatai nem változtak, a ChartDataCell.getValue metódus ezeket az értékeket adja vissza olvasáskor. Ha azonban a táblázat adatait módosították, a ChartDataCell.Value tulajdonság olvasásakor a CellUnsupportedDataException kivételt dobja a nem támogatott képletek miatt. Ennek oka, hogy a képletek sikeres elemzésekor meghatározódnak a cellafüggőségek és ellenőrzésre kerül a legutóbbi érték helyessége. Ha a képletet nem lehet elemezni, a cellaérték helyessége nem garantálható.

Diagram táblázat képlet hozzáadása a prezentációhoz

Először adj egy diagramot az új prezentáció első diájához a ShapeCollection.getShapes.addChart metódussal. A diagram munkalapja automatikusan létrejön, és a következővel érhető el: Chart.getChartData.getChartDataWorkbook metódus:

var pres = new aspose.slides.Presentation();
try {
    var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 150, 150, 500, 300);
    var workbook = chart.getChartData().getChartDataWorkbook();
    // ...
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Írjunk néhány értéket a cellákba a ChartDataCell.setValue tulajdonsággal, amely a Object típusú, tehát bármilyen értéket beállíthatsz:

workbook.getCell(0, "F2").setValue(-2.5);
workbook.getCell(0, "G3").setValue(6.3);
workbook.getCell(0, "H4").setValue(3);

Most a képletet a cellába a ChartDataCell.setFormula metódussal írhatod:

Megjegyzés: a ChartDataCell.setFormula metódus A1‑stílusú cellahivatkozások beállítására szolgál.

Az R1C1Formula cellahivatkozás beállításához a ChartDataCell.setR1C1Formula metódust használhatod:

Ezután, ha a B2 és C2 cellák értékeit olvasod, azok kiszámításra kerülnek:

var value1 = cell1.getValue();// 7.8
var value2 = cell2.getValue();// 2.1

Logikai állandók

Logikai állandókat, például a FALSE és TRUE értékeket használhatod a cellaképletekben:

workbook.getCell(0, "A2").setValue(false);
var cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
var value = cell.getValue();// az érték logikai "false"-t tartalmaz

Numerikus állandók

Számok használhatók közönséges vagy tudományos jelölésben a diagram táblázatkép képletek létrehozásához:

workbook.getCell(0, "A2").setFormula("1 + 0.5");
workbook.getCell(0, "B2").setFormula(".3 * 1E-2");

Karakterlánc állandók

A karakterlánc (vagy literál) állandó egy olyan specifikus érték, amelyet változtatás nélkül használnak. Karakterlánc állandók lehetnek: dátumok, szövegek, számok stb.:

workbook.getCell(0, "A2").setFormula("\"abc\"");
workbook.getCell(0, "B2").setFormula("\"2/3/2020 12:00\"");

Hiba állandók

Néha a képlet nem tudja kiszámítani az eredményt. Ebben az esetben a hibakód jelenik meg a cellában az érték helyett. Minden hibatípusnak saját kódja van:

  • #DIV/0! – a képlet nullával oszt.
  • #GETTING_DATA – a cellán megjelenhet, amíg az értéke még számítás alatt áll.
  • #N/A – információ hiányzik vagy nem elérhető. Oka lehet: üres cella a képletben, felesleges szóköz, elütés stb.
  • #NAME? – egy adott cella vagy más képlethez tartozó objektum nem található a nevén.
  • #NULL! – a képletben szintaktikai hiba, például (,) vagy egy szóköz helyett kettőspont (:).
  • #NUM! – a képletben szereplő szám érvénytelen, túl nagy vagy túl kicsi stb.
  • #REF! – érvénytelen cellahivatkozás.
  • #VALUE! – váratlan típusú érték. Például karakterlánc érték numerikus cellába.
var cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
var value = cell.getValue();// az érték tartalmazza a "#DIV/0!" karakterláncot

Aritmetikai operátorok

A diagram munkalap képleteiben az összes aritmetikai operátort használhatod:

Operátor Jelentés Példa
+ (plusz jel) Összeadás vagy egyjegyű plusz 2 + 3
- (mínusz jel) Kivonás vagy negáció 2 - 3
-3
* (csillag) Szorzás 2 * 3
/ (perjel) Osztás 2 / 3
% (százalék) Százalék 30%
^ (caret) Hatványozás 2 ^ 3

Megjegyzés: A kiértékelés sorrendjének módosításához zárójelezd a képlet azon részét, amelyet előbb kell számolni.

Összehasonlító operátorok

Az összehasonlító operátorokkal a cellák értékét hasonlíthatod össze. Két érték összehasonlítása ezekkel az operátorokkal logikai eredményt ad: TRUE vagy FALSE:

Operátor Jelentés Jelentés
= (egyenlő jel) Egyenlő A2 = 3
<> (nem egyenlő jel) Nem egyenlő A2 <> 3
> (nagyobb jel) Nagyobb A2 > 3
>= (nagyobb vagy egyenlő jel) Nagyobb vagy egyenlő A2 >= 3
< (kisebb jel) Kisebb A2 < 3
<= (kisebb vagy egyenlő jel) Kisebb vagy egyenlő A2 <= 3

A1‑stílusú cellahivatkozások

Az A1‑stílusú cellahivatkozások a munkalapoknál használatosak, ahol az oszlop betűvel (pl. “A"), a sor pedig számmal (pl. “1") azonosítható. Az A1‑stílusú hivatkozások a következőképpen alkalmazhatók:

Cellahivatkozás Példa
Abszolút Relatív Vegyes
Cella $A$2 A2

A$2

$A2

Sor $2:$2 2:2 -
Oszlop $A:$A A:A -
Tartomány $A$2:$C$4 A2:C4

$A$2:C4

A$2:$C4

Példa az A1‑stílusú cellahivatkozás használatára képletben:

workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");

R1C1‑stílusú cellahivatkozások

Az R1C1‑stílusú cellahivatkozások a munkalapoknál használatosak, ahol mind a sor, mind az oszlop numerikus azonosítóval rendelkezik. Az R1C1‑stílusú hivatkozások a következőképpen alkalmazhatók:

Cellahivatkozás Példa
Abszolút Relatív Vegyes
Cella R2C3 R[2]C[3] R2C[3]
R[2]C3
Sor R2 R[2] -
Oszlop C3 C[3] -
Tartomány R2C3:R5C7 R[2]C[3]:R[5]C[7] R2C3:R[5]C[7]
R[2]C3:R5C[7]

Példa az R1C1‑stílusú cellahivatkozás használatára képletben:

workbook.getCell(0, "A2").setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");

Előre definiált függvények

Vannak előre definiált függvények, amelyeket a képletekben használhatsz a megvalósításuk egyszerűsítésére. Ezek a függvények a leggyakrabban használt műveleteket foglalják magukba, például:

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (1900-as dátumrendszer)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (referencia forma)
  • LOOKUP (vektor forma)
  • MATCH (vektor forma)
  • MAX
  • SUM
  • VLOOKUP

Gyakran ismételt kérdések

Támogatottak-e külső Excel fájlok adatforrásként a képletekkel ellátott diagramhoz?

Igen. Az Aspose.Slides támogatja a külső munkafüzeteket diagram adatforrásaként, lehetővé téve, hogy az XLSX‑ben lévő képleteket a prezentáción kívül is használhasd.

A diagram képletei hivatkozhatnak-e ugyanabban a munkafüzetben lévő munkalapokra név alapján?

Igen. A képletek a standard Excel hivatkozási modellnek felelnek meg, így hivatkozhatsz más munkalapokra ugyanabban a munkafüzetben vagy egy külső munkafüzetben. Külső hivatkozások esetén a fájlútvonalat és a munkafüzet nevét kell megadni az Excel szintaxis szerint.