簡體   English   中英

如何將列名設置為.csv文件的列名?

[英]How can I set column name as the name of .csv file's column?

我有一個代碼,可以為表創建一個.csv導出。 這是我的代碼:

public function export(Request $request){

    header('Content-Type: application/excel');
    header('Content-Disposition: attachment; filename="export.csv"');

    $tb_name_alias = $request->tb_name;
    $convert_alias_to_table_name = array('person' => "App\\persons");
    $tb_name = $convert_alias_to_table_name[$tb_name_alias];
    $arr = $tb_name::all()->toArray();

    $newarr = array();
    $size_of_outer_array = sizeof($arr);

    For ( $i = 0; $i < $size_of_outer_array; $i++ ) {
        $newarr[] = implode(",",$arr[$i]);
    }

    $fp = fopen('php://output', 'w');
    foreach ( $newarr as $line ) {
        $val = explode(",", $line);
        fputcsv($fp, $val);
    }
    fclose($fp);
}

它也可以正常工作,但是當我再次導入它時,它看起來像這樣:

在此處輸入圖片說明

如您所見,列名稱不是真實的..它們是col1col2等。 但是我需要設置一些名稱作為那些列名稱。 idname等。

我怎樣才能做到這一點?

嘗試這個

$fp = fopen('php://output', 'w');
fputcsv($fp, array('Column 1', 'Column 2', 'Column 3'));


 foreach ( $newarr as $line ) {
        $val = explode(",", $line);
        fputcsv($fp, $val);
    }
    fclose($fp);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM