C# を使用してデータを Excel ファイルにエクスポートする
-
C#
を使用してデータを Excel にエクスポート -
C#
を使用して配列から Excel にデータをエクスポートする -
C#
を使用して DataTable から Excel にデータをエクスポートする -
C#
を使用して JSON から Excel にデータをエクスポートする
このチュートリアルでは、C# でデータを Excel ファイルにエクスポートする方法を説明します。
C#
を使用してデータを Excel にエクスポート
このプロジェクトを進めるには、参照を追加して Excel ファイルを作成し、それをエクスポートする必要があります。
参照パッケージを追加する
Excel のさまざまな操作のために、ExcelMapper
パッケージを追加します。 これを行うには、次の手順に従います。
-
Visual Studio を開き、コンソール アプリケーションを作成して名前を付けます。
-
ソリューション エクスプローラー パネルを右クリックし、[NuGet パッケージの管理] を選択します。
-
[参照] オプションをクリックし、
ExcelMapper
を検索してインストールします。
パッケージを追加したら、サンプル プログラムのコードを記述します。 以下の例では、学生からのランダム データを使用します。
例:
-
まず、次のライブラリをインポートします。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Ganss.Excel;
-
name
とmarks
データ メンバーを持つStudent
クラスを作成します。public class Student { public String name { get; set; } public double marks { get; set; } }
-
Program
という名前の別のクラスを作成し、そのクラスにMain()
メソッドを作成します。public class Program { public static void Main(string[] args) {} }
-
Main()
メソッドでは、Student
クラスのList<>
型オブジェクトを作成します。var s = new List<Student> {}
-
以下に示すように、このオブジェクトにはいくつかのランダムな
Student
データが取り込まれます。var s = new List<Student> { new Student { name = "M.Zeeshan", marks = 94.0 }, new Student { name = "Shani", marks = 84.0 }, new Student { name = "Saada g", marks = 74.0 }, new Student { name = "Haseeba", marks = 34.0 }, };
-
次に、
maper
という名前のExcelMapper
オブジェクトを作成します。ExcelMapper maper = new ExcelMapper();
-
作成したばかりのデータを保存するために、必要なパスまたはディレクトリにサンプル ファイルを作成します。
var newFile = @"D:\sample.xlsx";
-
最後に、ExcelMapper の
maper.Save()
関数を使用してファイルを保存します。maper.Save(newFile, s, "ShaniData", true);
完全なソース コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ganss.Excel;
namespace DatatoExcelbyZeeshan {
public class Program {
public static void Main(string[] args) {
var s = new List<Student> {
new Student { name = "M.Zeeshan", marks = 94.0 },
new Student { name = "Shani", marks = 84.0 },
new Student { name = "Saada g", marks = 74.0 },
new Student { name = "Haseeba", marks = 34.0 },
};
ExcelMapper maper = new ExcelMapper();
var newFile = @"D:\sample.xlsx";
maper.Save(newFile, s, "ShaniData", true);
Console.ReadKey();
}
}
public class Student {
public String name { get; set; }
public double marks { get; set; }
}
}
sample.xlsx
ファイルに次の出力が表示されます。
C#
を使用して配列から Excel にデータをエクスポートする
実際にそれを理解するために例を挙げましょう。
参照パッケージを追加する
Excel のさまざまな操作のために、ExcelMapper
パッケージを追加します。 これを行うには、次の手順に従います。
-
まず、Visual Studio を開き、コンソール アプリケーションを作成して名前を付けます。
-
ソリューション エクスプローラー パネルを右クリックし、[NuGet パッケージの管理] を選択します。
-
[参照] オプションをクリックし、
Spire.Xls
を検索してインストールします。
例:
-
まず、次のライブラリをインポートします。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Spire.Xls;
-
次に、
Workbook
の新しいインスタンスを作成し、wb
という名前を付けます。Workbook wb = new Workbook();
-
新しい
Worksheet
を含めて、ws
という名前を付けます。Worksheet ws = wb.Worksheets.Add("ShaniArray");
-
新しい配列を作成し、
ProgramSubjectResults
という名前を付けてから、いくつかのデータを追加します。string[,] ProgramSubjectResults = new string[,] { { "Name", "City", "Gpa", "Language" }, { "Zeeshan", "ISB", "3.7", "Flutter Development" }, { "Saad Jaan", "RWP", "4.0", "Full Stack" }, { "Haseeba", "FATA", "3.53", "Andriod Development" } };
-
ワークシート
に配列を含めるには、セルから始めます。ws.InsertArray(ProgramSubjectResults, 2, 1); ws.AllocatedRange.AutoFitColumns();
-
最後に、作成した配列に名前を付けて、Excel ファイルとして保存します。
wb.SaveToFile(@"D:\ArraytoExcel.xlsx", ExcelVersion.Version2016);
完全なソース コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;
namespace ExportArraytoExcelbyZeeshan {
class Program {
static void Main(string[] args) {
Workbook wb = new Workbook();
wb.Worksheets.Clear();
Worksheet ws = wb.Worksheets.Add("ShaniArray");
string[,] ProgramSubjectResults =
new string[,] { { "Name", "City", "Gpa", "Language" },
{ "Zeeshan", "ISB", "3.7", "Flutter Development" },
{ "Saad Jaan", "RWP", "4.0", "Full Stack" },
{ "Haseeba", "FATA", "3.53", "Andriod Development" } };
ws.InsertArray(ProgramSubjectResults, 2, 1);
ws.AllocatedRange.AutoFitColumns();
wb.SaveToFile(@"D:\ArraytoExcel.xlsx", ExcelVersion.Version2016);
}
}
}
出力:
C#
を使用して DataTable から Excel にデータをエクスポートする
次の例を使用して、これを行う方法を見てみましょう。
参照パッケージを追加する
DataTable
を Excel にエクスポートするには、ExcelMapper
パッケージを追加します。 これを行うには、前に説明した手順に従います。
例:
-
まず、次のライブラリをインポートします。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using Spire.Xls;
-
次に、
Workbook
の新しいインスタンスを作成し、wb
という名前を付けます。Workbook wb = new Workbook(); wb.Worksheets.Clear();
-
新しい
Worksheet
インスタンスを含めて、ws
という名前を付けます。Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
-
DataTable
型のオブジェクトを作成し、dt
という名前を付けます。DataTable dt = new DataTable();
-
Roll Number
、Student Name
、およびSections
を列として追加します。dt.Columns.Add("Roll Number", typeof(String)); dt.Columns.Add("Student Name", typeof(String)); dt.Columns.Add("Section", typeof(String));
-
DataRow
タイプのオブジェクトを作成し、dtr
という名前を付ける必要があります。DataRow dtr = dt.NewRow();
-
以下に示すように、データを
DataRow
列に挿入します。dtr[0] = "130-Arid-3227"; dtr[1] = "Muhammad Zeeshan"; dtr[2] = "Bs(IT)8A"; dt.Rows.Add(dtr); dtr = dt.NewRow(); dtr[0] = "123-Arid-3156"; dtr[1] = "Bubby Shah"; dtr[2] = "Bs(AI)7C"; dt.Rows.Add(dtr); dtr = dt.NewRow();
-
作成したスプレッドシートに
DataTable
列を書き込みます。ws.InsertDataTable(dt, true, 1, 1, true);
-
最後に、ドキュメントに名前を付けて、Excel ファイルとして保存します。
wb.SaveToFile(@"C:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
完全なソース コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Spire.Xls;
namespace ExportDataTableToExcelByZeeshan {
class Program {
static void Main(string[] args) {
Workbook wb = new Workbook();
wb.Worksheets.Clear();
Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
DataTable dt = new DataTable();
dt.Columns.Add("Roll Number", typeof(String));
dt.Columns.Add("Student Name", typeof(String));
dt.Columns.Add("Section", typeof(String));
DataRow dtr = dt.NewRow();
dtr[0] = "130-Arid-3227";
dtr[1] = "Muhammad Zeeshan";
dtr[2] = "Bs(IT)8A";
dt.Rows.Add(dtr);
dtr = dt.NewRow();
dtr[0] = "123-Arid-3156";
dtr[1] = "Bubby Shah";
dtr[2] = "Bs(AI)7C";
dt.Rows.Add(dtr);
dtr = dt.NewRow();
ws.InsertDataTable(dt, true, 1, 1, true);
wb.SaveToFile(@"C:\DataTableToExcel.xlsx", ExcelVersion.Version2016);
}
}
}
出力:
C#
を使用して JSON から Excel にデータをエクスポートする
以下の例は、C# を実際に使用して JSON データを Excel にエクスポートする方法を理解するのに役立ちます。
参照パッケージを追加する
Excel の Json
操作のために、GemBox.Spreadsheet
と Newtonsoft.Json
パッケージを追加します。 これを行うには、次の手順に従います。
-
まず、Visual Studio を開き、コンソール アプリケーションを作成して名前を付けます。
-
ソリューション エクスプローラー パネルを右クリックし、[NuGet パッケージの管理] を選択します。
-
[参照] オプションをクリックし、
GemBox.Spreadsheet
とNewtonsoft.Json
を検索してインストールします。
例:
-
まず、次のライブラリをインポートします。
using System; using System.Collections.Generic; using GemBox.Spreadsheet; using Newtonsoft.Json;
-
GemBox.Spreadsheet
パッケージの他のクラスを使用する前に、SpreadsheetInfo.SetLicense()
関数を使用してライセンスを初期化する必要があります。SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
-
ここで、
JsonData
という名前の JSON ファイルを作成し、Students
データを入力します。string JsonData = @"{ ""0"": { ""Name"": ""Muhammad Zeeshan"", ""Roll"": ""3227"", ""GPA"": 3.11, ""Fyp"": ""Garden Guide System"" }, ""1"" : { ""Name"": ""Bubby Shah"", ""Roll"": ""3265"", ""GPA"": 2.9, ""Fyp"": ""Football Field Management"" }, ""2"" : { ""Name"": ""Haseeb-Ur-Rehman"", ""Roll"": ""3156"", ""GPA"": 3.9, ""Fyp"": ""Plants Recognition"" } }";
-
JSON ファイルを定義した後、JSON 文字列を逆シリアル化します。
Dictionary<string, Student> shani = JsonConvert.DeserializeObject<Dictionary<string, Student>>(JsonData);
-
Excel で新しいワークシートを作成し、
ws
という名前を付けます。 その後、ワークシートのヘッダー値を作成します。ExcelWorksheet ws = wb.Worksheets.Add("ShaniJSON" + ""); ws.Cells[0, 0].Value = "Student Name"; ws.Cells[0, 1].Value = "Roll No"; ws.Cells[0, 2].Value = "GPA"; ws.Cells[0, 3].Value = "FYP";
-
ワークシートが作成されたら、逆シリアル化されたデータをワークシートに書き込みます。
int row = 0; foreach (Student user in shani.Values) { ws.Cells[++row, 0].Value = user.Fname; ws.Cells[row, 1].Value = user.Roll; ws.Cells[row, 2].Value = user.Gpa; ws.Cells[row, 3].Value = user.Fyp; }
-
最後のステップで、指定したディレクトリにファイルを Excel ファイルとして保存します。
wb.Save(@"D:\JSON TO Excel by Zeeshan.xlsx");
完全なソース コード:
using System;
using System.Collections.Generic;
using GemBox.Spreadsheet;
using Newtonsoft.Json;
namespace JsontoExcelByZeeshan {
class Program {
static void Main(string[] args) {
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
string JsonData =
@"{
""0"": {
""Name"": ""Muhammad Zeeshan"",
""Roll"": ""3227"",
""GPA"": 3.11,
""Fyp"": ""Garden Guide System""
},
""1"" : {
""Name"": ""Bubby Shah"",
""Roll"": ""3265"",
""GPA"": 2.9,
""Fyp"": ""Football Field Management""
},
""2"" : {
""Name"": ""Haseeb-Ur-Rehman"",
""Roll"": ""3156"",
""GPA"": 3.9,
""Fyp"": ""Plants Recognition""
}
}";
Dictionary<string, Student> shani =
JsonConvert.DeserializeObject<Dictionary<string, Student>>(JsonData);
ExcelFile wb = new ExcelFile();
ExcelWorksheet ws = wb.Worksheets.Add("ShaniJSON" + "");
ws.Cells[0, 0].Value = "Student Name";
ws.Cells[0, 1].Value = "Roll No";
ws.Cells[0, 2].Value = "GPA";
ws.Cells[0, 3].Value = "FYP";
int row = 0;
foreach (Student user in shani.Values) {
ws.Cells[++row, 0].Value = user.Fname;
ws.Cells[row, 1].Value = user.Roll;
ws.Cells[row, 2].Value = user.Gpa;
ws.Cells[row, 3].Value = user.Fyp;
}
wb.Save(@"D:\JSON TO Excel by Zeeshan.xlsx");
}
}
class Student {
[JsonProperty("Name")]
public string Fname { get; set; }
[JsonProperty("Roll")]
public string Roll { get; set; }
[JsonProperty("GPA")]
public float Gpa { get; set; }
[JsonProperty("Fyp")]
public string Fyp { get; set; }
}
}
出力:
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn