首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SheetJS显示空白行

SheetJS显示空白行
EN

Stack Overflow用户
提问于 2018-10-09 15:48:41
回答 3查看 6.5K关注 0票数 1

当我使用下面的方法上传文件xlsx时,我正在使用SheetJS

代码语言:javascript
复制
_file(file) {
   /* Boilerplate to set up FileReader */
      const reader = new FileReader();
      reader.onload = (e) => {
      /* Parse data */
      const bstr = e.target.result;
      const wb = XLSX.read(bstr, {type:'binary'});
      /* Get first worksheet */
      const wsname = wb.SheetNames[0];
      const ws = wb.Sheets[wsname];
      /* Convert array of arrays */
      const data = XLSX.utils.sheet_to_json(ws, {header:1});
      /* Update state */
      this.data = data;
      this.cols = make_cols(ws['!ref']);
     };
   reader.readAsBinaryString(file);
}

我得到了一些有数据的单元格,但它包含了一些没有数据的行,如何删除它?我只想看到有数据的行。提亚

EN

回答 3

Stack Overflow用户

发布于 2019-02-05 19:12:47

为了删除没有任何数据的行,您可以使用选项blankRows: false,如下所示:

代码语言:javascript
复制
const data = XLSX.utils.sheet_to_json(ws, {header:1, blankRows: false});

据我所知,这个选项不能与选项defval一起使用,所以如果您想为一些空单元格提供一个默认选项,但要删除空行,则必须编写一个自定义函数。这里有一个关于这个bug的公开问题:sheet_to_json does not skip blank rows

票数 6
EN

Stack Overflow用户

发布于 2021-01-03 10:12:27

正如Naupad在之前的评论中提到的那样,

以小写形式设置属性blankRows all的效果与预期一致...

代码语言:javascript
复制
data = XLSX.utils.sheet_to_json(ws, {
    header:1,
    blankrows: false
});
票数 2
EN

Stack Overflow用户

发布于 2021-11-15 09:49:38

我也有一个类似的问题,defval和blankrows不符合我的条件,因为defval也读取带有边框的空行,而blankrows跳过一行中的空单元格,所以我创建了一些函数来迭代输出sheetdata到一个新的数据数组中,见下文。

代码语言:javascript
复制
// body...

 /* var sd= XLSX.utils.sheet_to_json(ws,{header:1,defval:""}); */
 /* var sheetdata = sheetjs_cleanEmptyRows(sd) */
 function sheetjs_cleanEmptyRows(sd) {
    const data = []

        for (var row = 0; row < sd.length; row++) {

              var i = sd[row].length;
              var j = 0;

            for ( var cell = 0; cell < sd[row].length; cell++){

                if (sd[row][cell].length == 0 ) { j++}
            }
          if (j < i) {
            data.push(sd[row]);
          }

        }
        return data;
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52715836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档