Handsontable CSV出力

無償版の Handsontable Ver6.2.2 を使ったとき、HandsontableからCSV出力
を簡単にできるものを探していた。

https://github.com/juantascon/jquery-handsontable-csv

を見つけた、MITライセンスである。
中身をよく見ると

var csv = "sep=;\n"
csv += headers.join(";") + "\n";
csv += row.join(";")

と書かれていて区切り文字がカンマではく、";" セミコロンになっているしかも、sep=; と先頭行をつけている。
これでは、カンマ区切りCSVとして意図したものでななくなってしまう。
だから、以下のとおり修正して使えば良いであろう。

var handsontable2csv = {
    string: function(instance) {
        var headers = instance.getColHeader();
        var csv = "";
        for (var i = 0; i < instance.countRows(); i++) {
            var row = [];
            for (var h in headers) {
                var prop = instance.colToProp(h)
                var value = instance.getDataAtRowProp(i, prop)
                row.push(value)
            }
            csv += row.join(",")
            csv += "\n";
        }
        return csv;
    },
    download: function(instance, filename) {
        var csv = handsontable2csv.string(instance)
        var bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
        var link = document.createElement("a");
        link.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(csv));
        link.setAttribute("download", filename);
        document.body.appendChild(link)
        link.click();
        document.body.removeChild(link)
    }
}