-2

配列を Excel ファイルに送信したいのですが、これはさまざまなカテゴリを含む配列です。

各カテゴリは 1 つの列に入る必要があります。私が書いたコードは、すべての値を Excel の 1 つのフィールドに送信していました。どこが間違っているのですか?

$shop['id']=$id_array;
    $shop['name']=$name_array;
    $shop['cat1'] = $cat1;
    $shop['cat2'] = $cat2;
    $shop['cat3'] = $cat3;


    $id_excel=implode(",",$shop['id']);
    $name_excel=implode(",",$shop['name']);
    $cat1_excel=implode(",",$shop['cat1']);
    $cat2_excel=implode(",",$shop['cat2']);
    $cat3_excel=implode(",",$shop['cat3']);

}
    $filename ="cat.xls";
    $contents = "$id_excel \t $name_excel \t $cat1_excel \t $cat2_excel \t $cat3_excel \t \n";
    header('Content-type: application/ms-excel');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $contents;
4

2 に答える 2

1

この素敵なプラグインを使用してみてください: PHPExel このプラグインを使えば簡単です

于 2012-10-19T13:00:13.040 に答える
0

Excel ではなく CSV ファイルを返すようにしてください。コードは次のとおりです。

<? $shop['id']=$id_array;
    $shop['name']=$name_array;
    $shop['cat1'] = $cat1;
    $shop['cat2'] = $cat2;
    $shop['cat3'] = $cat3;



    $id_excel[]=implode(",",$shop);

    $filename ="cat.csv";
    $contents = implode("\n",$id_excel);
    header('Content-type: text/csv');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $contents;
?>
于 2012-10-19T12:58:51.717 に答える