Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql

* Development Language: PHP 5.3+
* Témakörök: MySQL, PHP, PHPExcel, OEM
* Nehézségi fok: Közepes
* Szükséges idő: 01:00
* Mellékletek

CSV formátumban (vesszővel elválasztott vagy „vesszővel elválasztott értékek”) általában elegendő a MySQL adat export egy Excel-táblázatba. Azonban csak az adatok jelen a felhúzókötelek CSV. A valós Excel táblázat tartalmazza a formázás képleteket, és néha még a grafikai elemekkel. Ie Itt a különbség egyenlő a különbség a normál adatátviteli és szakmai jelentések.

Ez az útmutató megmutatja, hogyan kell használni a PHP-elemek (amelyek osztják a nyílt forráskódú), hogy valódi Excel táblázatkezelő pointerek MySQL SELECT. Az érdekelt? Akkor kezdjük!

A fő közötti kölcsönhatás adattáblák és táblázatok

Az érték az SQL SELECT vissza minket, hogy az eredmény meg, vagy inkább egy gyűjtemény oszlopok nevei a sejteket, amelyek tartalmazzák az adatokat. A PHP / MySQL eredményeként minden egyes sejt lehet (és gyakran azért történik) képviseli, mint egy asszociatív tömb, ahol a kulcs tömb - a nevét az oszlop.

Excel táblázatkezelő - egy bizonyos számú oldalt, ahol láthatjuk a számozott sorok és oszlopok ABC sorrendben.

A módszer lényege az, hogy egy értéket állítsa be az SQL egy működési oldalon, ami lehet elérni összevetjük az oszlop nevét egy asszociatív tömb, amely visszakerült OEM visszaállító parancsot, és betűk oszlopok a táblázatban.

1. lépés: megtanulják a helyes neveket, hogy hangszórókat ábécé sorrendben

A legfontosabb pontja ennek a technikának az algoritmus elnevezési oszlopot, amely lehetővé teszi, hogy helyesen hívja fel a hangszórók alfabetikus sorrendben. Mint már korábban említettük, az Excel táblázatkezelő oszlopban a betűkkel, és a vonalak határozzák meg számokat. Ha a lekérdezés kevesebb mint 26 oszlopot, akkor csak marad a levelet Z. azonban sok kérdést tartalmaz több oszlopot.

A számozás az oszlopok Excel

Ha az oszlop nevét eléri a Z betűt, a név kezd újabb levelet, azaz A ... Z, AA, AB ... AZ. Miután AZ megy BA (mint alább látható).

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


Algoritmus nevét oszlopok

A következő PHP kód megmutatja nekünk, hogyan kell helyesen hívja az oszlop tól ZZ.


Ez az algoritmus nem fog menni tovább ZZ. Az algoritmus lefut (egy kicsit más formában) révén egy további fájlt egy felhasználói funkció MySqlExcelBuilder :: mapColumns.

2. lépés: A formázás és a tesztelés SQL-értékek

Az alábbi ábra azt mutatja, az ügyfél / sorrendben egyszerűsített kölcsönhatást. SQL értéket teremteni az alábbi séma tartalmazza a tömörített zip-fájl formátumban xls_sample.sql, amely csatlakozik az utasítás.

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


„Gyors és piszkos” érték SELECT

Általában akkor csak gyorsan letölteni adatokat az SQL a táblázatban megadott értékek:


A fő előnye ennek a módszernek, időtakarékos. Bár az eredmények ritkán elfogadható.

PHPMyAdmin - kezelésére szolgáló eszköz MySQL adatbázisok, amelyek gyakran együtt kapja a fogadási tervet. Mert strukturálása és tesztelése oldalának táblázatát, akkor használják a különböző SQL-eszközök is, amelyek a PHPMyAdmin.

Az alábbi képen mutatja nekünk az eredmény a fenti lekérdezés:

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


Ha figyelembe vesszük a hangszórók közelebb, azt látjuk, hogy a nevük igen jelentős és hasznos a programozók, de nem valószínű, hogy vonzó legyen az üzleti felhasználók számára.


oszlop nevek vannak írva kis betűkkel, és ahelyett, terek látjuk aláhúzás.

Kapunk egy vonzóbb eredményeként értékek SELECT

Meg kell formázni értékét mi SELECT, hogy úgy tűnjön, komoly és vonzó. Tehát phpMyAdmin eszközt, szerkeszteni SQL értéket, hogy az oszlop nevek voltak valódi szavakkal, és megjeleníteni csak a kívánt oszlopokat felhasználók. Református SQL érték valahogy így néz ki:


Melyek következtében:

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


A fentiekből látszik, nekünk egy prototípusa, amit úgy néz ki mint egy táblázatot.

3. lépés: Bemutatás MySQL eredmények a táblázatban oldalon

MySqlExcelBuilder osztály tartalmazza szükséges funkciókat, hogy hozzáadott értéket az SQL-oldal Excel táblázatkezelő segítségével az OEM és PHPExcel. Teljes osztály a társ-zip fájlt.

Ez az osztály lehetővé teszi az oldalak az adott névvel, hogy tegyen egy véletlen számot az eredmények SQL. A következő kódrészlet megmutatja nekünk fontos adatokat.


* $ Pdo - egy adat objektum PHP létrehozásához használt adatbázis-lekérdezés.
* $ PhpExcel - ez PHPExcel kifogást használni létrehozására és kezelésére táblázatot.
* $ Sql_pages - tartja az SQL-érték és információk a nevét és formátumát az oldalt.
* Tervező (nem jelenik meg) beállítja az adatokat az OEM és PHPExcel.

