当社では、Google SpreadsheetとGoogle App Script(以下GAS)を使って、様々なデータを管理しています。

そしてそこから佐川郵便の送り状を作成する「e飛伝Ⅱ」用のCSVや、ゆうパックのシールを作成する「ゆうプリR」用のCSVや、カスタマーサービスがお客様からのご質問・ご確認にこたえるためのログ情報などの、各種の用途のためのファイルをGASを使ってGoogle Drive内に生成しています。

その際に、なんの指定もせず、


DriveApp.createFile(filename, data, MimeType.CSV);

とすれば、UTF-8のCSVファイルが生成されます。

しかし、e飛伝ⅡやゆうプリRは、今時Shift_JISしか受け付けていないのです。UTF-8のファイルを読み込ませようとすると、「バイナリーが含まれているので読み込めません」という。

思わず汚い言葉をディスプレイに投げかけそうになりましたが、ぐっとこらえます。そういう世界で作られたアプリケーションなのでしょう。

では、GASを使って、Google Drive内にShift_JISのファイルを生成しましょう。


var blob = Utilities.newBlob("", "text/csv", filename);
blob.setDataFromString(data, "Shift_JIS");
DriveApp.createFile(blob);

簡単ですね。

できればShift_JISのファイルなんか触らないでいられる世界に住みたいですが、なかなか実現しそうにはありません。