【问题标题】:How to read only column A value from excel using nodejs?如何使用nodejs从excel中读取A列值?
【发布时间】:2025-12-10 05:20:05
【问题描述】:

如何使用 nodejs(node-xlsx) 从 excel 中读取 A 列值?请指教。读取所有列值后,循环从其他来源搜索。

var xlsx = require('node-xlsx');
var obj = xlsx.parse(__dirname + '/test.xlsx'); 
var obj = xlsx.parse(fs.readFileSync(__dirname + '/test.xlsx')); 
console.log(JSON.stringify(obj));

【问题讨论】:

    标签: javascript node.js node-modules


    【解决方案1】:

    尝试其他 npm 包,名为:xlsx:

    'use strict';
    
    const _ = require('lodash');
    const xlsx = require('xlsx');
    
    const workbook = xlsx.readFile('./data/pv.xlsx');
    const worksheet = workbook.Sheets[workbook.SheetNames[0]];
    
    const columnA = [];
    
    for (let z in worksheet) {
      if(z.toString()[0] === 'A'){
        columnA.push(worksheet[z].v);
      }
    }
    
    console.log(columnA);
    

    【讨论】:

    • 集合返回未定义
    • @user2848031 立即尝试
    • 这是一个较旧的答案,它确实有帮助,但整个“让 z”感觉不舒服。此外,这将匹配列“AA”。这是一个只能从“A”列获取值的单行更新:const columnA = Object.keys(worksheet).filter(x => /^A\d+/.test(x)).map(x => worksheet[x].v)
    【解决方案2】:
    const XLSX = require("xlsx");
    
    const workbook = XLSX.readFile("DummyExcel.xlxs"); //read the file
    const worksheet = workbook.Sheets["Execution Summary"]; //get the worksheet by name. you can put sheet id also
    
    //print the value of desired cell or range of cell
    console.log(
      "worksheet:",
      XLSX.utils.sheet_to_json(worksheet, {
        raw: true,
        range: "B5:B10",
          defval: null,
      })
    );
    

    【讨论】: