代码之家  ›  专栏  ›  技术社区  ›  sreepurna

使用xlsx模块读取纸张的前n行

  •  0
  • sreepurna  · 技术社区  · 6 年前

    最初,我尝试使用sheet_to_json方法,该方法将整个sheet数据转换为数组数组。

    let sheetData = xlsx.utils.sheet_to_json(workbook.Sheets[sheetsList[i]], {
      header: 1,
      defval: '',
      blankrows: true
    });
    

    其次,我尝试使用以下链接: https://github.com/SheetJS/js-xlsx/issues/214#issuecomment-96843418 但我得到了以下错误:

        f:\xxx\node_modules\xlsx\xlsx.js:2774
    function decode_range(range) { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; }
                                                ^
    
    TypeError: Cannot read property 'split' of undefined
    

    我该怎么解决?或者它们是否有其他可用的方法或模块,以便我可以从csv、xlsx、xls中获取数据?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  3
  •   sreepurna    6 年前

    可以借助于 床单行 存在的选项。

    所以,代码如下:

    let workbook = xlsx.readFile(path, {sheetRows: 5})
     let sheetsList = workbook.SheetNames
     let sheetData = xlsx.utils.sheet_to_json(workbook.Sheets[sheetsList[i]], {
          header: 1,
          defval: '',
          blankrows: true
     });
    

    这里我只能坐前五排。

    https://github.com/SheetJS/js-xlsx/issues/1225