表格转Json
函数名:json_表格转Json / json_TableToJson
功能描述
将包含标题行的表格区域数据转换为格式化的 JSON 数组字符串,可选择直接返回 JSON 或写入指定文件路径。
会员等级:🟢 免费版(Free)
语法
excel
=json_表格转Json(表格数据, 文件路径)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 表格数据,包含标题行的表格区域 | Object[,] | 是 | - | 包含标题行的二维表格区域,第 1 行作为 JSON 对象的键名 |
| 默认返回json格式数据,或填写完整的文件路径 | String | 否 | "" | 留空时直接返回 JSON 字符串;填写完整文件路径时将 JSON 写入该文件并返回"写入完成" |
返回值
String - 留空文件路径时返回缩进格式化的 JSON 字符串;填写路径时写入文件并返回"写入完成"。
使用示例
转换并返回 JSON 字符串
假设 A1:B3 区域内容为:
| 商品 | 价格 |
|---|---|
| 笔记本 | 5999.9 |
| 鼠标 | 89.5 |
公式:
excel
=json_表格转Json(A1:B3, "")结果:
json
[
{
"商品": "笔记本",
"价格": 5999.9
},
{
"商品": "鼠标",
"价格": 89.5
}
]转换并写入文件
公式:
excel
=json_表格转Json(A1:B3, "D:\data\output.json")结果:
写入完成技术说明
- 第 1 行作为 JSON 对象的键名;空标题或
ExcelEmpty单元格自动命名为Column1、Column2…… - 单元格值处理:空值、
ExcelEmpty或空字符串转为 JSONnull;可解析为数值(double.TryParse)的转为数字;其余保持字符串。 - 使用
JsonConvert.SerializeObject以缩进格式(Formatting.Indented)序列化。 - 文件路径非空时通过
File.WriteAllText写入文件。 - 表格至少需要 1 行标题和 1 行数据(行数不少于 2)。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 表格行数少于 2(无数据行) | 错误:至少需要一行标题和一行数据 |
| 其他异常 | 错误: |