代码之家  ›  专栏  ›  技术社区  ›  Manoj Sreekumar

将javascript数组导出为CSV

  •  1
  • Manoj Sreekumar  · 技术社区  · 11 年前

    我有一个javascript数组,我必须在客户端环境中将其保存为CSV。。使用jquery可以做到这一点吗?我也必须在所有主要的浏览器中工作。。我正在使用symfony2框架。。如果我可以将此数组传递给服务器,该如何做到这一点。。请解释传递数组的最佳方式,因为我有一个相当大的associativ数组数组。。

    1 回复  |  直到 11 年前
        1
  •  2
  •   What have you tried    11 年前

    您可以随心所欲地将数据发送到服务器(使用 $_POST , AJAX 等)。不过,一旦数据到达服务器,这就是方法 将数据发送到CSV文件。

    $serialized_data = $_POST['some_data_array'];
    
    if($downloadFile) // simple condition
    {
    
        $fp = fopen('php://memory', 'w+'); // open up write to memory
    
    
        foreach($serialized_data  as $row) // $serialized_data represents what you sent to the server from JS
        {
            fputcsv($fp, $row);
        }
    
        rewind($fp);
        $csvFile = stream_get_contents($fp);
        fclose($fp);
    
        header('Content-Type: text/csv');
        header('Content-Length: '.strlen($csvFile));
        header('Content-Disposition: attachment; filename="yourFile.csv"');
        exit($csvFile);
    }