Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHPExcel]Eksport dużej ilości danych
evolucja
post
Post #1





Grupa: Zarejestrowani
Postów: 362
Pomógł: 27
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


Poddaję się. Pół dnia spędziłem na próbie znalezienia rozwiązania.

CEL: pobieram z MySQl ok. 15k rekordów, każdy zawiera dane w 28 kolumnach. Chcę je wyeksportować do pliku .xlsx bez żadnego dodatkowego formatowania, po prostu ciągiem jak lecą z bazy.
PROBLEM: skrypt przekracza 256MB pamięci "Fatal error: Allowed memory size of 268435456 bytes exhausted"

CO PRÓBOWAŁEM:
- wypisać ciągiem 15k rekordów
- zmienić jednostkowe ustalanie komórki na wypisywanie całej tablicy za pomocą funkcji $objPHPExcel->setActiveSheetIndex(0)->fromArray
- podzielić zapis na kilka części:
* otworzyć plik
* zapisać 2k rekordów
* zamknąć plik, zniszczyć zmienne
niestety sposób nie zadziałał, bo PHPExcel wczytuje do pamięci cały plik(nawet jeśli chcę do niego tylko dopisać fragment)
- użyć różnych opcji cachowania komórek. Niewiele pomogło
  1. $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
  2. $cacheSettings = array( ' memoryCacheSize ' =>'200MB');
  3. PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);


Limit nie do przekroczenia to ok. 7000 rekordów. Tyle maksymalnie udało mi się za jednym razem wyeksportować.

Proszę o pomoc..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Posio
post
Post #2





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Robisz to na localu czy na jakimś zew. hostingu ? Jedyną opcją jaką widzę to zwiększenie pamięci, na localu albo na własnym serwerze to nie problem.
Go to the top of the page
+Quote Post
Mackos
post
Post #3





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

Ostrzeżenie: (0%)
-----


No to może po prostu połącz się przez ssh, i wygeneruj na serwerze zrzut bazy.
Żeby było do excela to tu masz taki przykład:
http://www.debianadmin.com/export-mysql-da...a-csv-file.html
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 00:40