Ukladanie údajov z excelu do xml. Vytvárame súbor XML. Úpravy, ukladanie a exportovanie

  • 08.12.2020

XML do Excelu a naopak, pozrime sa bližšie na typy týchto súborov. Hneď je potrebné poznamenať, že dokumenty programu Excel majú veľa formátov, zatiaľ čo formát súboru je XML. Preto si tieto dva pojmy nezamieňajte.

Microsoft Excel je výkonný výpočtový program s mnohými užitočnými funkciami.

Microsoft Excel je špeciálny nástroj na vytváranie a úpravu tabuliek. S nimi už môžete robiť, čo chcete: vytvárať databázy, diagramy, vzorce a iné typy údajov. Ide o veľmi výkonný nástroj, takže nebudeme rozoberať všetky jeho možnosti. Dnes je náš cieľ trochu iný a nebudeme odbočovať od témy dnešnej diskusie.

Súbory XML sú pre jednoduchšie pochopenie navrhnuté na ukladanie a výmenu rôznych údajov medzi nástrojmi. Tento značkovací jazyk sa často používa najmä pri prenose informácií cez internet. A keď napríklad potrebujete preniesť tabuľkové údaje z Excelu na lokalitu, budete musieť transformovať svoj dokument tak, aby sa zobrazoval správne. Preto neodkladajme okamih pravdy a okamžite pristúpme k operácii.

Ako previesť Excel do XML

Vážení priatelia, prevod súborov je v skutočnosti celkom jednoduchý. Niektorí používatelia však môžu mať problémy pri prenose dát, preto dnes zvážime niekoľko spôsobov, ako náš plán realizovať. Preto získame trpezlivosť a pristúpime k akcii:

  1. Najjednoduchším spôsobom, ktorý v niektorých prípadoch nemusí fungovať, je uložiť súbor v požadovanom formáte v samotnom programe Microsoft Excel. Ak to chcete urobiť, otvorte požadovaný dokument v tejto aplikácii. Potom kliknite na tlačidlo "Súbor" (ako príklad Office 2013, v iných verziách môže byť proces ukladania mierne odlišný) v ľavom hornom rohu okna programu Excel, potom na položku "Uložiť ako" a vyberte umiestnenie ak chcete dokument uložiť, pomenujte ho a na karte typu súboru zadajte "údaje XML". Potom skontrolujte, či pre vás všetko fungovalo správne. Ak nie, skúste nasledujúce metódy.
  2. Ak sa teda v predchádzajúcom prípade vyskytne chyba, vaša kópia programu pravdepodobne neposkytuje podporu a príslušné doplnky. Ak ich chcete nainštalovať, prejdite na webovú lokalitu spoločnosti Microsoft http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=3108, prevezmite a nainštalujte tento súbor do počítača alebo prenosného počítača. Ďalej spustite program Microsoft Excel a kliknite na veľké farebné tlačidlo v ľavom hornom rohu okna aplikácie (tu sa už pozeráme na príklad pre verziu 2007). V bloku, ktorý sa zobrazí, kliknite na parametre vľavo od výstupu z pomôcky. Teraz prejdite na položku doplnkov a kliknite na tlačidlo „Prejsť“ oproti položke „Ovládanie“. Zobrazí sa dialógové okno, v ktorom musíte kliknúť na prehľad a nájsť dokument, ktorý ste si predtým stiahli z webovej lokality spoločnosti Microsoft. Teraz klikneme na OK a prejdeme do hlavného okna programu, kde máte teraz záložku Nástroje XML – pomocou nej teraz jednoducho vytvoríte XML súbor z existujúcej tabuľky. Musíte ho uložiť rovnakým spôsobom ako v predchádzajúcom odseku.
  3. Ak si s takýmito informáciami neželáte sťahovať seba ani svoj počítač, môžete sa uchýliť k použitiu špeciálnych konvertorových pomôcok alebo online verzií týchto programov. Môžete si napríklad stiahnuť aplikáciu Format Factory, ktorá vám umožní vykonať všetky potrebné kroky. Je však potrebné pripomenúť, že súbory uložené a konvertované týmto spôsobom nie vždy budú v budúcnosti fungovať. To znamená, že počas operácie môže dôjsť k poškodeniu sektorov alebo oblastí v pamäti dokumentu, čo ho negatívne ovplyvní – jednoducho sa nemusí otvoriť napríklad v XML editore. Preto sa odporúča používať buď profesionálne programy alebo samotný Microsoft Excel.

Ako preložiť XML do Excelu

Skôr ako budete môcť preložiť XML do Excelu, musíte ho najprv otvoriť. Zvážte celý tento krátky proces nižšie. Takže začnime:

  1. Spustite program pomocou skratky na pracovnej ploche alebo cez ponuku Prieskumník.
  2. Ak používate Office, kliknite na "Otvoriť ďalšie knihy" v spodnej časti domovskej stránky. V iných verziách môže byť proces mierne odlišný.
  3. Ďalej kliknite na „Počítač“ alebo na iné miesto, kde sa nachádza váš súbor XML, potom kliknite na „Prehľadávať“ a v zobrazenom okne zmeňte typ údajov na „Súbory XML“.
  4. Teraz hľadáme požadovaný súbor a otvoríme ho v našom programe pomocou tlačidla s rovnakým názvom.
  5. Ďalej budeme diskutovať o tom, ako transformovať náš dokument. Prejdite na kartu vývojára a potom kliknite na tlačidlo importovať.
  6. V okne, ktoré sa otvorí, budete musieť znova nájsť a vybrať náš dokument, na ktorom chcete vykonať akciu, a potom kliknúť na tlačidlo "Importovať".
  7. Potom si všetko prispôsobíte: oblasť importu, miesto uloženia a ďalšie parametre. Potom dostanete tabuľku, ktorú si môžete neskôr uložiť vo formáte, ktorý potrebujete. Ako vidíte, nie je nič zložité.

Poďme si to zhrnúť

Vážení čitatelia, dnes sme sa naučili nielen konvertovať súbory XML do Excelu a naopak, ale aj ako ich vytvárať a otvárať, keď sú verzie nekompatibilné. Dúfame, že sa vám všetko vydarilo a už vám nezostali žiadne otázky. Nezabudnite sa podeliť o svoj názor a skúsenosti v komentároch: možno poznáte jednoduchý spôsob konverzie. Povedzte ostatným používateľom, či sa vám podarilo preložiť jeden typ dokumentu. Ak to fungovalo, podeľte sa o to, ako ste to použili.


S XML súbormi pracujem už dlho, ale až teraz som si položil otázku: Ako vytvárať a upravovať XML súbory v MS Excel bežnými prostriedkami? Excel je pohodlný a intuitívny nástroj na vytváranie, úpravu a spracovanie rôznych údajov. Excel sa študuje v škole a pravdepodobne neexistuje človek, ktorý by vedel pracovať na PC a neovládal základy práce v Exceli. Preto je to podľa mňa najvhodnejší nástroj, ktorý možno odporučiť bežným používateľom na vytváranie a úpravu dátových súborov pre rôzne aplikácie vrátane webových aplikácií. Mám doma nainštalovaný MS Excel 2013 a na jeho príklade popíšem jednoduché postupy, ktoré je potrebné vykonať pri vytváraní XML dátového súboru v Exceli. Myslím, že to bude fungovať aj v starších verziách Excelu. Na vytvorenie dátového súboru XML prejdeme niekoľkými jednoduchými krokmi. Zoberme si ich na príklade vytvorenia súboru s údajmi o udalosti.

1. Najprv musíte v Exceli vytvoriť a vyplniť tabuľku údajov v súlade so štruktúrou údajov. Na to použite položku ponuky Vložiť / Tabuľka.

2. Vytvorme schému súboru XML. Ak to chcete urobiť, zadajte do textového editora nasledujúce riadky a uložte ich do súboru.

XHTML

0 0 0 0 Svetlé vzkriesenie Krista. Veľká noc 0 0 -7 0 -7 Vstup Pána do Jeruzalema 1

0

0

0

0

Svetlé vzkriesenie Krista. Veľká noc

0

0

-7

0

-7

Vstup Pána do Jeruzalema

1

3. Teraz otvorte kartu Vývojár, stlač tlačidlo Zdroj a zadajte zdrojový súbor XML. V prípade potreby aktivujte položku ponuky Vývojár v nastaveniach Excelu.

4. Zostáva zosúladiť prvky schémy a stĺpce tabuľky pretiahnutím prvkov na príslušné hlavičky stĺpcov.

5. A posledný krok: export údajov tabuľky do súboru XML pomocou kontextového menu. Postavte sa na ľubovoľnú bunku tabuľky, kliknite pravým tlačidlom myši a vyberte XML / Export ... a uložte súbor XML s požadovaným názvom.

Uložte súbor Excel pre neskoršie úpravy a pridávanie. V nasledujúcich odsekoch 1.-4. nemusíte to robiť!

P.S. Prečo som napísal túto triviálnu poznámku? Po prvé, aby ste nezabudli na seba, a po druhé, myslím si, že tieto informácie budú užitočné pre používateľov počnúc ďalšou verziou 0.6 ;-)

Ak pracujete na lokálnom počítači, štandardne sa dokument vytvorený v Microsoft Office uloží v binárnom formáte s príponou .doc, .xls, .ppt atď., v závislosti od aplikácie, v ktorej bol vytvorený. Dokument programu Word je možné uložiť vo formáte Html(Hypertext Markup Language) a XML (rozšíriteľný značkovací jazyk- Extensible Markup Language) a publikovať v podnikovej sieti alebo na internete výberom z ponuky Súbor príkaz Uložiť ako webovú stránku(Uložiť ako webovú stránku). Lúka Typ súboru Dialógové okno príkazu (Uložiť ako typ) na uloženie súboru vo formátoch, ako sú: Webstránka(Webstránka), Filtrovať webovú stránku(Webová stránka, Filtrované) a Webový archív(Webový archív). Formátovať Webstránka(Webová stránka) zachováva všetky možnosti úprav dokumentu HTML. Formátovať Filtrovať webovú stránku(Webová stránka, Filtrované) odstráni časť kódu HTML a zmenší veľkosť súboru. Formát webovej stránky s jedným súborom vám umožňuje odosielať obsah (text a grafiku) v jedinom súbore * .mht, * .mhtml.

Pri použití ktoréhokoľvek z vyššie uvedených formátov sa v každom dokumente zachovajú všetky možnosti formátovania. Používatelia v podnikovej sieti alebo na internete, ktorí nemajú nainštalovaný balík Microsoft Office, si môžu prezerať súbory uložené vo formátoch HTML alebo XML vo webovom prehliadači alebo iných programoch na prehliadanie internetu.

Office poskytuje vysokú vernosť v okne prehliadača naformátovaných dokumentov, ktoré vyzerá presne ako v okne aplikácie. Ukladajú sa parametre grafov a obrázkov, napríklad farby a charakteristiky čiar. Začínajúci používateľ bez kódovania môže vytvoriť webovú stránku v Office 2003 a publikovať ju na webovom serveri bez straty kvality a funkčnosti dokumentu. Automatická detekcia kódovania HTML a XML vám umožňuje vidieť správne znaky v akomkoľvek jazykovom prostredí.

Funkcie ukladania súborov vo formáte HTML

Rozlišujte medzi statickými a dynamickými formátmi HTML. Statický formát sa používa, keď sa údaje menia zriedkavo, dynamický formát sa používa vtedy, keď je potrebné zobraziť najnovšie údaje v čase zverejnenia. Všimnite si, že Access 2002 už podporoval konverziu objektov do dvoch dynamických HTML formátov: ASP ( Stránky aktívneho servera) a IDC/HTX. Súbor asp sa používa pre dynamické webové stránky, súbor idc obsahuje dotaz vo forme príkazu SQL, súbor htx obsahuje príkazy a pokyny na formátovanie. Namiesto údajov v súboroch s príponou htx. sú zahrnuté šablóny, ktoré označujú, kam vložiť údaje z požiadavky do súboru s príponou idc.

Keď uložíte dokument vo formáte HTML, Office 2003 vytvorí jeden súbor HTML (napríklad otchet.htm) v zadanom adresári a priečinok s rovnakým názvom, ktorý obsahuje všetky podporné súbory dokumentu a hlavný riadiaci súbor. Každý obrázok, tabuľka, snímka prezentácie a súbor pomocných údajov sú umiestnené v samostatnom súbore. Všetka grafika sa v závislosti od obsahu automaticky prevedie do formátu .GIF, JPG, JPEG alebo .PNG. Napríklad čiarová grafika sa uloží ako GIF a fotografie sa uložia ako JPEG. Pri presúvaní takýchto dokumentov musíte skopírovať hlavný súbor HTML aj priečinok s podpornými súbormi. (Podrobnosti nájdete v časti „Typy súborov používané na zobrazenie obrázkov a grafiky na webovej stránke“ nižšie)

Na uľahčenie úprav nerastrovej grafiky pomocou vhodných programov sa pri konverzii dokumentu balíka Office 2003 do formátu HTML grafika ukladá v natívnom formáte aj vo formáte prehliadača.

Ako príklad uvádzame, ako konvertovať objekt databázy Accessu na dynamický HTML:

  1. V okne Databáza(Databáza) kliknutím myšou vyberte požadovaný objekt a vyberte z ponuky Súbor príkaz (Súbor). Export(Exportovať do).
  2. V dialógovom okne Exportovať objekt(Export To) v poli Typ súboru(Uložiť ako typ) vyberte riadok Microsoft IIS 1-2 alebo Microsoft ASP Pages.
  3. Vyberte priečinok, do ktorého sa uloží exportovaný súbor, a do poľa zadajte názov súboru latinskými písmenami Názov súboru(Názov súboru).
  4. Kliknite na tlačidlo Export(Export).
  5. Ak používate formát Active Server Pages, zobrazí sa dialógové okno. Prispôsobenie výstupu súboru ASP(Microsoft Active Server Pages Output Options), v ktorej zadajte názov zdroja údajov ODBC. Webový server ho použije na prístup k údajom. Zadajte adresu servera, ktorý bude hostiteľom súboru ASP.

Použitie cenného XML

Office 2003 podporuje XML ( rozšíriteľný značkovací jazyk- rozšíriteľný značkovací jazyk). Tento jazyk poskytuje intuitívne, výkonné nástroje spolupráce a je široko používaný pri výmene informácií na internete bez ohľadu na použitú platformu, formát údajov. Formát XML je vyvinutý na báze HTML ako formát pre univerzálnu prezentáciu dát v podnikových sieťach a na internete. Je výkonnejší ako HTML. V tomto formáte môže byť reprezentovaný akýkoľvek dokument balíka Office.

XML uľahčuje načítanie údajov z dokumentov balíka Office 2003 do iných aplikácií XML. Môžete oddeliť obsah dokumentu a hranice jeho binárneho formátu. Obsah je sprístupnený pre procesy automatického zberu dát a analýzy s následnými úpravami. Dokument XML môže byť zložený z niekoľkých rôznych typov súborov, napríklad súbor XML obsahujúci údaje; súbor ASP obsahujúci webovú stránku na prezeranie dokumentu; xsd súbor obsahujúci popis dátovej štruktúry atď. Jediný dokument je možné zobraziť v programe Internet Explorer 5 a novších. Súbor HTML obsahuje skript, ktorý načítava údaje zo zdroja XML.

Na rozdiel od všeobecných značiek HTML môžu byť značky XML modifikované vývojármi, a preto ich musia odovzdať softvéru, ktorý ich používa. Microsoft očakáva, že formuláre XML bude používať výlučne na firemnom trhu. Pretože niektoré prehliadače nepracujú s XML, Word poskytuje možnosť uložiť dokument ako filtrovanú webovú stránku bez použitia XML deskriptorov. Ak chcete použiť túto funkciu v ponuke servis(Nástroje) vyberte príkaz možnosti(Možnosti) a potom otvorte kartu generál(Všeobecné), stlačte tlačidlo Možnosti webového dokumentu(Webové možnosti) a prejdite na kartu Pozorovatelia(Prehliadače), začiarknite alebo zrušte začiarknutie políčka Zakázať súčasti, ktoré tento prehliadač nepodporuje. Zbierka značiek XML, ktoré definujú prvky dokumentu, sa nazýva schéma ( schéma).

Ukladanie a otváranie súborov XML v programe Word 2003 možno použiť na integráciu s hlavnými obchodnými údajmi podniku. Grafický nástroj na prepojenie v Exceli spája užívateľom definovanú schému XML s bunkami v excelovom hárku.

Tí, ktorí vlastnia úžasný program TextKit, alebo o ňom aspoň počuli (kto nepočul, súrne), by si mal medzi jeho schopnosťami všimnúť analyzovanie dokumentov XML do akejkoľvek šablóny. To znamená, že ak máme dokument XML, môžeme jednoducho variť web pomocou TextKit.

Zostáva jeden malý problém, ako tento XML získať. V skutočnosti si za účelom vytvorenia webovej stránky môžete vziať hotové dokumenty z rôznych affiliate programov, ako je MixMarket alebo Ozone. Ale o nich inokedy. Ukážem vám, ako získať XML z bežnej tabuľky XLS. V skutočnosti je to formát MS Excel.

Vlastníctvo týchto znalostí nám umožní vytvárať webové stránky pomocou TextKit z akejkoľvek databázy v Exceli. Budeme pracovať v kancelárii 2007.

1) Stiahnite si doplnok pre prácu s XML odtiaľto.

2) Ideme do hlavnej ponuky Excelu, parametre.

3) V ponuke, ktorá sa otvorí, vyberte „Doplnok“. Hľadáme položku „Správa“, vyberte „Doplnky Excelu“ a kliknite na „Prejsť“:

4) V okne, ktoré sa otvorí, cez „Prehľadávať“ vyberte súbor, ktorý potrebujeme XmlTools.xla, pridajte ho na panel a aktivujte ho začiarknutím políčka vedľa neho.

V predvolenom nastavení je tento súbor uložený v nasledujúcom priečinku na pevnom disku:
\ Office Samples \ OfficeExcel2003XMLToolsAddin.

5) Ak ste urobili všetko správne, v časti „Parametre“ v časti „Doplnky“ uvidíte nainštalované rozšírenie:

Teraz použijeme naše údaje na vytvorenie dokumentu XML a prácu s ním.

1) Kliknite na tlačidlo na paneli. Vyberáme prvú položku:

2) V zobrazenom okne vyberte áno / nie, ak naše údaje obsahujú / neobsahujú hlavičku, v mojom prípade áno, preto zmením zaškrtávacie políčko na áno. Tu podržíme malé „pip“ na výber buniek s údajmi:

3) Potiahnutím myšou vyberte údaje na vytvorenie dokumentu XML. „pipku“ vyžmýkame a klikneme na OK.

Pri vývoji elektronického systému správy dokumentov bolo potrebné implementovať funkcie pre export dát v populárnych formátoch. Najmä vo formáte Microsoft Excel. Požiadavky na export boli celkom jednoduché – exportovať dáta s minimálnym formátovaním, t.j. žiadne zlúčené bunky, hry s písmom atď. Exportné formáty XLSX a Excel XML.

V tomto prípade vám poviem o Excel XML.

Takže v akomkoľvek systéme pracujúcom s tabuľkovými údajmi, skoršími alebo neskoršími, je potrebné údaje exportovať. Exportné ciele sú rôzne:

Implementácia množiny funkcií na zapisovanie hodnôt buniek a radu do triedy je hlavnou požiadavkou, z ktorej vyplýva vytvorenie funkcií na zapisovanie hodnôt buniek špecifikovaných typov a schopnosť zapisovať hotové série. do súboru.

Schopnosť pracovať s neobmedzeným množstvom dát – za zaznamenané množstvo samozrejme nebude môcť zodpovedať samotná exportná trieda, no musí poskytovať funkcie pre zápis dát na disk a uvoľnenie RAM pre ďalšiu porciu dát. .

