4
3

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.

GASのCSV出力は(日本語を含む場合)、文字コードにShift-JISを指定しないと文字化けする

Last updated at Posted at 2020-12-08

##やったこと
blobでcsvを生成するときに、newBlobで一回空のblobを作ってから、setDataFromStringでcsvテキストの実体と文字コードを指定する

##コード

exportCsv.gs

function exportCsv(){
  let nowDate = new Date();
  let values = sheet_master.getRange(NUM_FIRSTROW-1, 2, sheet_master.getLastRow() -NUM_FIRSTROW +1, 11).getDisplayValues();
  
  //セル配列をカンマ区切りに書き換え
  let csv = "";
  for(let i=0; i<values.length; i++){
    csv += values[i].join(",") + "\r\n";
  }//end for
  
  //ここで文字コードを指定
  let csvBlob = Utilities.newBlob("", MimeType.CSV, "吐き出したCSV.csv").setDataFromString(csv, "Shift_JIS");
  csvFolder.createFile(csvBlob);
}//end function

##経緯

日本語を含むcsvを作ろうとするときだけ文字化けする。
毎回出力したcsvをエクセルで開いては「なんだこれ文字化けしてんぞ」ってやってコード書き直してたので書き殴りレベルだけどメモ。

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?