Json转表格
函数名:json_Json转表格 / json_JsonToTable
功能描述
将 JSON 数据(对象数组)转换为表格格式,可配置是否包含字段标题行,适用于扁平化 JSON 数组的可视化展示。
会员等级:🟢 免费版(Free)
语法
excel
=json_Json转表格(JSON数据或文件路径, 是否包含标题行)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| JSON数据或文件路径 | String | 是 | - | JSON 格式的字符串(对象数组),或包含 JSON 的文件路径。文件存在时按文件读取 |
| 是否包含标题行 | Boolean | 否 | TRUE | TRUE 时第 1 行显示字段名,FALSE 时仅输出数据行 |
返回值
Object[,] - 二维数组。包含标题行时为 (N+1)×M,否则为 N×M;列名为所有对象键的并集(去重)。
使用示例
包含标题行转换
公式:
excel
=json_Json转表格("[{""员工编号"":""E1001"",""姓名"":""张三"",""部门"":""技术部""},{""员工编号"":""E1002"",""姓名"":""李四"",""部门"":""市场部""}]")结果:
员工编号 | 姓名 | 部门
E1001 | 张三 | 技术部
E1002 | 李四 | 市场部不包含标题行
公式:
excel
=json_Json转表格("[{""a"":1,""b"":2}]", FALSE)结果:
1 | 2技术说明
- 使用
JsonConvert.DeserializeObject<List<Dictionary<string, object>>>反序列化,输入须为 JSON 对象数组。 - 列名取所有对象键的并集(
Distinct),对象中缺失的键对应单元格填null。 - 当输入为已存在的文件路径时通过
File.ReadAllText读取。 ExcelEmpty类型的值转换为空字符串。- 适合扁平化对象数组;嵌套对象/数组的值会以其对象形式落入单元格。
错误处理
| 错误场景 | 返回值 |
|---|---|
| JSON 数据为空或无效 | 错误:无效的JSON数据 |
| 其他异常 | 错误: |