CSV fputcsv разделитель ";" "," с настольным и мобильным - PullRequest
0 голосов
/ 09 мая 2018

Когда я открываю созданный мной файл с разделителем ",", на компьютере все содержимое записывается в одну ячейку

enter image description here

но когда я использую ";" разделитель все отлично работает

enter image description here

и мобильный телефон - это отдельная история, все работает наоборот, когда я использую разделитель "," все работает нормально, но когда я использую ";" весь контент пишется в одной ячейке, как на компьютере, когда я использую разделитель «,». Как заставить его работать на обоих устройствах?

function array2csv(array &$array, array $arr1)
{
    if (count($array) == 0) {
        return null;
    }
    ob_start();
    $df = fopen("php://output", 'w');
    fputcsv($df, array_keys(reset($array)), ';');
//    fputcsv($df, $arr1, ';');

    foreach ($array as $row) {
        fputcsv($df, $row, ';');
    }
    fclose($df);
    return ob_get_clean();
}

function download_send_headers($filename)
{
    // disable caching
    $now = gmdate("D, d M Y H:i:s");
    header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
    header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
    header("Last-Modified: {$now} GMT");

    // force download
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");

    // disposition / encoding on response body
    header("Content-Disposition: attachment;filename={$filename}");
    header("Content-Transfer-Encoding: binary");
}

download_send_headers($_POST['user_id'] . '-(' . date("Y-m-d") . ')-olimob' . ".csv");
echo array2csv($array, $arr1);
die();

1 Ответ

0 голосов
/ 09 мая 2018

Это не настраивается в MS Excel, если вы не можете изменить настройки локали ... это то, что определяет, используется ли , или ; в качестве разделителя для файла CSV ...

Тем не менее, вы можете создать первую строку

sep=;

, а затем используйте разделитель ;, и современные версии MS Excel будут правильно читать файл независимо от настроек языка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...