[PHP] Esportazione file excel - approssimazione numerica o fuori range?

alessandra86

Nuovo Utente
10 Mag 2018
16
0
1
37
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):
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;
 
Buongiorno, non ti converrebbe utilizzare un CSV visto che excel riesce a parsarlo correttamente?
Altra nota, l'header del file non è corretto utilizzando questa notazione, se vuoi un excel puro ti conviene utilizzare PhpSpreadsheet che altro non è la rivisitazione di PHPExcel deprecata nel 2015!

Se utilizzi il csv non dovresti avere problemi!
 
Innanzitutto grazie per avermi aiutato. Non posso utilizzare il csv. In pratica un utente clicca su un bottone, che dovrebbe permettergli di scaricare l'excel. Lo scarica, ma con quei dati strani. Non capisco perchè ha messo tutto a zero. Perchè non è corretto l'header (ho scopiazzato)?. Esiste una guida per la libreria che mi suggerisci, specifica per l'export di excel? Qualcuno ha del codice?
 

Discussioni simili