从YUI DataTable导出数据

Mat*_*all 8 html javascript yui yui-datatable

从YUI DataTable中获取数据并将其转换为单个CSV或TSV字符串的最简单/最快方法是什么?我基本上只想实现一键式方法,将整个DataTable(它应保留当前应用的排序)保存到用户可以粘贴到电子表格中的表单中.

我的DataTable可以变得非常大 - 5000到10000行,5到10列 - 因此效率很重要.

Gav*_*ock 6

这样的事情怎么样:

function dataTableAsCSV (myDataTable) {

    var i, j, oData, newWin = window.open(),
        aRecs = myDataTable.getRecordSet().getRecords(),
        aCols = myDataTable.getColumnSet().keys;

    newWin.document.write("<pre>");

    for (i=0; i<aRecs.length; i++) {
        oData = aRecs[i].getData();

        for (j=0; j<aCols.length; j++) {
            newWin.document.write( oData[aCols[j].key] + "\t");

        }
        newWin.document.write("\n");

    }

    newWin.document.write("</pre>n");
    newWin.document.close();
}
Run Code Online (Sandbox Code Playgroud)

它将数据表内容作为TSV呈现到一个新窗口中.它不处理带有选项卡的数据,但这只是一些额外的替换oData[aCols[j].key].