MS Excel 提供了多种功能,以工作表的形式保存和组织表格数据。除了数据组织之外,您还可以执行各种操作,例如数据排序、图形绘制、数学计算等。另一方面,JSON 是一种广泛使用的格式,以以下形式存储和传输数据键值对。大多数情况下,它用于将数据从服务器传输到网页。当您以 JSON 格式(即来自 Web 服务)接收数据并希望将其保存到 Excel 工作表中时,可能会出现这种情况。在这种情况下,最佳方法是通过以编程方式将数据从 JSON 导入 Excel 工作表来自动化流程。
为了在 ASP.NET 或任何基于 C# 的应用程序中处理上述场景,我将向您展示如何将 JSON 数据导入 Excel 文件。在本文中,您将学习如何:
- 在 C# 中将数据从 JSON 导入 Excel 工作表
- 在 C# 中将 JSON 转换为 Excel 时应用单元格格式
为了从 JSON 文件导入数据,我们将利用 Aspose.Cells for .NET 的功能。它是一个强大的 API,用于在基于 .NET、.NET Core 和 Xamarin 的应用程序中操作电子表格文件。您可以从 NuGet 安装 API 的包或直接从 Downloads 部分下载 DLL。
在 C# 中将数据从 JSON 导入 Excel
以下是将数据从 JSON 导入 Excel XLSX 的步骤:
- 创建一个新的 Workbook 对象。
- 使用 System.IO.File.ReadAllText(string) 方法从 JSON 读取数据。
- 创建一个 JsonLayoutOptions 类的对象来设置附加选项。
- 使用 JsonUtility.ImportData() 方法将数据从 JSON 导入 Excel。
- 使用 Workbook.Save(string) 方法保存 Excel 文件。
以下代码示例展示了如何在 C# 中将数据从 JSON 导入 Excel。
// 创建工作簿对象
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// 读取 JSON 文件
string jsonInput = File.ReadAllText("Data.json");
// 设置 JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.ArrayAsTable = true;
// 导入 JSON 数据
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
// 保存 Excel 文件
workbook.Save("Import-Data-JSON-To-Excel.xlsx");
输入 JSON 数据
[
{
Name: "John Smith",
Contract:
[
{
Client:
{
Name: "A Company"
},
Price: 1200000
},
{
Client:
{
Name: "B Ltd."
},
Price: 750000
},
{
Client:
{
Name: "C & D"
},
Price: 350000
}
]
},
{
Name: "Tony Anderson",
Contract:
[
{
Client:
{
Name: "E Corp."
},
Price: 650000
},
{
Client:
{
Name: "F & Partners"
},
Price: 550000
}
]
},
{
Name: "Jimmy Adams",
Contract:
[
{
Client:
{
Name: "MIT"
},
Price: 800000
},
{
Client:
{
Name: "SnB"
},
Price: 520000
}
]
},
]
输出 Excel 工作表
使用 C# 中的格式样式将 JSON 导入 Excel
从 JSON 文件导入数据时,您还可以对 Excel 工作表应用不同的样式。 Aspose.Cells for .NET 的 CellsFactory 类提供了一系列选项来设置各种样式参数,例如字体、颜色、对齐方式、边框样式等。以下是将数据从 JSON 导入 Excel 以及样式的步骤。
- 创建一个新的 Workbook 对象。
- 使用 System.IO.File.ReadAllText(string) 方法读取 JSON 文件。
- 创建 CellsFactory 类的对象。
- 使用 CellsFactory.CreateStyle() 方法创建 Style 对象。
- 设置所需的属性,例如 Style.Font.Color。
- 使用 JsonUtility.ImportData() 方法将数据从 JSON 导入 Excel。
- 使用 Workbook.Save(string) 方法保存 Excel 文件。
以下代码示例在使用 C# 将数据从 JSON 导入 Excel 时应用不同的样式。
// 创建工作簿对象
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// 读取 JSON 文件
string jsonInput = File.ReadAllText("Data.json");
// 设置样式
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;
// 设置 JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;
// 导入 JSON 数据
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
// 保存 Excel 文件
workbook.Save("Import-Data-JSON-To-Excel.xlsx");