Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Készítsen táblázatokat az Excel és a PHP Advanced Export segítségével

Közös rövidítések
  • CSV: vesszővel elválasztott érték - vesszővel elválasztva
  • W3C: World Wide Web Consortium
  • XML: Extensible Markup Language - Extensible Markup Language

Az összefoglaló táblázat olyan táblázat, amelyben a felhasználó dinamikusan kiválaszthatja, hogy mely mezőket használják sor és oszlop fejlécként, és milyen adatokat jelenít meg minden egyes cellában.





A mezők átrendezhetők lennének, amelyek lehetővé teszik, hogy válaszokat kapjanak összetett kérdésekre és érdekes adatképzési modellekkel.







Az 1. ábra egy egyszerű Excel táblázatot mutat be. Az első sor tartalmazza a mezők nevét (számla, műfaj, képek, átlagolt, teljes méret) és az ezt követő sorokban - az adatokat. Ebben az esetben egy olyan weboldal adataival foglalkozunk, amelyen tárolt képek (például Flickr). Minden sor tartalmaz információkat a megadott fiókról, beleértve a letöltött képek műfaját és számát, az átlagos minősítést és a teljes mennyiséget bájtban.

1. ábra Egy egyszerű Excel táblázat

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az Excel programban egy pivot táblázat szerkesztéséhez ki kell választania a benne lévő adat oszlopokat, majd válassza ki a PivotTable Report elemet a Data menüben. Ezt követően meg kell adnia, hogy milyen adatokat fog használni a jelentés varázslóban. A varázsló befejezése után egy új lap kerül hozzáadásra az Excel fájlhoz.

A 2. ábra egy üres összefoglaló táblát mutat be a PivotTable lebegő eszköztárával. Az oldal olyan területeket tartalmaz, amelyekben minden mezőelemet el lehet húzni, hogy jelentést készítsen.

2. ábra Összefoglaló táblázat létrehozása

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

A 3. ábra a PivotTable eszköztár részletesebb nézetét mutatja. Kimutatás menü tetején található, és több gomb szintje beágyazott táblázatok, és az alsó felsorolja az összes rendelkezésre álló területen (Fiók, műfaj, Képek Átlagos Ran, Total Size).

3. ábra: PivotTable eszköztár

A pivotTable beállításához meg kell adnia a mezőket, és húzza őket az oldal megfelelő területére. A 4. ábrán látható a mezők műfajának, fiókjának és teljes méretének húzása a jelentés bal oldalán található adatterületen.

4. ábra: Adatokkal töltött összefoglaló táblázat

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Most a jelentés megjeleníti a sorokat csoportosítva először műfaj szerint, majd számlánként. Ebben láthatjuk a letöltött képek teljes mennyiségét minden egyes fiókhoz, az egyes műfajokhoz tartozó hangerőt, és végül az összes letöltött kép teljes mennyiségét.

Amikor egy Excel táblázatot XML formátumban ment el, a pivot tábla összes adata és paramétere XML fájlba kerül. Az ilyen fájl egy töredéke az 1. listán látható.

Listázás 1. Export példa Excel-ből

Példánk PHP alkalmazás létrehoz egy Excel XML fájlt két lapkal: az első lap tartalmazza az eredeti adatokat, a második pedig a PivotTable pivotTable-t. Ez az összefoglaló táblázat rendelkezik az összes rendelkezésre álló dinamikus tulajdonsággal, mintha közvetlenül az Excel-ben lett volna létrehozva.

Mielőtt elkezdené, meg kell adnia az adatokat a táblázatunkhoz.

Adatok fogadása

A feladat egyszerűsítéséhez hozzon létre egy XML adatfájlt, amint azt a 2. jegyzék mutatja.

Listing 2. data.xml fájl

Az XML gyökér eleme a felhasználói elem. Minden felhasználói fiókba beágyazott elemeket tartalmaz. Minden egyes felhasználói elem tartalmazza a fiókattribútumokat. műfaj. képek. avgrank és méret. Ezek az attribútumok minden egyes fiókhoz releváns adatokat tartalmaznak.

Az adatok elolvasásához egy egyszerű data.php fájlt írtam. egyetlen load_data függvényt tartalmaz. Ez a függvény az XML adatokat olvassa le, és a hash táblák tömbjévé teszi. A funkció kódja a 3. listán látható.

Listázás 3. A file data.php

A kód a DOMDocument objektum létrehozásával kezdődik. amely XML fájl betöltésére szolgál. Ezután a foreach hurokban az összes felhasználói fiókra kiterjedő iterációk kerülnek végrehajtásra, és azok attribútumait tárolja az adatmátrixban, amelyet ezután visszajuttat a hívó objektumhoz.

Az adatleolvasási funkció mellett egy másik függvény print_file-t definiálunk. amely kinyomtatja a fájl teljes tartalmát. A funkció kódját a 4. listában találja.

Lista 4. A helpers.php fájl

