SheetJS显示空白行

时间:2018-10-09 07:48:41

标签: javascript sheetjs

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

_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);
}

我得到了一些具有数据的单元格,但其中包括一些没有数据的行如何删除它?我只想查看包含数据的行。 TIA

2 个答案:

答案 0 :(得分:0)

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

const data = XLSX.utils.sheet_to_json(ws, {header:1, blankRows: false});

据我所知,此选项不能与选项defval一起使用,因此,如果要为某些空单元格使用默认选项,但是要删除空白行,则必须编写一个自定义功能。 这里有一个有关此错误的开放问题:sheet_to_json does not skip blank rows

答案 1 :(得分:0)

正如 Naupad 在之前的评论中提到的,
将属性 blankRows 全部设置为小写可以按预期工作...

data = XLSX.utils.sheet_to_json(ws, {
    header:1,
    blankrows: false
});