Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odczyt danych z arkusza kalkulacyjnego .csv
kirkor0
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 18.04.2004

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


Mam plik arkusza kalkulacyjnego .csv, który zawiera listę kodów. Są one ułożone jedynie w kolumnie A kolejno w wierszach 1, 2, 3 itp. Jest ich łącznie 10 000. Plik zajmuje 100KB.

Wszystkie kody muszę wrzucic do bazy. Wiem, że mogę zrobic to przez textarea albo poprostu skopiowac zawartosc do txt i go uploadowac.
Kody jednak zawsze dostaję w pliku .csv i to w właśnie w takim formacie dane chcę umieszczac w serwerze.

Nie mam zielonego pojęcia jak się do tego zabrac i czy wogóle to jest możliwe. Wytłumaczcie mi jak lamerowi, jak, z czym, kiedy, po co to się je.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Balon
post
Post #2





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


powiem Ci ze sam probowalem cos takiego napisac

  1. <?php
  2. /**
  3.  * Funkcja konwertujaca pliki csv
  4.  * z ocenami do tablicy
  5.  *
  6.  * @param string $file
  7.  * @return array
  8.  */
  9. function csv2array( $file )
  10. {
  11. $gRows = array();
  12. $rows = explode( "n", $file );
  13. $i=0;
  14.  
  15. foreach( $rows as $row )
  16. {
  17. if( !$i++ || !strlen( trim( $line = $row ) ) ) continue;
  18. $line = explode( ';', $line );
  19.  
  20. $gRows[$i-2] = array( 
  21. 'login' => array_shift( $line ), 
  22. 'nazwisko' => array_shift( $line ), 
  23. 'dane'  => array_chunk( $line, 5 ) 
  24. );
  25. }  
  26. array_shift( $gRows );
  27.  
  28. return $gRows;
  29. }
  30.  
  31. function array2query( $arr )
  32. {
  33. global $db;
  34. foreach( $arr as $ar )
  35. {
  36. #$db->GetAll( 'SELECT * FROM oceny WHERE ')
  37. $db->Execute( 'DELETE FROM oceny WHERE login = "'.$ar['login'].'"' );
  38. foreach( $ar['dane'] as $dane )
  39. {
  40. $db->Execute( 'INSERT INTO oceny SET login = "'.$ar['login'].'", cz1 = "'.$dane[0].'", cz2 = "'.$dane[1].'", cz3 = "'.$dane[2].'", calosc = "'.$dane[3].'", data = "'.$dane[4].'"' );
  41. }
  42. }
  43. return true;
  44. }
  45. ?>


W ten sposób przetwarzalem i wrzucalem do bazy takie pliki.
Kod
login;nazwisko;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3;calos
c;data;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3;calosc;data;cz
1;cz2;cz3;calosc;data;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3;calosc;data;cz1;cz2;cz3
;calosc;data;cz1;cz2;cz3;calosc;data
mojlog;adamski;22;11;30;63;12-05-2007;22;11;30;63;14-07-2007;22;11;30;63;12-08-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007
mojlog;adamski;22;11;30;63;12-05-2007;22;11;30;63;14-07-2007;22;11;30;63;12-08-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007
mojlog;adamski;22;11;30;63;12-05-2007;22;11;30;63;14-07-2007;22;11;30;63;12-08-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007
mojlog;adamski;22;11;30;63;12-05-2007;22;11;30;63;14-07-2007;22;11;30;63;12-08-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007;22;11;30;63;12-05-2007


Ten post edytował Balon 23.08.2006, 12:22:25
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 00:22