Diagram munkalap képletek alkalmazása prezentációkban Java használatával
Áttekintés
A diagram munkalapja a diagram mögötti adatforrás egy prezentációban. Tartalmazza a kategória- és sorneveket valamint a diagram által megjelenített numerikus értékeket. Az Aspose.Slides‑ben ez a munkalap a diagram adatkönyvtárán keresztül érhető el, amely lehetővé teszi a diagram adatainak programozott kezelését.
Ez a cikk bemutatja, hogyan lehet munkalap képleteket használni a diagram adataiban, hogy a cellaértékek automatikusan kiszámításra és frissítésre kerüljenek a kézi bevitel helyett. Megmutatja, hogyan kell képleteket hozzárendelni, A1‑ és R1C1‑stílusú hivatkozásokat használni, újraszámolni a munkafüzet képleteit, valamint a diagram munkalapokban a támogatott állandókat, operátorokat, cellahivatkozásokat és előre definiált függvényeket.
A diagram táblázat képleteiről a prezentációkban
Diagram táblázat (vagy diagram munkalap) egy prezentációban a diagram adatforrása. A diagram táblázat adatokat tartalmaz, amelyek grafikus formában jelennek meg a diagramon. Amikor egy diagramot hoz létre a PowerPointban, a diagramhoz tartozó munkalap automatikusan létrejön. Diagram munkalap minden diagramtípushoz létrejön: vonaldiagram, oszlopdiagram, sunburst diagram, kördiagram stb. A diagram táblázat megtekintéséhez a PowerPointban kattintson duplán a diagramra:

