xlsx 获取指定行内容

1,103 阅读1分钟

xlsx 获取 excel文件的标题 、读取指定行数

...
 // 读取多个sheet 第一行是标题header  第二行是字段 titles
 for (let  i = 0; i < workbook.SheetNames.length; i++) {
     const  firstSheetName = workbook.SheetNames[i]
     const  worksheet = workbook.Sheets[firstSheetName]
     
     const  header = this.getHeaderRow(worksheet)[0] // 标题
     
     const  titles = this.getHeaderRow(worksheet, 1) // 读取第二行内容
     
     const  results = XLSX.utils.sheet_to_json(worksheet, { range:  1 }) // 从第二行开始
     
     const  resultFilter = titles.filter(item  => !(item.indexOf('UNKNOWN') > -1)) // 清除无效内容
 }
 ...
 // 获取 header标题 title内容标题 line = 0 默认第一行
 getHeaderRow(sheet, line = 0) {
     const  headers = []
     const  range = XLSX.utils.decode_range(sheet['!ref'])
     let  C
     const  R = range.s.r + line
     for (C = range.s.c; C <= range.e.c; ++C) {
             const  cell = sheet[XLSX.utils.encode_cell({ c:  C, r:  R })]
             let  hdr = 'UNKNOWN ' + C  // <-- replace with your desire default
             if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
             headers.push(hdr)
        }
   return  headers
}