[JavaScript] CSVファイルを生成してダウンロードさせたい。

ASP.NETだったらサーバ上でCSVファイルを生成してダウンロードさせることは簡単だが、
JavaScriptで同じことがしたい場合はどうすりゃいいのだ?と思い調べてみると。
(今更な話なのでしょうが・・・困ってるんですよ)
同じようなことで悩んでいる方はいっぱいいました。

んでもって、上記のページに書かれていたものにほんのちょっと手を入れたものが以下のもの。

function download()
{
var win = window.open("", "",
"width=1,height=1,directories=no,location=no,menubar=no," +
"scrollbars=no,status=no,toolbar=no,resizable=no");
window.document.width = 1;
window.document.height = 1;
FileName = "20081217.csv"
var fr = win.document;
var Data = "1,2,3,4,5";
fr.write(Data);
fr.execCommand("SaveAs",true, FileName);
win.close();
}

ファイル保存のダイアログでそのまま保存すると、文字コードがUnicodeで保存されます。
そのため、Excelで開くとUnicodeテキストと認識されてしまうのでカンマ区切りで表示されません。
なので、保存したファイルの文字コードを「Shift_JIS」や「UTF-8」に変換してやらないといけません。。。
要するに、JavaScriptでファイルを生成してダウンロードさせることは出来ないってことがわかりました。
(なんとかやりようがあるのなら、教えて欲しいですが・・・)
まぁ、普通ファイルはサーバサイドで生成するものですから(;´Д`)
つーか、こんなことで悩みたくね~・・・

コメント

Wordpress Social Share Plugin powered by Ultimatelysocial