我有一个API,它返回csv内容作为响应,我想在Excel下载, 我尝试了什么:
HTML:
<form id="test_form" accept-charset="utf-8" method="POST" action="http://prime.dev/index.php//data/reporting/downloadCSVFile.json"></form>
<a id="downloadcsv" class="min-button-silver">Download to Excel</a>
JS:
jQuery("#downloadcsv").click(function(e){ jQuery('#test_form').submit();
});
PHP
public function downloadCSVFile()
{
$data = $this->reporting_service->fetchCSV($request); //API request
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename=test.csv");
//header("Content-Length: ".$thesize);
header("Pragma: no-cache");
header("Expires: 0");
//Will get the response from API like the below;
$data = 'clicks|conversions|ctr|cvr|impressions|invalid_clicks|currency.id
4220894|127984|.1962348497109191647|.0059484688672145487|2150940063|557193|163';
echo $data;
}
文件正在下载为test.csv,但在记事本中打开,你们中的任何一个人,请告诉我,这里出了什么问题。
提前致谢和问候
答案 0 :(得分:0)
如果你想下载Excel,你需要额外的软件,比如PEAR_Spreadsheet_Excel, 因为你必须生成额外的标题和许多其他垃圾! 但通常如果您创建了正确的CSV文件,您也可以使用Excel打开它,它将显示所有列,就像普通的Excel文件一样。