Előállítása minden oldal

Az alábbi kép a táblázatkezelő - egy prototípus létrehozott Excel, hogy megmutassa, hogyan kell kinéznie egy táblázatot.


add_page funkció használható a hozzáadott értéket a SQL-oldal a nevét:


sql_pages tartalmazza az információt, hogy szeretnénk használni belépő sql oldalakon.

Példa a felhasználói függvény

Ez a kód egy példa arra, hogyan kell használni a felhasználói függvény add_page:


A következő kép azt mutatja, hogy az egyéni függvény add_page kell meghatározni a táblázatot.

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


4. lépés: Ki kell alakítani egy táblázatba

Ha érti, hogyan kell kezelni az Excel táblázatkezelő az egér és a billentyűzet, akkor biztosan gyorsan megtanulják PHPExcel. PHPExcel minta alapján a vezérlő elv a táblázatot parancsokkal hasonló parancsokat rendelni az Excel. Az összes dokumentum tételesen részletesen a PHPExcel fejlesztők.

Egyedi funkció getExcel ()

Egyéni getExcel () függvény PHPExcel létrehozni külön munkalap SQL-értékek, amelyeket meghatározott 3. lépést. Miután jön létre munkalapok PHPExcel tárgy visszakerül a kérelmező. Alább látható a leírás a 4 fő osztályok getExcel egyedi funkcióval.

A. Ismétlés oldalak

A fő hurok a felhasználói függvény ismétlődik a lapok, hogy a korábban hozzáadott add_page. Az egyes ismétlés, létrehoz egy későbbi oldalt, majd az adatokat hozzáadjuk a tárgy phpExcel. Egyedi funkció createSheet a PHPExcel használható új munkalapot minden korábban hozzáadott oldalt.


Az alábbi kép mutatja nekünk a kódot, a folyamat kölcsönhatás az asztalra. column_map későbbiekben a kézikönyvben.

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


B. Logic „Kezdőlap”

Az elején minden oldal van egy speciális formázást. Először is, minden adott oldal az adatbázisból lekért húr, amely elvégzi a feladatokat, amelyek szükségesek formázni a termék elején az oldalt. Ez magában foglal egy egyedi funkció mapColumns, amit tárgyalt lépésben №1. PHPExcel, mint az Excel, használ egy pár BukvaChislo hogy meghatározzák a konkrét sejtben. A MySqlExcelBuilder úgy tekinteni, mint egy kulcs sejt (cellKey). sejt kulcs által létrehozott összekötő oszlop fejlécében a sorok száma.


Néhány további szempontokat kell figyelembe venni a fenti kódot:

* SetCellValue - ami lényeges a területen. Megjegyezzük, hogy a sejt része egy munkalapot. Egy bizonyos sejt határozza meg a változó cellKey.
* GetStyle - ez a paraméter adja vissza az adatokat attribútum adott sejt stílus, így ez az érték lehet szabályozni.
* GetColumnDimension - módszer munkalap objektumot. Az oszlop szélessége van kötve a változó col.

B. Az adatok kitöltése

Hála az előkészítő munka és az irányt oszlop folyamat, sőt, most töltse ki a megfelelő rovatot adatokat. Mi tekintettel a munkalapot jelenlétében bizonyos adatoszlop létre a legfontosabb sejtek, majd tenni az értéket a cellába.


D. hozzáadása a képlet

Az utolsó része a getExcel () megmutatja nekünk, hogyan PHPExcel dobvalyat munkalap formula. Ebben az esetben, minden esetben egy hangszóró. PHPExcel így cellákban lévő képleteket legpontosabban akkor tette volna őket a munkalapra. Jelentése sejtek kezdődik egyenlőségjellel (=), majd képlet. Ebben az esetben mi vagyunk az összeg néhány sejt. Nézd tovább:

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql


És ez az, hogy a kód így néz ki:


5. lépés: a végső simításokat

Ha már megvan az Excel táblázatkezelő töltött egy MySQL adatbázis és getExcel adatokat, akkor itt az ideje, hogy az összképet. A példánkban mi meg a címet az egyes munkalapot.


6. lépés: Mentse el a fájlt

PHPExcel használ termelési létesítmények létrehozására az elem, amely adja meg az adatokat a táblázatba helyesen van formázva. Ebben az esetben szoktuk Excel5, mert lehet olvasni, még a régebbi programok, azaz a Ez a jelentés automatikusan elérhető egy nagyobb közönségnek.

Az alábbi kép mutatja nekünk az utolsó képernyőképet a projekthez. Két oldalas táblázat tele van az adatbázisban lévő adatokat és díszített egyéni fejlécet:

Hozzon létre egy teljes táblázat az Excel az adatbázisból mysql

Miután az adatokat az adatbázis lesz PHPExcel tárgy, akkor a többi funkció az osztály PHPExcel játszani további formázást, adjunk hozzá több képleteket, és mentse őket a különböző formátumok és még sok más.

Class MySqlExcelBuilder például meg lehet hosszabbítani használatra PHPExcel funkciók kitölteni egy meglévő táblázatsablonjában adatokat egy MySQL adatbázis. Mivel OEM az interfész az adatbázis, DSN MySqlExcelBuilder kivitelező könnyen lehet módosítani, hogy működjön együtt más adatbázisokkal.

Köszönjük, hogy velünk!

Kapcsolódó cikkek