Ho dei dati di questo tipo:
80202230589201800001
80202230589201800002
80202230589201800003
Quando provo ad esportare il file excel con i dati richiesti (con una funzione php) ottengo tutti numeri uguali:
80202230589201800000
80202230589201800000
80202230589201800000
Per quale motivo?
Di seguito il codice (ho provato da internet a farlo funzionare):
80202230589201800001
80202230589201800002
80202230589201800003
Quando provo ad esportare il file excel con i dati richiesti (con una funzione php) ottengo tutti numeri uguali:
80202230589201800000
80202230589201800000
80202230589201800000
Per quale motivo?
Di seguito il codice (ho provato da internet a farlo funzionare):
PHP:
function cleanData(&$str)
{ $str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
// file name for download
// $filename = "Scheda_b_senza_dati_ente_" . date('Ymd') . ".xls";
//funzione per excel
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
//connessione al server
include "connessione_server.php";
//popolamento file excel
$risultati_esp = @mysqli_query($connessione, $query);
$flag = false;
foreach($risultati_esp as $row)
{
// for($i=0; $i<29; $i++) //per ogni colonna
// {
if(!$flag)
{ // display field/column names as first row
echo implode("\t", array_keys($row)) . "\n"; //riga testata
$flag = true;
}
array_walk($row, __NAMESPACE__ . '\cleanData');
echo implode("\t", array_values($row)) . "\n"; //riga dati
// }
}
exit;