Diagram munkalap képletek alkalmazása prezentációkban PHP használatával
Áttekintés
A diagram munkalap a diagram mögötti adatforrás egy prezentációban. A kategória- és sorozatneveket tárolja a diagram által megjelenített numerikus értékekkel együtt. Az Aspose.Slides‑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 a munkalap képletek a diagram adataiban, így a cellaértékek automatikusan kiszámíthatók és frissíthetők 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 támogatott állandókat, operátorokat, cellahivatkozásokat és előre definiált függvényeket alkalmazni.
A diagram táblázat képleteiről a prezentációkban
Diagram táblázat (vagy diagram munkalap) a diagram adatforrása. A diagram táblázat adatokat tartalmaz, amelyeket a diagram grafikus formában jelenít meg. Amikor diagramot hoz létre a PowerPointban, a diagramhoz tartozó munkalap automatikusan létrejön. Munkalap jön létre minden diagramtípushoz: vonaldiagram, oszlopdiagram, napfény diagram, kördiagram stb. A diagram táblázat megtekintéséhez a PowerPointban dupla‑kattintással nyissa meg a diagramot:

A diagram táblázat a diagram elemeinek neveit (Kategória neve: Category1, Sorozat neve) és egy táblázatot tartalmaz numerikus adatokkal, amelyek ezekhez a kategóriákhoz és sorozatokhoz tartoznak. Alapértelmezés szerint új diagram létrehozásakor a diagram táblázat adatai az alapértelmezett adatokkal kerülnek beállításra. Ezután a táblázat adatokat kézzel módosíthatja.
Általában a diagram bonyolult adatokat ábrázol (pl. pénzügyi elemzők, tudományos elemzők), ahol a cellák más cellák értékei vagy más dinamikus adatok alapján számítódnak. A cella értékének kézi kiszámítása és kódolása nehézzé teszi a jövőbeni módosítást. Ha egy adott cella értékét megváltoztatja, az onnan függő összes cellának is frissítve kell lennie. Emellett a táblázat adatai más táblázatok adataitól is függhetnek, egy összetett prezentációs adatstruktúrát hozva létre, amelyet könnyen és rugalmasan kell frissíteni.
Diagram táblázat 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 egy cella vagy cellacsoport számítási logikáját határozza meg. A képlet lehet matematikai vagy logikai, és használ: cellahivatkozásokat, matematikai függvényeket, logikai operátorokat, aritmetikai operátorokat, konverziós függvényeket, karakterlánc‑állandókat 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 az alapértelmezett függvények, operátorok és állandók támogatottak.
Az Aspose.Slides diagram táblázata a ChartData::getChartDataWorkbook metódussal van reprezentálva a ChartDataWorkbook típuson. A táblázat képletek hozzárendelhetők és módosíthatók a ChartDataCell::setFormula metódussal. Az Aspose.Slides a következő funkciókat támogatja a képletekhez:
- 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 a legutóbb kiszámított képletértékeket tárolják. 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 a táblázat adatait módosították, az olvasáskor a CellUnsupportedDataException kivételt dobja a nem támogatott képletek miatt. Ennek oka, hogy a képletek sikeres elemzésekor a cellafüggőségek meghatározásra kerülnek, és a legutóbbi értékek helyessége ellenőrzésre kerül. 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 adjon hozzá egy diagramot az új prezentáció első diájához a ShapeCollection::addChart metódussal. A diagram munkalapja automatikusan létrejön, és a következővel érhető el: ChartData::getChartDataWorkbook metódussal:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 150, 150, 500, 300);
$workbook = $chart->getChartData()->getChartDataWorkbook();
# ...
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Írjunk néhány értéket cellákba a ChartDataCell::setValue metódussal a Object típusú objektumon, ami azt jelenti, hogy 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, hogy képletet írjunk a cellába, használhatja a ChartDataCell::setFormula metódust.
Megjegyzés: ChartDataCell::setFormula metódus A1‑stílusú cellahivatkozások beállítására szolgál.
R1C1‑stílusú képlet beállításához használja a ChartDataCell::setR1C1Formula metódust.
Ezután, ha a B2 és C2 cellák értékeit olvassa, azok számításra kerülnek:
$value1 = $cell1->getValue();// 7.8
$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);
$cell = $workbook->getCell(0, "B2");
$cell->setFormula("A2 = TRUE");
$value = $cell->getValue();// az érték bool típusú "false"-t tartalmaz
Numerikus állandók
Számok használhatók közös vagy tudományos jelölésben a diagram táblázat képletének 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 adott é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
Előfordulhat, hogy a képlet nem tudja kiszámítani az eredményt. Ilyenkor 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 próbál osztani.
- #GETTING_DATA – megjelenhet egy cellában, amíg az értéke még számítás alatt áll.
- #N/A – információ hiányzik vagy nem elérhető. Okok lehetnek: a képletben használt cellák üresek, extra szóköz karakter, elírás stb.
- #NAME? – egy adott cella vagy más képlettárgy nem található a neve alapján.
- #NULL! – akkor jelenik meg, ha a képletben hiba van, 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 egy numerikus cellában.
$cell = $workbook->getCell(0, "A2");
$cell->setFormula("2 / 0");
$value = $cell->getValue();// az érték tartalmazza a "#DIV/0!" sztringet
Aritmetikai operátorok
Az alábbi aritmetikai operátorok használhatók diagram munkalap képletekben:
| Operátor | Jelentés | Példa |
|---|---|---|
| + (pluszjel) | Összeadás vagy egyértelmű plusz | 2 + 3 |
| - (mínuszjel) | Kivonás vagy negáció | 2 - 3 -3 |
| * (csillag) | Szorzás | 2 * 3 |
| / (perjel) | Osztás | 2 / 3 |
| % (százalékjel) | Százalék | 30% |
| ^ (karet) | Hatványozás | 2 ^ 3 |
Megjegyzés: Az értékelési sorrend módosításához zárójelek közé kell tenni a korábban számítandó részt.
Összehasonlító operátorok
Összehasonlíthatja a cellák értékeit összehasonlító operátorokkal. Amikor két értéket összehasonlítanak ezekkel, az eredmény logikai érték, akár TRUE vagy FALSE:
| Operátor | Jelentés | Jelentés |
|---|---|---|
| = (egyenlőjel) | Egyenlő | A2 = 3 |
| <> (nem egyenlő jel) | Nem egyenlő | A2 <> 3 |
| > (nagyobb mint jel) | Nagyobb mint | A2 > 3 |
| >= (nagyobb vagy egyenlő jel) | Nagyobb vagy egyenlő | A2 >= 3 |
| < (kisebb mint jel) | Kisebb mint | A2 < 3 |
| <= (kisebb vagy egyenlő jel) | Kisebb vagy egyenlő | A2 <= 3 |
A1‑stílusú cellahivatkozások
A1‑stílusú cellahivatkozásokat a munkalapokon használják, ahol az oszlop betűazonosítóval (pl. “A") és a sor számmal (pl. “1") rendelkezik. Az A1‑stílusú cellahivatkozások a következő módon használhatók:
| Cellahivatkozás | Példa | ||
|---|---|---|---|
| Abszolút | Relatív | Vegyes | |
| Cell | $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
R1C1‑stílusú cellahivatkozásokat a munkalapokon használják, ahol a sor és az oszlop egyaránt numerikus azonosítóval rendelkezik. Az R1C1‑stílusú cellahivatkozások a következő módon használhatók:
| Cellahivatkozás | Példa | ||
|---|---|---|---|
| Abszolút | Relatív | Vegyes | |
| Cell | 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 a megvalósítás egyszerűsítésére használhat. 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
GYIK
Támogatottak-e külső Excel‑fájlok adatforrásként a képletekkel ellátott diagramokhoz?
Igen. Az Aspose.Slides támogatja a külső munkafüzeteket diagram adatforrásaként(https://reference.aspose.com/slides/hu/php-java/aspose.slides/chartdatasourcetype/), amely lehetővé teszi, hogy az XLSX‑ben lévő képleteket a prezentáción kívül használja.
Hivatkozhatnak-e a diagram képletei ugyanabban a munkafüzetben lévő lapokra lapnév alapján?
Igen. A képletek a szabványos Excel‑referencia modellnek megfelelően működnek, így hivatkozhat más lapokra ugyanabban a munkafüzetben vagy egy külső munkafüzetben. Külső hivatkozások esetén a útvonalat és a munkafüzet nevét kell megadni az Excel szintaxisával.