Commenti

  • attenzione!! ho riscontrato un errore nella lettura delle date, aggiunge un giorno. ciò sembra dovuto alla funzione createdate di excelreader che aggiunge uno (+1) durante la fx di calcolo del timestamp .alla riga 970. (circa) ovvero --"$utcValue = round(($utcDays + 1) * SPREADSHEET_EXCEL_READER_MSINADAY); " io ho tolto il +1 e tutto andato ok! di maximob@libero.it
  • Domanda, Essendo estremamente novizio in materia, poichè excel può avere diversi fogli, come faccio a far leggere un foglio diverso, che sia presente nello stesso file? thanks... di Hyrkoy
  • Ciao, ho provato ad usare la classe da te utilizzata, ma mi da diversi errori: Deprecated: Assigning the return value of new by reference is deprecated in classphpExcelReaderExcel eader.php on line 261 e Notice: iconv(): Detected an illegal character in input string in classphpExcelReaderExcel eader.php on line 1055 Mi sai dire come risolvere, grazie di Gian Luca
  • Visto l'interesse dimostrato all'articolo, abbiamo provveduto ad aggiornare l'articolo e i relativi codici d'esempio / demo nella speranza che possano aiutarvi ancor più nell'utilizzo della classe. Per qualsiasi dubbio o domanda non esitate a lasciare un messaggio! di Simone Lazzeri
  • Non funziona nulla. da questo errore: Warning: require_once(Spreadsheet/Excel/Reader/OLERead.php) [function.require-once]: failed to open stream: No such file or directory in D:InetpubwebshalalitaliaorgpublicuserprovaExcel eader.php on line 31 Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/Reader/OLERead.php' (include_path='.;c:phpincludes') in D:InetpubwebshalalitaliaorgpublicuserprovaExcel eader.php on line 31 qualcuno sa aiutarmi per favore????? di Andrea
  • Occhio ai require, dall'errore si deduce che il file OLERead.php non sia nella cartella dove invece dovrebbe essere, controlla bene perchè a me il codice funziona ;) di Davide
  • le celle formattate come prezzi non vengono lette correttamente. Questo il risultato che viene letto: [$� -10] 10101010.1010 invece dovrebbe essere: € 10 E' un problema di charset o altro? Sapete darmi una rispsota? grazie di Guido
  • Salve, mi servirebbe solo aprire il file excel in un particolare foglio o aprire un particolare grafico di un foglio excle . c'è un modo per fare ciò? di domenica

Leggere file xls di excel con php

Guide Php di Lazzeri Simone
Leggere un file xls di excel grazie a Php è davvero molto semplice grazie alla comoda classe PhpExcelReader.... Continua a leggere
Leggere file xls di excel con php


Questo progetto open source, quindi gratuito, è disponibile online alla pagina:

http://code.google.com/p/php-excel-reader/.


Per utilizzarlo, è sufficiente scaricare i files sorgenti necessari (clicca qui per il download diretto), ed includere la libreria all'interno della nostra applicazione.
Fatto ciò basteranno poche righe di codice per leggere il contenuto del vostro file excel, ecco un esempio:


[CODE]

// Sopprimo gli errori del php

error_reporting(0);

// Includo la libreria

require_once 'excel_reader2.php';

// Leggo il file example.xls

$data=new Spreadsheet_Excel_Reader("example.xls");

// Scelgo il numero del foglio da leggere

$sheets=0;

// Genero una tabella con i dati del file

echo "

";

// Eseguo il ciclo delle righe

for($i=1;$i<=$data->sheets[$sheets]['numRows'];$i++) {

echo "

";

// Eseguo il ciclo delle colonne

for($j=1;$j<=$data->sheets[$sheets]['numCols'];$j++){

if($data->sheets[$sheets]['cells'][$i][$j]!=""){echo "

";}

}

echo "

";

}

echo "

".$data->sheets[$sheets]['cells'][$i][$j]."
";

?>[/CODE]


Potete scaricare una demo completa che comprende i files della classe + il codice d'esempio sopra riportato cliccando qui



Leggere più fogli insieme

PhpExcelReader è in grado di leggere uno o più fogli contenuti all'interno dello stesso documento, è possibile scegliere il foglio da leggere modificando la variabile $sheets ed impostando al posto di 0 il numero del foglio da leggere (il numero dei fogli per PhpExcelReader parte da zero non da uno).


Se invece desiderate elaborare tutte le righe e colonne di tutti i fogli in una volta sola è possibile utilizzare il seguente codice d'esempio:


[CODE]

// Sopprimo gli errori del php

error_reporting(0);

// Includo la libreria

require_once 'excel_reader2.php';

// Leggo il file example.xls

$data=new Spreadsheet_Excel_Reader("example.xls");

// Scelgo il numero del foglio da leggere

$sheets=0;

// Elaboro i fogli

$conta=count($data->sheets);

$shts=0;for($a=0;$a<$conta;$a++){$shts++;

$sheets=$shts-1;

// Genero una tabella con i dati del file

echo "

";

// Eseguo il ciclo delle righe

for($i=1;$i<=$data->sheets[$sheets]['numRows'];$i++) {

echo "

";

// Eseguo il ciclo delle colonne

for($j=1;$j<=$data->sheets[$sheets]['numCols'];$j++){

if($data->sheets[$sheets]['cells'][$i][$j]!=""){echo "

";}

}

echo "

";

}

echo "

".$data->sheets[$sheets]['cells'][$i][$j]."
";

}

?>[/CODE]


Potete scaricare una seconda demo con quest'ultimo esempio in grado di leggere più fogli, cliccando qui.



Ultimo aggiornamento articolo: 2 Gennaio 2013.

Condividi l'articolo

Facebook Twitter Twitter Pinterest

Per migliorare l'esperienza di navigazione questo sito utilizza cookie tecnici, analitici, di terze parte e di profilazione di terze parti. Clicca su "acconsento" per abilitarne l'uso.
Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookies consulta la nostra Informativa Cookies. OK