JSON 转 Excel 完整指南 - XLSX 转换技巧与实战(2026)
1348 字
7 分钟
JSON 转 Excel 完整指南 - XLSX 转换技巧与实战(2026)
📖 JSON 转 Excel 完全指南
Excel 是最常用的办公软件,将 JSON 转换为 Excel 格式可以让数据更易于分享和分析。本指南将详细介绍所有转换技巧和最佳实践。
🎯 为什么选择 Excel 格式?
Excel 的优势
- ✅ 普及率高:几乎所有办公人员都会使用
- ✅ 功能强大:支持公式、图表、数据透视表
- ✅ 易于分享:标准的办公文档格式
- ✅ 可视化好:格式化、条件格式、图表
使用场景
- 办公报表:销售报表、财务报表、运营报表
- 数据分享:与同事、客户、合作伙伴共享数据
- 数据分析:使用 Excel 函数、透视表分析
- 数据导入:导入到其他系统(ERP、CRM)
📝 Excel 文件格式
常见格式
| 格式 | 说明 | 适用场景 |
|---|---|---|
| XLSX | Excel 2007+ | 推荐使用 |
| XLS | Excel 97-2003 | 旧系统兼容 |
| CSV | 纯文本 | 简单数据交换 |
| ODS | OpenDocument | LibreOffice |
推荐:XLSX 格式
// XLSX 优势- 支持样式和格式- 支持公式- 支持多个工作表- 文件体积小(压缩格式)- 兼容性好🛠️ 转换方法详解
方法 1:在线工具(推荐)
步骤:
- 粘贴 JSON 数据
- 配置选项(工作表名、样式)
- 点击转换
- 下载 XLSX 文件
优势:
- ✅ 无需编程
- ✅ 即时预览
- ✅ 样式美观
- ✅ 完全免费
方法 2:Node.js 程序
安装:
npm install json2excelnpm install xlsx代码示例:
const XLSX = require('xlsx');
function jsonToExcel(jsonData, filename) { // 创建 workbook const wb = XLSX.utils.book_new();
// 创建工作表 const ws = XLSX.utils.json_to_sheet(jsonData);
// 添加到 workbook XLSX.utils.book_append_sheet(wb, ws, '数据');
// 设置列宽 const wscols = Object.keys(jsonData[0]).map(key => ({ wch: 15 // 列宽 15 })); ws['!cols'] = wscols;
// 保存文件 XLSX.writeFile(wb, filename);}
// 使用jsonToExcel(data, 'output.xlsx');方法 3:Python 程序
安装:
pip install pandaspip install openpyxl代码示例:
import pandas as pd
# 读取 JSONdf = pd.read_json('data.json')
# 导出 Exceldf.to_excel('output.xlsx', sheet_name='数据', index=False, column_width=15)🎨 样式设置
表头样式
// 设置表头样式const headerStyle = { fill: { fgColor: { rgb: "4472C4" } // 蓝色背景 }, font: { bold: true, color: { rgb: "FFFFFF" }, // 白色文字 sz: 12 }, alignment: { horizontal: "center", vertical: "center" }};数据格式化
数值格式:
// 货币格式{ numFmt: '¥#,##0.00' }
// 百分比格式{ numFmt: '0.00%' }
// 日期格式{ numFmt: 'yyyy-mm-dd' }条件格式:
// 大于 1000 显示绿色// 小于 100 显示红色自动列宽
function setColumnWidths(ws, data) { const colWidths = Object.keys(data[0]).map((key, index) => { const maxWidth = Math.max( key.length, ...data.map(row => String(row[key]).length) ); return { wch: Math.min(maxWidth + 2, 50) }; // 最大 50 });
ws['!cols'] = colWidths;}📊 多工作表处理
场景:创建多个 Sheet
const wb = XLSX.utils.book_new();
// 销售数据const salesData = [...];const salesWS = XLSX.utils.json_to_sheet(salesData);XLSX.utils.book_append_sheet(wb, salesWS, '销售数据');
// 库存数据const inventoryData = [...];const inventoryWS = XLSX.utils.json_to_sheet(inventoryData);XLSX.utils.book_append_sheet(wb, inventoryWS, '库存数据');
// 汇总数据const summaryData = [...];const summaryWS = XLSX.utils.json_to_sheet(summaryData);XLSX.utils.book_append_sheet(wb, summaryWS, '汇总');
// 保存XLSX.writeFile(wb, '报表.xlsx');工作表结构
报表.xlsx├── 销售数据├── 库存数据├── 汇总└── 说明📐 公式应用
添加公式列
// 原始数据const data = [ { price: 100, quantity: 5 }, { price: 200, quantity: 3 }];
// 添加公式const ws = XLSX.utils.json_to_sheet(data);
// 添加合计列(使用公式)ws['C1'] = { v: '合计', t: 's' };ws['C2'] = { f: 'A2*B2' }; // =A2*B2ws['C3'] = { f: 'A3*B3' };
// 添加总计ws['C4'] = { f: 'SUM(C2:C3)' };常用公式
// 求和{ f: 'SUM(A2:A100)' }
// 平均值{ f: 'AVERAGE(B2:B100)' }
// 计数{ f: 'COUNT(C2:C100)' }
// 最大值{ f: 'MAX(D2:D100)' }
// IF 判断{ f: 'IF(E2>100,"达标","未达标")' }💼 实战案例
案例 1:销售月报
需求:生成包含销售数据、图表、汇总的 Excel 报表
数据结构:
{ "month": "2026-01", "sales": [...], "summary": {...}}Excel 结构:
- Sheet1: 销售明细
- Sheet2: 产品分析
- Sheet3: 地区分析
- Sheet4: 汇总报表
效果:
- ✅ 自动生成
- ✅ 样式美观
- ✅ 包含公式
- ✅ 可直接打印
案例 2:员工花名册
需求:HR 系统导出员工信息到 Excel
字段:
[ '工号', '姓名', '部门', '职位', '入职日期', '薪资', '绩效评分']样式设置:
- 表头:蓝色背景,白色粗体
- 日期:yyyy-mm-dd 格式
- 薪资:货币格式
- 绩效:条件格式(A 绿色,C 红色)
案例 3:财务报表
特点:
- 多个工作表(资产负债表、利润表、现金流量表)
- 大量公式计算
- 严格的格式要求
- 需要打印友好
⚠️ 常见问题
Q1: 中文乱码?
答:XLSX 格式原生支持 UTF-8,不会出现乱码。
Q2: 大数据量怎么办?
建议:
- 分批导出(每 Sheet 不超过 10 万行)
- 使用流式写入
- 考虑 CSV 格式
Q3: 如何保留公式?
答:必须使用 XLSX 格式,CSV 不支持公式。
Q4: 样式丢失?
答:确保使用 XLSX 库正确设置样式。
🎯 最佳实践
1. 文件命名
// ✅ 推荐销售报表_2026-01.xlsx员工花名册_20260101.xlsx
// ❌ 不推荐报表.xlsx数据 1.xlsx2. 工作表命名
// ✅ 清晰明了'2026 年 1 月销售''产品分类汇总'
// ❌ 不推荐'Sheet1''数据'3. 数据验证
// 添加数据验证ws['!dataValidations'] = { 'A2:A100': { type: 'list', formula: '"选项 1,选项 2,选项 3"' }};4. 打印设置
// 设置打印区域ws['!printArea'] = 'A1:G100';
// 设置每页重复标题ws['!printTitles'] = '$1:$1';📊 性能对比
| 方法 | 速度 | 灵活性 | 学习成本 |
|---|---|---|---|
| 在线工具 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ |
| Node.js | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Python | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Excel 手动 | ⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
🚀 立即使用
特点:
- ⚡ 快速转换
- 📊 样式美观
- 🔒 数据安全
- 📱 跨平台
- 💾 多格式支持
相关资源
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2026-03-29,距今已过 200 天
部分内容可能已过时
相关文章 智能推荐
1
JSON 转 CSV 完整指南 - 转换技巧与最佳实践(2026)
教程指南 JSON 转 CSV 完整指南,详解转换原理、嵌套数据处理、特殊字符转义。包含实战案例、性能优化技巧,帮助开发者高效完成数据转换。
2
JSON 转 XML 完整指南 - 转换规则与最佳实践(2026)
教程指南 JSON 转 XML 完整指南,详解转换规则、数据类型映射、命名空间处理。包含实战案例、常见问题解决,帮助开发者掌握两种格式的转换技巧。
3
JSON 转 Excel 实战案例 - 办公自动化 5 大场景(2026)
实战案例 JSON 转 Excel 实战案例详解,包含销售报表、员工管理、财务对账、库存管理、数据分析等 5 大办公场景的完整应用演示。
4
JSON 转表格完整指南 - HTML/Markdown 表格生成教程(2026)
教程指南 JSON 转表格完整指南,详解 HTML 表格、Markdown 表格、Text 表格生成。包含样式设置、响应式设计、文档编写实战案例。
5
JSON 语法校验完整指南 - 8 大常见错误与解决方案(2026)
教程指南 JSON 语法校验完整指南,详解 8 种常见错误类型、自动检测工具、修复方案。包含代码示例、验证工具推荐,帮助开发者快速定位并解决 JSON 语法问题。
随机文章 随机推荐