无法读取使用js-xlsx读取excel文件的空单元格

问题描述 投票:0回答:1

我有一个excel文件,我正在使用js-xlsx阅读。除了单元格为空之外,代码工作正常。这些单元格被忽略。在创建JSON对象时如何获取这些单元格?

我在SO以及其他一些论坛上遇到了同样问题的一些问题,但没有什么令人满意的。

欢迎任何帮助。我的代码是:

 reader.addEventListener('load', function(){
        var data = this.result;
        var wb = XLSX.read(data, {type: 'binary', sheetStubs:true});
        //  console.log(headers);

        wb.SheetNames.forEach(function(sheetName){
            //pulling out column headers for tablecreation
            var headers = get_header_row(wb.Sheets[sheetName]);
            createTableInDB(headers);
            // Here is your object
            var XL_row_object = XLSX.utils.sheet_to_json(wb.Sheets[sheetName]);
            //console.log(XL_row_object);

            for(var i=0; i<XL_row_object.length; i++){
                var json_object = XL_row_object[i];

                if(json_object !== null){
                    var dataobject = {
                        "tablename": tname,
                        "dbname": dbname,
                        "info": json_object,
                        "uname": uname
                    }

                    dataobject = $.toJSON(dataobject);

                    $.ajax({
                        type: "POST",
                        url: "insertIntoTable.php",
                        async: false,
                        data:"pInsertData=" + dataobject, 
                        success: function(msg){

                            console.log(msg);

                        }
                    });
                    //console.log(json_object);

                }

            }
        });
    });

    reader.readAsBinaryString(document.querySelector('input').files[0]);

该文件通过HTML输入上传。提前致谢

excel js-xlsx
1个回答
0
投票

解决方案1.条件“if(h === undefined)继续;”在“xlsx.core.min.js”中将其评论出来。

或者做得恰当......

解决方案2。通过在运行此XLSX.utils.sheet_to_json(wb.Sheets [name],{blankCell:false})时传递Condition extra param。在行号上添加条件。 19150“if(defval === undefined && blankCell)继续;”在文件xlsx.js等..

© www.soinside.com 2019 - 2024. All rights reserved.