2

応答としてcsvコンテンツを返すAPIがあります。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としてダウンロードされていますが、メモ帳で開きます。誰か、ここで何が問題になっているのか教えてください。

よろしくお願いします

4

1 に答える 1

0

Excelとしてダウンロードする場合は、追加のヘッダーやその他の多くのがらくたを生成する必要があるため、PEAR_Spreadsheet_Excelなどの追加のソフトウェアが必要です。ただし、通常、正しいCSVファイルを作成すると、Excelで開くこともでき、通常のExcelファイルのようにすべての列が区切られて表示されます。

于 2012-11-22T09:18:35.753 に答える