Skip to content

Instantly share code, notes, and snippets.

@jsoizo
Created August 23, 2014 04:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsoizo/580d65b2de2e96fa32b5 to your computer and use it in GitHub Desktop.
Save jsoizo/580d65b2de2e96fa32b5 to your computer and use it in GitHub Desktop.
GASで文字コード指定してファイルを書き出す ref: http://qiita.com/jsoizo/items/948e23231417d203eefa
function outputSheetToCsvFile() {
// 定数
var fileName = "μ's.csv";
var contentType = "text/csv";
var charSet = "Shift_JIS";
var lineDelimiter = ",";
var newLineChar = "\r\n";
// 開いているシートからデータを取得
var range = SpreadsheetApp.getActiveSheet().getDataRange();
var values = range.getValues();
// 2次元配列になっているデータをcsvのstringに変換
var csvString = underscoreGS._map(
values,
function(row){return row.join(lineDelimiter);}
).join(newLineChar);
// Shift_JISなBlobに変換
var blob = Utilities.newBlob("", contentType, fileName).setDataFromString(csvString, charSet);
// Blobをファイルに出力
DocsList.createFile(blob);
}
function onOpen() {
// メニューバーにカスタムメニューを追加
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "シートをCSV(Shift_JIS)で出力",
functionName : "outputSheetToCsvFile"
}];
spreadsheet.addMenu("CUSTOM MENU", entries);
};
var blob = Utilities.newBlob("", contentType, fileName);
blob.setDataFromString(string, charSet);
DocsList.createFile(blob);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment