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();
-
새
워크시트
를 포함하고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();
-
새
워크시트
인스턴스를 포함하고ws
라는 이름을 지정합니다.Worksheet ws = wb.Worksheets.Add("DataTableToExcel");
-
DataTable
유형의 개체를 생성하고dt
라는 이름을 지정합니다.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
이라는 이름을 지정해야 합니다.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