A print_file függvény egy egyszerű okból szükséges. Mivel az XML XML fájl szerkezete meglehetősen bonyolult, a legegyszerűbb módja annak, hogy létrejöjjön az eredeti fájl XML-ből, és a töredékeit használja az exportált fájl forráskódjául. Ebben az esetben először a fájl töredékét veszi, kezdve és befejeződik az első könyv meghatározásának helyével, és elhelyezve a body_header.txt fájlba. A fájl egy töredéke, az utolsó könyv végétől a végéig, a body_footer.txt fájlba kerül.

Ugyanazok a fájlok, mint a data_header.txt és az data_footer.txt a Data lapon található táblázatok elején és végén találhatók.

Hozzon létre egy egyszerű Excel táblázatot

Most, hogy rendelkezünk az adatok olvasásával és a fájlok nyomtatásával, elkezdhetjük létrehozni az Excel táblázatokat. Az 5-ös lista az exportkód első verzióját mutatja az Excelben.

Listázás 5. A helpers.php fájl

Először az adatokat olvassuk, majd létrehozzuk a body_header.txt és az adat_header.txt fájlokat. Ezután az XML-kód használatával meghatároz egy táblát, amelynek első sorában fejléc található. Ezután a foreach hurokban minden adatelemre kiterjedő iterációkat hajtanak végre, és adatsorokat hoznak létre.

A program végrehajtása során a kimenete egy Excel-ben megnyitható fájlba menthető. Ennek eredményeképpen az 5. ábrán látható táblát kell megkapnia.

5. ábra: A PHP-ből exportált fő táblázat

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az 5. ábrán a forrásfájl szerint formázott adatok láthatók; Az első sor a mezők fejléceit jeleníti meg, az utána következő sorokban pedig az adatokat.

Nyilvánvaló, hogy nem szeretné pontosan ugyanazt a kódot használni az exportálási feladatokhoz, mert az Ön esetében mind a mezők, mind az adatok eltérőek lesznek. Mindazonáltal a létrehozásának folyamatát egy munkalapon ugyanaz marad: először hozzon létre egy Excel fájlt, majd vágott egy darabot a fejléc és a lábléc, és akkor tegye a saját adatlapján.

PivotTable létrehozása

A pivot tábla lapok valamivel bonyolultabbak, de az ötlet ugyanaz. Először az adatok olvashatók, majd a body_header.txt fájl kinyomtatódik. Ezután kinyomtatják az adatok oldalát, a pivot táblát és a body_footer.txt fájlt. Ez a kód a 6. listán látható.

6. felsorolás. A build2.php fájl

Szintén érdekes a szkript elején a fejléc funkcióhoz tartozó hívások, mivel a böngészőnek azt mondják, hogy mit kell tenni a fájllal. A Tartalomtípus fejléc megmondja a böngészőnek, hogy a táblázatot el kell menteni egy pivot.xml nevű fájlnak.

A munka fő részét az Exporters.php fájlban definiált exportfunkciók hajtják végre. amint azt a 7. jegyzék mutatja.

Listázás 7. A file exporters.php

E funkciók kódjának nagy részét töröltem a listáról a helytakarékosság érdekében. A teljes kód megtalálható az excelpivotxml.zip fájlban (lásd: Letöltés szakasz). Az export_data első függvény ugyanazokat a műveleteket hajtja végre, mint az első szkript (adat export). Pivottable fül létrehozásához az export_pivot függvény először létrehoz egy munkalapot, majd hozzáad egy adattáblát, lap opciókat és a PivotTable XML-t. Miután elkészült a munkalap, befejeződött a PivotCache létrehozása.

Őszintén szólva, nem tudom, miért kell annyira XML-t létrehozni egy pivot táblát. Ebben az esetben több kódot határozottan használnak, mint egy egyszerű adatlap létrehozására. Azonban a jó hír az, hogy létrehozhat egy pivot táblát az Excel-ben, mentheti XML-fájlként, és sablonként felhasználhatja saját kódját.

Amikor a PHP szkript befejeződik, mentse az eredményt egy fájlba, és nyissa meg Excel-ben. Ennek eredményeképpen a 6. ábrán látható fájlt kell megkapnia.

6. ábra Exportált pivotTable

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

Az excel php és a fejlett exportfunkciók megosztása pivot táblák létrehozásához

A 6. ábra összefoglaló táblázata az egyes fiókokhoz feltöltött képek teljes mennyiségét és az összes letöltött kép teljes mennyiségét mutatja. Az Excel táblázatot helyesen hozta létre, így a PivotTable eszköztár megjelenik az ablakban. Ezzel a panelrel a felhasználó hozzáadhat mezőket és testreszabhatja a táblát.

következtetés

Az Excelben használt XML formátum kissé bonyolult lehet, de az elmentett XML fájlt használhatja a saját exportált táblázat létrehozásának alapjául. Ez a megközelítés nagyban leegyszerűsíti a generáló fájlokat és lehetővé teszi a felhasználók, hogy hozzon létre táblázatokat a formában, ahogy akarja látni őket, majd ezeket a táblázatokat lehet exportálni, és kitölti az adatok a repülésre. Ez egy nagyszerű lehetőség arra, hogy ügyfelei számára új adatokat szolgáltasson anélkül, hogy elhagyná a PHP és az XML világát.

Források letöltése

Kapcsolódó témák