anche io ho un problema riguardo la formattazione dei numeri in excel.
nel mio caso ho una colonna con i numeri di telefono ed excel mi omette automaticamente il primo zero.
(che è presente nel file csv, quindi è un impostazione di excel).
ho guardato il link , ma non affronta questo problema
_________________
questo è il mio codice:
$filename="csv2.xls";
//dico all'header di inviare i dati sotto forma di file excel(type) e di chiedere di salvare il file (disposition)
//(il programma excel è in grado di interpretare la formattazione a tabelle html)
//header("Content-type: application/octet-stream"); ???
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: attachment; filename=$filename");
header("Cache-Control: cache, must-revalidate");
header("Pragma: public");
header("Content-Description: Download file");
header("Expires: 0");
//trasforma il file CSV (che si aggiorna ogni volta che un utente posta dei dati nel form) in un file XLS
//apre il file csv
$handle = fopen("file.csv","r");
echo"<TABLE >";
//stampa l'intestazione x il foglio di lavoro excel
echo"<tr><td>nome</td><td>cognome</td><td>data</td><td>prof</td><td>ordine</td><td>email</td><td>tel</td><td>ente</td><td>
problematiche dati</td><td>problematiche contributi</td><td>data ins</td></tr>";
//cicla il file finche ci sono dati
while ( ($data = fgetcsv($handle, 32768, ",")) !== FALSE)
{
$num = count($data);
$row++;
echo "<tr>";
//cicla ogni riga finchè ci sono campi (es: nome,cognome,indirizzo)
for ($c=0; $c < $num; $c++) {
echo "<td>";
//stampa i dati , ordinati in celle e righe
echo $data[$c] ;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
fclose($handle);