Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Generování velkého xls souboru z PHP

Potřebuju vygenerovat celkem 12 xls souborů. 8 z nich má velikost cca 10 000 řádek a 82 sloupců, 4 mají cca 20 000 řádek při stejném počtu sloupců. Takže PHPExcel ne! Nepotřebuji s těmi daty nijak pracovat, jen je prostě vzít a uložit do souboru s xls příponou (takového, aby Excel při pokusu o jejich otevření neřval, že je blbý formát).

Našla jsem tohle:
www.daniweb.com
To sice vygeneruje xls soubor, ale nabídne ho ke stažení na webu. To není zrovna to, co potřebuji, protože šéf si představuje, že se ten můj skript spustí automaticky cronem někdy v noci a samozřejmě u toho nebude sedět člověk, aby to ručně kamsi uložil. Navíc když tento kód spustím v cyklu, tak se mi do jednoho souboru uloží data ze všech souborů místo aby se vygenerovalo více souborů.

Nějaký nápad, jak na to?

Předmět Autor Datum
Záleží na datech. Možná můžeš použít formát CSV. To bys potom měla všechno ve vlastní režii.
Flash_Gordon 28.06.2012 17:30
Flash_Gordon
Formát csv je druhá varianta, tu šéf chce taky a tu už jsem vyřešila a chodí mi a to poměrně svižně…
Anicka 29.06.2012 09:05
Anicka
Tak vyzkoušej tohle phpexcel.codeplex.com
Flash_Gordon 29.06.2012 09:19
Flash_Gordon
PHPExcel právě nechci, protože ten drží všechna data v paměti a zapisuje je až najednou. Což při tom… poslední
Anicka 02.07.2012 09:27
Anicka

PHPExcel právě nechci, protože ten drží všechna data v paměti a zapisuje je až najednou. Což při tomto objemu dat je nepoužitelné. Cachování na HD je taky nepoužitelné z důvodu rychlosti.

Konkrétně na těchto datech, co mám:
a) když vypnu memory limit, tak mi to po hodině běhu stejně spadne na nedostatek paměti,
b) když nastavím cachování do memory_gzip, tak to běží cca 40 min, ale během té doby se s PC prakticky nedá pracovat jak je pomalé,
c) kešovat na HD asi nemá smysl, to by to bylo ještě pomalejší předpokládám,
d) použití kešování vyžaduje použití třídy PHPExcel_CachedObjectStorageFactory a to zas Nette (šéf to chce mermomocí v Nette) nadává, že třídu nemůže najít (to je nějaký bug Nette, že neumí pracovat s třídama, které mají v názvu podtržítko)?

Zpět do poradny Odpovědět na původní otázku Nahoru