quando ho esplodere file CSV sul delimitatore (;) il esplodere con successo in alcuni eccellono programma e fallito in altriesplode file csv su delimitatore (;) e delimitatore (,)?
anche quando esplodo file CSV sul delimitatore (,) il esplodere con successo in alcuni eccellono programma e non è riuscito a altri
Come posso esplodere in tutte le versioni di Excel? Come posso sapere il delimitatore perfetto da far esplodere?
sì, c'è il codice ..
if (!function_exists('create_csv')) {
function create_csv($query, &$filename = false, $old_csv = false) {
if(!$filename) $filename = "data_export_".date("Y-m-d").".csv";
$ci = &get_instance();
$ci->load->helper('download');
$ci->load->dbutil();
$delimiter = ";";
$newline = "\r\n";
$csv = "Data:".date("Y-m-d").$newline;
if($old_csv)
$csv .= $old_csv;
else
$csv .= $ci->dbutil->csv_from_result($query, $delimiter, $newline);
$columns = explode($newline, $csv);
$titles = explode($delimiter, $columns[1]);
$new_titles = array();
foreach ($titles as $item) {
array_push($new_titles, lang(trim($item,'"')));
}
$columns[1] = implode($delimiter, $new_titles);
$csv = implode($newline, $columns);
return $csv;
}
}
a volte ho messo $ delimitatore = ";"; e sometims $ delimiter = ",";
grazie ..
Non è possibile. Il delimitatore utilizzato da qualsiasi istanza MS Excel è specifico della locale, in genere in base al fatto che il Paese per il quale è configurato utilizzi un ',' o un '.' come separatore decimale ..... a'; 'è più comune, ma non c'è una risposta universale ... se ci fosse, non avresti nemmeno bisogno di chiedere –
È una delle ragioni per cui CSV non è un buon formato da usare in alternativa ai formati nativi di Excel –
Hai del codice da mostrare noi? Stai cercando di leggere il file e poi esplodere le linee, o stai usando fgetcsv? – foxbeefly