A diagram táblázat tartalmazza a diagramelemek neveit (Kategória neve: Category1, Sor neve) és egy táblázatot numerikus adatokkal, amelyek ezekhez a kategóriákhoz és sorokhoz tartoznak. Alapértelmezés szerint, amikor új diagramot hoz létre – a diagram táblázat adatai az alapértelmezett adatokkal kerülnek beállításra. Ezután a táblázat adatait kézzel módosíthatja a munkalapon.
Általában a diagram összetett adatokat ábrázol (pl. pénzügyi vagy tudományos elemzések), ahol a cellák más cellák értékeiből vagy más dinamikus adatokból számítódnak ki. A cella értékének manuális kiszámítása és kódba írása nehezíti a jövőbeli módosítást. Ha egy adott cella értékét megváltoztatja, az attól függő összes cellát szintén frissíteni kell. Továbbá a táblázat adatai más táblázatok adataitól is függhetnek, ami egy összetett prezentációs adatstruktúrát eredményez, amelyet könnyen és rugalmasan kell frissíteni.
Diagram táblázat képlete 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 adatkiszámítá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, így 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 az Excel képletek, és ugyanazok a beépített függvények, operátorok és állandók támogatottak.
Az Aspose.Slides diagram táblázata a
Chart.getChartData.getChartDataWorkbook metódussal van reprezentálva az
IChartDataWorkbook típuson keresztül.
A táblázati képletet a
IChartDataCell.setFormula metódussal lehet hozzárendelni és módosítani.
Az Aspose.Slides a következő funkcionalitást támogatja a képletekhez:
- Logikai állandók
- Numerikus állandók
- Karakterlánc‑állandók
- Hibák‑á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 az utoljára kiszámított képletértékeket. Ha a prezentáció betöltése után a diagram adatai nem változtak – a IChartDataCell.getValue metódus ezeket az értékeket adja vissza olvasáskor. Ha azonban a táblázati adatokat megváltoztatták, a ChartDataCell.Value tulajdonság olvasásakor a CellUnsupportedDataException kivétel keletkezik a nem támogatott képletek miatt. Ennek oka, hogy ha egy képlet sikeresen kiértékelhető, a cellafüggőségek meghatározásra kerülnek, és az utolsó értékek helyessége ellenőrzésre kerül. Ha a képlet nem értelmezhető, a cella értékének helyessége nem garantálható.
Diagram táblázat képlet hozzáadása a prezentációhoz
Először adjon egy diagramot egy új prezentáció első diájához a
IShapeCollection.getShapes.addChart metódussal.
A diagram munkalapa automatikusan létrejön, és a következővel érhető el:
Chart.getChartData.getChartDataWorkbook metódus:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 150, 150, 500, 300);
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
// ...
} finally {
if (pres != null) pres.dispose();
}
Írjunk néhány értéket a cellákba a
IChartDataCell.setValue tulajdonsággal, amely az Object típusú, tehát bármilyen értéket beállíthat:
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
IChartDataCell.setFormula metódussal írhatja:
Megjegyzés: IChartDataCell.setFormula metódus A1‑stílusú cellahivatkozások beállítására szolgál.
Az R1C1Formula cellahivatkozáshoz a IChartDataCell.setR1C1Formula metódust kell használni:
Ezután ha a B2 és C2 cellák értékeit olvassa, azok kiszámításra kerülnek:
Object value1 = cell1.getValue(); // 7.8
Object value2 = cell2.getValue(); // 2.1
Logikai állandók
Logikai állandókat, például a FALSE és TRUE értékeket használhatja a cellaképletekben:
workbook.getCell(0, "A2").setValue(false);
IChartDataCell cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
Object value = cell.getValue(); // az érték boolean "false" értéket tartalmaz
Numerikus állandók
Számok használhatók közös vagy tudományos jelölésben diagram táblázat 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 konkrét érték, amelyet változtatás nélkül használunk. 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 hiba kó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 próbál osztani.
- #GETTING_DATA – megjelenhet egy cellában, amíg értéke még számítás alatt áll.
- #N/A – hiányzó vagy nem elérhető információ. Oka lehet üres cella, felesleges szóköz, helyesírási hiba stb.
- #NAME? – egy adott cella vagy más képlettárgy nem található a nevén.
- #NULL! – hibás képlet, például (,) vagy egy szóköz karakter a kettőspont (: ) helyett.
- #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 értéktípus. Például karakterlánc érték numerikus cellába írása.
IChartDataCell cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
Object value = cell.getValue(); // az érték a "#DIV/0!" karakterláncot tartalmazza
Aritmetikai operátorok
Minden aritmetikai operátort használhat a diagram munkalap képleteiben:
| Operátor | Jelentés | Példa |
|---|---|---|
| + (plusz jel) | Összeadás vagy egyelőre pozitív előjel | 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% |
| ^ (karon) | Hatványozás | 2 ^ 3 |
Megjegyzés: Az értékelés sorrendjének módosításához zárójelezze a képlet azon részét, amelyet előbb kell kiszámítani.
Összehasonlító operátorok
A cellák értékeit összehasonlíthatja összehasonlító operátorokkal. Amikor két értéket ezzel a művelettel hasonlít össze, a végeredmény logikai érték, vagy TRUE vagy FALSE:
| Operátor | Jelentés | Példa |
|---|---|---|
| = (egyenlőség) | Egyenlő | A2 = 3 |
| <> (nem egyenlőség) | Nem egyenlő | A2 <> 3 |
| > (nagyobb) | Nagyobb | A2 > 3 |
| >= (nagyobb vagy egyenlő) | Nagyobb vagy egyenlő | A2 >= 3 |
| < (kisebb) | Kisebb | A2 < 3 |
| <= (kisebb vagy egyenlő) | Kisebb vagy egyenlő | A2 <= 3 |
A1‑stílusú cellahivatkozások
A1‑stílusú cellahivatkozások a munkalapokon használatosak, ahol az oszlop betűazonosítóval (pl. “A") és a sor számmal (pl. “1") rendelkezik. Az A1‑stílusú hivatkozások a következőképpen használhatók:
| Cella hivatkozá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 |
Az alábbi példa bemutatja, hogyan használjon A1‑stílusú cellahivatkozást képletben:
workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");
R1C1‑stílusú cellahivatkozások
R1C1‑stílusú cellahivatkozások a munkalapokon használatosak, ahol a sor és az oszlop is számazonosítóval rendelkezik. Az R1C1‑stílusú hivatkozások a következőképpen használhatók:
| Cella hivatkozá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] |
Az alábbi példa bemutatja, hogyan használjon R1C1‑stílusú cellahivatkozást 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 lehet használni a megvalósítás egyszerűsítése érdekében. Ezek a függvények a leggyakrabban használt műveletek közvetítésére szolgálnak, például:
- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (1900‑es dátumrendszer)
- DAYS
- FIND
- FINDB
- IF
- INDEX (referencia forma)
- LOOKUP (vektor forma)
- MATCH (vektor forma)
- MAX
- SUM
- VLOOKUP
GYIK
Támogatja-e az Aspose.Slides a képletekkel ellátott diagram adatforrásaként külső Excel fájlok használatát?
Igen. Az Aspose.Slides támogatja a külső munkafüzeteket diagram adatforrásként (chart’s data source), amely lehetővé teszi, hogy egy XLSX‑ből származó képleteket használjon a prezentációban.
A diagram képletei hivatkozhatnak-e a munkafüzeten belül lévő lapokra lapnév szerint?
Igen. A képletek az Excel szabványos hivatkozási modelljét követik, így hivatkozhat más lapokra ugyanabban a munkafüzetben vagy egy külső munkafüzetben. Külső hivatkozások esetén adja meg az elérési utat és a munkafüzet nevét az Excel szintaxis szerint.