愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

JavaScriptでCSVを生成するのはやめたほうがいい

もう2015年だから別にいけるんじゃね?出したいのはクライアントサイドで表示してるデータだし。と思ったけど、

  • 例によって古いIE (9以下かな) でめんどくさい
  • SafariだとHTMLAnchorElementのdownload attributeが無効 (http://caniuse.com/#feat=download) で、"unknown" ってファイル名になったりする
  • 文字コード周りがめんどくさい

…といった事情があるため、msSaveBlobやらcreateObjectURLと戯れるのは諦めて、おとなしくサーバサイドで生成してContent-Dispositionつけて返しましょう。

「俺ならクロスブラウザな実装が出来る!やってやる!」と思ったそこのアナタ。それは、この場合においては無用な努力です。