轻松将Excel转换为JSON数据的实用指南
在日常数据处理中,我们经常需要将Excel表格中的结构化数据转换为JSON格式——无论是用于Web前后端数据交互、API接口开发,还是配置文件生成,Excel转JSON都是一项高频需求,但手动复制粘贴不仅效率低,还容易出错,本文将介绍几种实用的Excel转JSON方法,从零基础小白到自动化需求,总有一款适合你。
为什么需要将Excel转换为JSON?
在开始转换前,先简单聊聊为什么这个操作如此重要:
- 数据交互友好:JSON是Web开发中主流的数据交换格式,轻量级、易解析,与JavaScript等语言无缝衔接;
- 结构化存储:Excel适合表格化编辑,而JSON能更灵活地表达嵌套数据(如数组、对象),适合复杂场景;
- 自动化需求:通过脚本或工具批量转换,可避免人工操作误差,尤其适合处理大量数据。
方法一:手动复制粘贴(适合少量数据)
如果只是偶尔转换几行简单数据,最直接的方式就是手动操作。
操作步骤:
- 打开Excel文件,选中需要转换的数据区域(含表头更佳,方便后续对应JSON的key);
- 复制数据:按
Ctrl+C(或右键“复制”); - 使用在线转换工具:
- 打开浏览器,搜索“Excel转JSON在线工具”(推荐工具:ConvertCSV、Ablebits);
- 粘贴数据到输入框,工具会自动解析表格结构;
- 根据需求调整JSON格式(如是否含表头、数组/对象模式);
- 点击“转换”,下载生成的JSON文件。
优点:无需安装工具,零门槛操作;
缺点:仅适合少量数据,重复操作易疲劳,且在线工具需注意数据隐私。
方法二:使用Excel内置功能(适合基础用户)
Excel 2016及以上版本或Microsoft 365用户,可通过“从表格/区域”功能直接生成JSON。
操作步骤:
- 选中数据区域,确保数据包含表头(如“姓名”“年龄”“城市”);
- 创建表格:按
Ctrl+T,在弹窗中勾选“表包含标题”,点击“确定”; - 获取数据:点击“数据”选项卡 → “从表格/区域”(在“获取与转换数据”组中);
- 打开Power Query编辑器:在弹窗中确认数据范围,点击“加载”;
- 转换格式:
- 在Power Query编辑器中,点击“转换”选项卡 → “到JSON”;
- 数据会自动转换为JSON格式,点击“关闭并上载”即可将JSON数据导入Excel工作表,或通过“文件”→“另存为”选择“JSON (*.json)”保存。
优点:无需第三方工具,适合Excel原生功能用户;
缺点:仅限新版Excel,且对复杂数据(如多 sheet、嵌套表)支持有限。
方法三:编写脚本转换(适合批量/自动化需求)
如果需要频繁转换或处理大量数据,编写脚本是最灵活高效的方式,这里推荐两种主流语言:Python 和 JavaScript(Node.js)。
(1)使用Python转换(推荐新手入门)
Python的pandas和json库能轻松实现Excel转JSON,步骤简单。
准备工作:
安装所需库(打开命令行,运行):
pip install pandas openpyxl
(openpyxl用于处理.xlsx文件,若处理旧版.xls,需安装xlrd)
示例代码:
假设有一个data.xlsx如下:
| 姓名 | 年龄 | 城市 | 爱好 |
|---|---|---|---|
| 张三 | 25 | 北京 | ["篮球", "阅读"] |
| 李四 | 30 | 上海 | ["音乐", "旅行"] |
| 王五 | 28 | 广州 | ["游戏", "编程"] |
编写脚本excel_to_json.py:
import pandas as pd
import json
# 读取Excel文件(sheet_name=0表示第一个工作表,header=0表示第一行为表头)
df = pd.read_excel("data.xlsx", sheet_name=0, header=0)
# 转换为JSON(orient="records"生成对象数组,适合嵌套数据)
json_data = df.to_json(orient="records", force_ascii=False, indent=4)
# 保存到文件
with open("output.json", "w", encoding="utf-8") as f:
f.write(json_data)
print("转换完成!JSON文件已保存为output.json")
运行效果:
生成的output.json内容如下(自动处理中文和数组格式):
[
{
"姓名": "张三",
"年龄": 25,
"城市": "北京",
"爱好": [
"篮球",
"阅读"
]
},
{
"姓名": "李四",
"年龄": 30,
"城市": "上海",
"爱好": [
"音乐",
"旅行"
]
},
{
"姓名": "王五",
"年龄": 28,
"城市": "广州",
"爱好": [
"游戏",
"编程"
]
}
]
优点:
- 支持批量处理(可循环读取多个sheet或文件);
- 可自定义JSON格式(如调整字段顺序、过滤数据);
- 免费开源,适合开发者或需自动化场景。
(2)使用JavaScript(Node.js)转换
若熟悉前端开发,可用Node.js的exceljs和json库实现。
准备工作:
安装Node.js(官网下载:nodejs.org),然后安装依赖:
npm init -y # 初始化项目 npm install exceljs # 读取Excel npm install fs-extra # 处理文件(可选)
示例代码:
编写脚本excelToJson.js:
const ExcelJS = require('exceljs');
const fs = require('fs');
async function convertExcelToJson() {
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile('data.xlsx'); // 读取Excel文件
const worksheet = workbook.getWorksheet(1); // 获取第一个工作表
const jsonData = [];
// 跳过表头(从第二行开始读取)
let isFirstRow = true;
worksheet.eachRow((row, rowNumber) => {
if (isFirstRow) {
isFirstRow = false; // 跳过表头
return;
}
// 假设列顺序:姓名、年龄、城市、爱好(爱好是逗号分隔的字符串,需转数组)
const name = row.getCell(1).text;
const age = parseInt(row.getCell(2).text);
const city = row.getCell(3).text;
const hobbies = row.getCell(4).text.split(',').map(h => h.trim());
jsonData.push({ name, age, city, hobbies });
});
// 保存为JSON文件
fs.writeFileSync('output.json', JSON.stringify(jsonData, null, 2), 'utf-8');
console.log('转换完成!JSON文件已保存为output.json');
}
convertExcelToJson();
运行效果:
与Python脚本生成的JSON格式类似,可根据需求调整字段解析逻辑(如日期格式、数字类型转换)。
方法四:使用第三方工具软件(适合非技术用户)
如果你不想写代码,又需要批量转换,可使用桌面工具:
推荐工具:
- Excel-JSON Converter(免费,小巧):支持拖拽Excel文件,实时预览JSON结果,可调整输出格式;
- Total Excel Converter(付费,功能全):支持批量转换多种格式(Excel→JSON、CSV等),可自定义字段映射;
- 格式工厂(免费,多功能工具):虽主打音视频格式,但也支持Excel转JSON,操作简单。
使用步骤(以Excel-JSON Converter为例):
- 下载并打开工具;
- 点击“添加文件”,选择Excel文件;
- 选择输出JSON格式(如“数组模式”“对象模式”);
- 点击“转换”,保存JSON文件。
常见问题与注意事项
- 数据类型处理:
- Excel中的“日期”在JSON中可能转为时间戳(Python需用
date_format参数指定格式,如to_json(date_format="yyyy-mm-dd")); - 数字(如身份证号)可能被Excel自动转为科学计数
- Excel中的“日期”在JSON中可能转为时间戳(Python需用



还没有评论,来说两句吧...