1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PHP】Excelで文字化けしないCSVファイル作成

Last updated at Posted at 2020-07-30

はじめに

色々なところで紹介されているものだと思いますが、
私の環境ではどうしても上手くいかなかった。。。
こんなところで詰まっている場合ではないのに。。。

コピペに頼っているから悪い。一から自分で作るしかない!
作ったらうまくいった~しかも簡単すぎ!!

なんだかんだできたので記事にしてみたいと思います!
※初投稿&PHP歴半年なのでお手柔らかに。

#コード
「ファイル名」「データカラム」「データ本体」を渡すと決められたパス先にCSVを作成し、作成したCSVファイルのフルパスを返す関数。


/**
 * CSVファイルの作成
 */
public function createCSV($fileName, $csvColumn, $csvBodyData){
        
    //ファイルフルパス作成
    $filePath = 'ファイルパス'.$fileName;
        
    //CSVファイル作成
    $csvFile = fopen($filePath, 'w');

    //CSVを開いても文字化けしないように
    stream_filter_prepend($csvFile,'convert.iconv.utf-8/cp932');

    //カラムを書き込む
    fputcsv($csvFile, $csvColumn);

    //データを書き込む
    foreach($csvBodyData as $csvBody){
        fputcsv($csvFile, (array)$csvBody);
    }

    //ファイルフルパスを返却
    return $filePath;
}

なんでこんな簡単だったのに悩んだのか。。。

参考
fputcsv関数を覚える!PHPでCSVファイルを出力する方法【初心者向け】
#最後に
やはりコードのコピペはダメですね~
理解が大事でそれが一番の近道だと思い知りました。

もっと勉強せねば!!!

もっと良い方法あれば教えてください。
あと間違っていたらお願いします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?