MS Excelは、表形式のデータをワークシートの形式で保持および整理するためのさまざまな機能を提供します。データ編成に加えて、データの並べ替え、グラフのプロット、数学的計算などのさまざまな操作を実行できます。一方、JSONは、データを次の形式で保存および送信するために広く使用されている形式です。キーと値のペア。ほとんどの場合、サーバーからWebページにデータを送信するために使用されます。データをJSONの形式で、つまりWebサービスから受け取り、Excelワークシートに保存したい場合があります。このような場合、最適な方法は、JSONからExcelワークシートにプログラムでデータをインポートすることによってプロセスを自動化することです。
ASP.NETまたはC#ベースのアプリケーションで上記のシナリオを処理するために、JSONデータをExcelファイルにインポートする方法を示します。この記事では、次の方法を学習します。
- C#でJSONからExcelワークシートにデータをインポートします
- C#でJSONをExcelに変換するときにセルフォーマットを適用する
JSONファイルからデータをインポートするために、Aspose.Cells for .NETの機能を利用します。これは、.NET、.NET Core、およびXamarinベースのアプリケーションでスプレッドシートファイルを操作するための強力なAPIです。 NuGetからAPIのパッケージをインストールするか、ダウンロードセクションからDLLを直接ダウンロードできます。
JSONからExcelにC#でデータをインポートする
JSONからExcelXLSXにデータをインポートする手順は次のとおりです。
- 新しい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");