超实用!Node 工具一键读取 Excel 内容并转换为 JSON

要编写一个 Node.js 工具来读取 Excel 文件并将其内容转换为 JSON,你可以使用 xlsx 这个流行的库。以下是实现步骤:

1. 安装依赖

首先,你需要安装 xlsx 库:

npm install xlsx

2. 编写 Node.js 脚本

创建一个 JavaScript 文件(例如 excelToJson.js),并编写以下代码:

const fs = require('fs');
const XLSX = require('xlsx');

// 读取 Excel 文件
function readExcelFile(filePath) {
    const workbook = XLSX.readFile(filePath);
    const sheetName = workbook.SheetNames[0]; // 获取第一个工作表的名字
    const worksheet = workbook.Sheets[sheetName];
    return XLSX.utils.sheet_to_json(worksheet); // 将工作表转换为 JSON
}

// 将 JSON 数据写入文件
function writeJsonFile(jsonData, outputPath) {
    fs.writeFileSync(outputPath, JSON.stringify(jsonData, null, 2));
    console.log(`JSON 数据已成功写入 ${outputPath}`);
}

// 主函数
function excelToJson(inputFilePath, outputFilePath) {
    try {
        const jsonData = readExcelFile(inputFilePath);
        writeJsonFile(jsonData, outputFilePath);
    } catch (error) {
        console.error('处理 Excel 文件时出错:', error);
    }
}

// 使用示例
const inputFilePath = 'input.xlsx'; // 输入的 Excel 文件路径
const outputFilePath = 'output.json'; // 输出的 JSON 文件路径
excelToJson(inputFilePath, outputFilePath);

3. 运行脚本

确保你有一个 Excel 文件(例如 input.xlsx),然后运行以下命令来执行脚本:

node excelToJson.js

4. 结果

脚本会将 Excel 文件的内容转换为 JSON,并保存到指定的输出文件(例如 output.json)中。

5. 扩展功能

  • 处理多个工作表:你可以遍历 workbook.SheetNames 来处理多个工作表。
  • 自定义 JSON 结构:根据需要对 sheet_to_json 的返回结果进行进一步处理。
  • 命令行参数:使用 process.argv 来接受命令行参数,使脚本更加灵活。

示例 Excel 文件内容

假设 input.xlsx 文件内容如下:

Name Age City
Alice 30 New York
Bob 25 Los Angeles

生成的 JSON 文件内容

output.json 文件内容将如下所示:

[
  {
    "Name": "Alice",
    "Age": 30,
    "City": "New York"
  },
  {
    "Name": "Bob",
    "Age": 25,
    "City": "Los Angeles"
  }
]

总结

通过使用 xlsx 库,你可以轻松地将 Excel 文件内容转换为 JSON 格式。这个工具可以进一步扩展,以满足更复杂的需求。

你可能感兴趣的:(excel,json)