Okrem popísaných požiadaviek bolo potrebné doplniť servisné funkcie:

  • Povolenie automatického filtra
  • Komprimácia súboru do zipsu.

Implementácia

V prvom rade si pri vytváraní triedy skontrolujem výsledný názov súboru a spýtam sa na počet stĺpcov a riadkov. Súbor musí mať správny názov a priečinok, do ktorého bude uložený, musí existovať. Všetko je ako obvykle.
Formát Excel XML umožňuje uložiť do súboru informácie o používateľovi, ktorý ho vytvoril, preto pri vytváraní hlavičky zapisujem názov organizácie, údaje o používateľovi a dátum vytvorenia súboru.

Verejná funkcia writeDocumentProperties ($ Organization = null, $ user = null) (fwrite ($ this-> file, " "); if (! is_null ($ user)) (fwrite ($ this-> file," ". $ user-> description.""); fwrite ($ this-> súbor," ". $ user-> description."");) $ dt = nový dátum a čas (); $ dt_string = $ dt-> formát (" Y-m-d \ TH: i: s \ Z "); fwrite ($ this-> súbor," ". $ dt_string.""); fwrite ($ this-> súbor," ". $ dt_string.""); if (! is_null ($ Organization)) fwrite ($ this-> file," ". $ organizácie-> názov.""); fwrite ($ this-> súbor," 12.00"); fwrite ($ this-> súbor,""); }
Pravda, práve v tejto funkcii sa využívajú entity workflow systému – organizácia (organizácia) a používateľ (používateľ). Nahradenie týchto entít, povedzme, reťazcovými hodnotami nie je problém.

Najzaujímavejšou časťou nadpisu sú informácie o štýle. Sú implementované veľmi pohodlne vo formáte Excel XML, takže stačí vytvoriť tabuľku so štýlmi pre reťazce, dátum / čas a hypertextový odkaz.

Verejná funkcia writeStyles () (fwrite ($ this-> súbor, ""); //default style fwrite($this->file, ""); // štýl dátumu a času fwrite ($ this-> file,""); fwrite ($ this-> súbor,""); fwrite ($ this-> súbor,""); // štýl hypertextového odkazu fwrite ($ this-> file,""); // Tučné písmo ($ this-> file,""); fwrite ($ this-> súbor,""); }

Dokončené prípravné práce, môžete pristúpiť k zaznamenávaniu údajov. Otvorenie pracovného hárka je len pár značiek, práve v tomto momente sa používa informácia o počte stĺpcov a riadkov.

Verejná funkcia openWorksheet () (fwrite ($ this-> file, " "); fwrite ($ this-> file, strtr ("

", pole (" (col_count) "=> $ this-> colCount," (row_count) "=> $ this-> rowCount)));)
Ale písanie riadkov je zaujímavejší proces. Trieda by mala pracovať rýchlo a spracovávať neobmedzené množstvo údajov, pretože záznamov môže byť stotisíc alebo dokonca milión! Ak chcete rýchlosť, pracujte s pamäťou, ak chcete neobmedzené množstvo dát, pracujte s diskom. Na zosúladenie požiadaviek som implementoval funkcie resetRow a flushRow.
Prvý vymaže aktuálny riadok, po ktorom ho možno znova vyplniť údajmi, a druhý zapíše aktuálny riadok do otvoreného súboru na disk. Ich spoločné použitie vám umožňuje dosiahnuť rovnováhu medzi rýchlosťou a množstvom použitej pamäte.

Verejná funkcia resetRow () ($ this-> currentRow = pole ();) verejná funkcia flushRow () (fwrite ($ this-> file, implode ("", $ this-> currentRow)); unset ($ this-> currentRow);)
Každá bunka je zapísaná funkciou zodpovedajúcou typu údajov, konkrétne appendCellxxx, kde xxx je typ údajov. Platné typy údajov: Num, String, Real, DateTime, Date, Time, Link. Príklad funkcie na zápis číselnej hodnoty:

Verejná funkcia appendCellNum (hodnota $) ($ this-> currentRow = " ". $ hodnota.""; }
Po zapísaní všetkých údajov zostáva zatvoriť pracovný hárok a zošit.

Aplikácia

Použitie opísanej triedy je založené na exportovaní údajov pomocou poskytovateľa CArrayDataProvider. Avšak za predpokladu, že množstvo exportovaných údajov môže byť veľmi veľké, bol použitý špeciálny iterátor CDataProviderIterator, ktorý iteruje vrátené údaje o 100 záznamov (môžete zadať iný počet záznamov).

Verejná funkcia exportExcelXML ($ organizácia, $ používateľ a $ názov súboru) ($ this -> _ provider = nový CArrayDataProvider (/ * dotaz * /); Yii :: import ("ext.AlxdExportExcelXML.AlxdExportExcelXML"); $ export = nový AlxdExportExcelXML ($ názov súboru, počet ($ this -> _ atribúty), $ this -> _ provider-> getTotalItemCount () + 1); $ export-> openWriter (); $ export-> openWorkbook (); $ export-> writeDocumentProperties ($ organizácia, $ používateľ); $ export-> writeStyles (); $ export-> openWorksheet (); // riadok názvu $ export-> resetRow (); $ export-> openRow (true); foreach ($ this -> _ atribúty ako $ kód => $ formát) $ export-> appendCellString ($ this -> _ objectref-> getAttributeLabel ($ kód)); $ export-> closeRow (); $ export-> flushRow (); / / dátové riadky $ rows = nový CDataProviderIterator ($ this -> _ provider, 100); foreach ($ riadkov ako $ riadok) ($ export-> resetRow (); $ export-> openRow (); foreach ($ this -> _ atribúty ako $ kód => $ formát) (prepínač (formát $-> typ) (veľké písmená "Num": $ export-> appendCellNum ($ riadok [$ kód]); / * iné typy * / predvolené: $ export- > priložiť CellString (""); )) $ export-> closeRow (); $ export-> flushRow (); ) // zavrieť všetky $ export-> closeWorksheet (); $ export-> closeWorkbook (); $ export-> closeWriter (); // zip súbor $ export-> zip (); $ názov_súboru = $ export-> getZipFullFileName (); )
V mojom prípade je každý riadok zapísaný na disk, čo je zatiaľ celkom prijateľné, ale v budúcnosti to možno bude potrebné zmeniť. Napríklad by bolo rozumné uložiť nie každý riadok, ale každých desať alebo dokonca sto riadkov naraz. Potom sa rýchlosť exportu zvýši.

Rýchlosť

Mimochodom, z vlastnej skúsenosti som sa presvedčil, aké dôležité je predpokladať možnosť existencie veľkého množstva dát pri dávkovej operácii, akou je export.
Spočiatku som skúšal exportovať dáta pomocou CActiveDataProvider, čo pri exporte 1000 záznamov vyžadovalo asi 240 sekúnd! Zmena dotazu na použitie CArrayDataProvider skrátila čas exportu 1000 záznamov na 0,5 sekundy!
Špeciálne pre túto publikáciu som meral ukazovatele exportu.
Exportované 1626 záznamy z 9 atribúty predstavujúce informácie o uzavretých incidentoch (pozri TSM).
Pôvodný pohľad na exportovanú tabuľku
Výsledok
(ospravedlňujeme sa, obrázok po odoslaní zmizne)
Exportné ukazovatele
Konečná veľkosť súboru: 1 312 269
Veľkosť komprimovaného súboru: 141 762
Uplynutý čas: približne 0.5 sek

Každý, kto má záujem, môže získať zdrojový kód mojej triedy zadarmo. Nezabudnite opraviť funkciu. zapíšte vlastnosti dokumentu oddeliť organizačné a užívateľské entity workflow systému alebo použiť ich analogické entity s príslušnými vlastnosťami.




Stránky pomocníka pre počítače

© Copyright 2021,
rzdoro.ru – stránka počítačovej pomoci

  • Kategórie
  • železo
  • Windows 10
  • Skenovanie
  • Windows 7
  • železo
  • Windows 10
  • Skenovanie
  • Windows 7