CSV上传&使用JQUERY将其解析为HTML表

时间:2016-05-20 16:48:13

标签: javascript jquery csv

我正在开发一个Web应用程序。我的应用程序正在使用Javascript,PHP,HTML。我已经完成了应用代码上传xlsx,将其附加到屏幕上。

这是我的代码

 <script type="text/javascript" src="simple-excel.js"></script>
<table width=50% align="left" border=0 STYLE="border-collapse:collapse;">
        <tr>
            <td style="width:9.2%"><b>Load CSV file</b></td>
            <td style="width:1%"><b>:</b></td> 
            <td style="width:15%"><input type="file" id="fileInputCSV" /></td>
        </tr>
    </table>
 <table id="result"></table>

        <script type="text/javascript">

            // check browser support
            // console.log(SimpleExcel.isSupportedBrowser);

            var fileInputCSV = document.getElementById('fileInputCSV'); 


            // when local file loaded
            fileInputCSV.addEventListener('change', function (e) {

                // parse as CSV
                var file = e.target.files[0];
                var csvParser = new SimpleExcel.Parser.CSV();
                csvParser.setDelimiter(',');
                csvParser.loadFile(file, function () {

                    // draw HTML table based on sheet data
                    var sheet = csvParser.getSheet();
                    var table = document.getElementById('result');
                    table.innerHTML = "";
                    sheet.forEach(function (el, i) {                    
                        var row = document.createElement('tr');
                        el.forEach(function (el, i) {
                            var cell = document.createElement('td');
                            cell.innerHTML = el.value;
                            row.appendChild(cell);
                        });
                        table.appendChild(row);
                    });                    

                });
            });



        </script>

这是我的用户界面

enter image description here

我该如何隐藏/擦除空单元格(红色标记)?

2 个答案:

答案 0 :(得分:0)

您的CSV似乎底部有一个空行。即使它是空的,只要&#34; sheet&#34;但是,只要有回车符,就会有一个字段。

我要检查一下&#34; el&#34;的内容。在执行el.forEach()

之前包含任何内容

答案 1 :(得分:-1)

在el.forEach

中添加一些条件

喜欢这个

 el.forEach(function (el, i) {
                          if(el.value!="")
                          {
                              var cell = document.createElement('td');
                              cell.innerHTML = el.value;
                              row.appendChild(cell);
                          }
                         });