为什么打开csv时column的值会更改?

时间:2018-09-24 07:58:10

标签: php codeigniter

我正在通过CI中的代码从数据库导出csv文件。当我下载文件并在第一次出现的弹出窗口中打开csv时,它会显示正确的数据,但是当我打开文件时,值被更改了,我没有得到什么问题,请检查经过认证的屏幕截图以更好地理解。检查弹出This is first image of the popup check the column value Reference Number

This is the complete view of next image that is opened

这是我使用的代码

 $this->download_send_headers("data_export_" . date("Y-m-d") . ".csv");
   echo $this->array2csv($final_results);

   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");
    }

    function array2csv(array &$array){

        if (count($array) == 0) {
            return null;
        }

       ob_start();
       $df = fopen("php://output", 'w');

       fputcsv($df, array_keys(reset($array)));

       foreach ($array as $row) {
          fputcsv($df, $row);
       }

       fclose($df);
       return ob_get_clean();
    }

0 个答案:

没有答案