You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写Excel转JSON代码及JavaScript转换指定Excel至JSON的实现方法

如何用JavaScript将Excel文件转换为JSON数据

我来帮你搞定这个需求——不管是通用的Excel转JSON代码,还是针对你指定的C:\rex\task.xlsx文件的具体操作,都给你安排明白。

一、通用Excel转JSON的JavaScript代码实现

首先,咱们得用到一个成熟的库来处理Excel文件,SheetJS(xlsx) 是个不错的选择,它能处理绝大多数常见的Excel格式(.xlsx、.xls等)。

步骤1:安装依赖

先在你的项目里安装这个库:

npm install xlsx

步骤2:通用转换代码

下面是可以复用的核心代码,你可以根据自己的需求调整细节:

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

function excelToJson(excelFilePath) {
  // 读取Excel文件
  const workbook = XLSX.readFile(excelFilePath);
  
  // 假设我们取第一个工作表(如果你要指定工作表,可以用workbook.SheetNames[index])
  const firstSheetName = workbook.SheetNames[0];
  const worksheet = workbook.Sheets[firstSheetName];
  
  // 将工作表转换为JSON格式
  // { header: 1 } 表示用第一行作为JSON的键,你也可以根据需求调整这个配置
  const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
  
  return jsonData;
}

// 示例调用(你可以替换成自己的文件路径)
const jsonResult = excelToJson('path/to/your/file.xlsx');
console.log('转换后的JSON数据:', jsonResult);

// 如果需要把结果写入JSON文件
fs.writeFileSync('output.json', JSON.stringify(jsonResult, null, 2));
console.log('JSON文件已成功生成!');

代码里的注释已经写得很清楚了,重点说下sheet_to_json的配置:

  • { header: 1 }:把第一行数据作为JSON对象的键,后续行作为值
  • 如果用{ header: null },会生成二维数组格式的JSON
  • 你还可以用{ header: "A" }来用Excel的列名(A、B、C...)作为键

二、针对C:\rex\task.xlsx的具体操作

针对你指定的这个文件,需要注意Windows路径的转义问题——在JavaScript字符串里,反斜杠\需要写成\\,或者直接用正斜杠/代替。

具体代码示例

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

// 处理Windows路径:要么转义反斜杠,要么用正斜杠
const excelFilePath = 'C:\\rex\\task.xlsx'; 
// 或者写成:const excelFilePath = 'C:/rex/task.xlsx';

function convertTaskExcelToJson() {
  try {
    // 读取文件
    const workbook = XLSX.readFile(excelFilePath);
    
    // 如果你知道工作表的名称,比如叫"Sheet1",可以直接指定
    // const worksheet = workbook.Sheets["Sheet1"];
    // 这里还是默认取第一个工作表
    const worksheet = workbook.Sheets[workbook.SheetNames[0]];
    
    // 转换为JSON,这里用第一行作为键
    const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
    
    // 输出到控制台查看
    console.log('转换结果:', jsonData);
    
    // 把结果写入到当前目录的task.json文件里
    fs.writeFileSync('task.json', JSON.stringify(jsonData, null, 2));
    console.log('转换完成!JSON文件已保存为task.json');
  } catch (error) {
    console.error('转换出错了:', error.message);
  }
}

// 执行转换
convertTaskExcelToJson();

如何运行这段代码

  1. 确保你已经安装了Node.js(如果没装,先去官网下载安装)
  2. 创建一个新的JS文件,比如excel-convert.js,把上面的代码粘贴进去
  3. 在命令行里进入这个文件所在的目录,先执行npm install xlsx安装依赖
  4. 然后执行node excel-convert.js,就能看到转换结果啦

如果遇到权限问题或者文件找不到的错误,先检查一下文件路径是否正确,以及你的Node进程有没有访问该文件的权限哦。

内容的提问来源于stack exchange,提问作者Rajat Krishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:13:50