excel文件转换为JSON的路径

时间:2017-08-04 09:36:42

标签: javascript json excel path

我正在处理一个项目,我需要将Excel工作表转换为JSON,之后转换的数据将在浏览器上显示jQuery Datatables。 我的代码工作正常,但只有当我在html文件的同一文件夹上有Excel文件时。如何从我的脚本中的其他文件夹中获取excel文件的路径?

这是我的代码:

function asyncReq(callback) {

        var url = "LICENCIAMENTOS PROJECTOS.xlsx";
        var oReq = new XMLHttpRequest();
        oReq.open("GET", url, true);
        oReq.responseType = "arraybuffer";

        oReq.onload = function(e) {
            var arraybuffer = oReq.response;
            /* convert data to binary string */
            var data = new Uint8Array(arraybuffer);
            var arr = new Array();
            for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
            var bstr = arr.join("");

            /* Call XLSX */
            var workbook = XLSX.read(bstr, {
                type: "binary"
            });

            /* DO SOMETHING WITH workbook HERE */

            var sheet_name = workbook.SheetNames[22];

            /* Get worksheet */

            var worksheet = workbook.Sheets[sheet_name];


            /*RANGE DA TABELA*/
            //worksheet['!ref'] = "A10:AL363";
            var data = XLSX.utils.sheet_to_json(worksheet, {range: 4});
            $("h4").remove();
            callback(data);
        }
        oReq.send();

    }

    asyncReq(function(result) {
        console.log(result);
        $("#tabela-data").show();

        //DataTable 
        $('#tabela-data').DataTable({
            "language": {
                "lengthMenu": "Apresentar _MENU_ linhas por página",
                "search": "Pesquisar:",
                "info":    "Apresentadas _START_ a _END_ de _TOTAL_ linhas",
                "next":       "Próximo",
                "previous":   "Anterior"
            },
            "dom": '<"pull-left"f><"pull-right"l>tip',
            "aaData": result,
            "aoColumns": [

            ....

            ]
        });

    });

1 个答案:

答案 0 :(得分:1)

您可以在此处为url指定相对路径。

对于url = "LICENCIAMENTOS PROJECTOS.xlsx"oReq.open("GET", url, true);中使用的路径为'./LICENCIAMENTOS PROJECTOS.xlsx'

对于文件夹中包含电子表格的应用程序结构:

index.html
spreadsheets/
   LICENCIAMENTOS PROJECTOS.xlsx

您的url路径 spreadsheets/LICENCIAMENTOS PROJECTOS.xlsx./spreadsheets/LICENCIAMENTOS PROJECTOS.xlsx

如果您想要回溯到某个其他位置的文件夹,其应用程序结构为:

app/
    index.html
spreadsheets/
   LICENCIAMENTOS PROJECTOS.xlsx

您的url路径 ../spreadsheets/LICENCIAMENTOS PROJECTOS.xlsx./../spreadsheets/LICENCIAMENTOS PROJECTOS.xlsx

根据电子表格的位置,您可以回溯到它。