如何使用C#将JSON转换为Excel

如何使用C#将JSON转换为Excel

将 JSON 转换为 Excel 对于实现结构化数据分析和业务报告至关重要。Aspose.Cells for .NET 提供强大的方法,可以通过简单灵活的 API 将 JSON 直接导入电子表格或 CSV 文件。

为什么要将 JSON 转换为 Excel?

  1. 结构化报告:
    • 将 API 或服务数据以 JSON 格式转换为表格格式,以提高可读性。
  2. 自动化:
    • 在不需要手动格式化或干预的情况下,自动将数据导入 Excel。
  3. 多功能性:
    • 支持以 XLSX 或 CSV 格式输出,并可自定义布局。

将 JSON 转换为 Excel 的分步指南

步骤 1:通过 NuGet 安装 Aspose.Cells

安装 Aspose.Cells 库:

dotnet add package Aspose.Cells

步骤 2:配置 Aspose.Cells 许可证

使用您的许可证激活全部功能:

Metered matered = new Metered();
matered.SetMeteredKey("PublicKey", "PrivateKey");

步骤 3:加载 JSON 输入

从字符串或 .json 文件中读取 JSON:

  • 从文件:
string jsonInput = File.ReadAllText("Data.json");
  • 直接从字符串:
string jsonInput = "[{'nodeId':1,'reputation':1134},{'nodeId':2,'reputation':547}]";

步骤 4:创建工作簿并访问工作表

初始化一个工作簿并访问其默认工作表:

Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

步骤 5:设置 JsonLayoutOptions

配置布局选项以将数组视为表格:

JsonLayoutOptions options = new JsonLayoutOptions();
options.ArrayAsTable = true;

步骤 6:将 JSON 导入工作表

使用工具方法将 JSON 导入工作表:

JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

步骤 7:保存为 Excel 或 CSV

将数据导出为所需格式:

  • 保存为 Excel:
workbook.Save("output.xlsx");
  • 保存为 CSV:
workbook.Save("output.csv", SaveFormat.CSV);

常见问题及解决方案

1. JSON 数组未正确解析

  • 解决方案:确保 JsonLayoutOptions.ArrayAsTable 设置为 true,以将数组展平为行。

2. 文件未保存

  • 解决方案:检查路径是否有效,并确保您的应用程序具有写入权限。

3. 许可证警告

  • 解决方案:确认许可证文件已正确引用并加载。
 中文