
C#에서 CSV 파일에 데이터를 쓰는 방법
이 글에서는 IronXL을 사용하여 CSV 파일을 작성하는 방법을 탐구할 것입니다.
IronXL 라이브러리
IronXL은 C# 응용 프로그램에서 스프레드시트 파일을 생성, 읽기 및 편집할 수 있는 포괄적인 기능을 제공하는 .NET Excel 라이브러리입니다. 성능 및 출력 정확도 측면에서 뛰어납니다. XLS, XLSX, XLSM, CSV, TSV와 같은 다양한 스프레드시트 워크북 파일 형식을 지원합니다. 또한 Excel 파일의 데이터를 CSV, JSON, HTML, Binary, Byte Array, DataSet, DataTable과 같은 형식으로 저장하거나 내보내기 할 수 있습니다.
IronXL을 사용하면 개발자는 워크시트 및 셀 범위와 원활하게 작업할 수 있으며, 데이터 조작에 대한 우아한 접근 방식을 제공합니다. 수식의 쉬운 편집을 허용하며 시트 내 수식을 다시 계산하는 것을 용이하게 합니다. 범위, 열, 행에 따른 데이터 정렬은 직관적입니다. 창 동결, 행/열 자동 크기 조정, 행/열 추가/제거를 통해 레이아웃을 수정할 수 있습니다.
IronXL은 사용자 비밀번호로 Excel 파일을 보호하고 편집 권한을 설정하는 기능을 제공합니다. 또한 Excel 워크시트에서 이미지 추가, 제거 및 추출 기능을 제공합니다. 라이브러리는 여러 셀 데이터 형식을 지원하는 다양한 Excel 기능을 포함하고 있습니다. 이로 인해 IronXL은 Excel 파일 작업에 가장 직관적인 API 중 하나가 됩니다.
IronXL의 주목할 만한 장점은 Microsoft Excel 또는 Office Interop 종속성을 기계에 설치할 필요가 없다는 것입니다. 여러 플랫폼에서 작동하는 완전한 솔루션이며 .NET 버전 7, 6, 5와 호환됩니다. 또한 .NET Core 2 및 3, 표준 2 버전도 지원합니다. Excel 스프레드시트 작업을 위해, IronXL은 .NET Framework 4.5 및 이후 버전과 호환됩니다.
콘솔 애플리케이션 만들기
애플리케이션 생성을 시작하려면 최신 버전의 Visual Studio를 사용하는 것이 권장됩니다. Visual Studio는 C# 개발의 공식 IDE이며, 설치되어 있어야 합니다. 설치되어 있지 않다면 Microsoft Visual Studio 웹사이트에서 다운로드할 수 있습니다.
다음 단계는 "DemoApp"이라는 새 프로젝트를 만드는 것입니다.
-
Visual Studio를 열고 "새 프로젝트 만들기"를 클릭합니다.
Visual Studio를 여세요 -
콘솔 응용 프로그램을 선택하고 '다음'을 클릭하십시오.
Visual Studio에서 새 프로젝트 생성 -
프로젝트 이름 설정
새 프로젝트 구성 -
.NET 버전을 선택하세요. 안정된 버전 .NET 6.0을 선택하십시오.
.NET Framework 선택
IronXL 라이브러리 설치
프로젝트가 생성되면, IronXL 라이브러리를 프로젝트에 설치하여 사용해야 합니다. 다음 단계에 따라 설치하세요.
-
솔루션 탐색기나 도구에서 NuGet 패키지 관리자를 엽니다.
NuGet 패키지 관리자 이동 -
IronXL 라이브러리를 검색하여 현재 프로젝트를 선택하십시오. 설치를 클릭하세요.
NuGet 패키지 관리자 UI에서 IronXL 패키지를 검색하고 설치
다음 네임스페이스를 Program.cs 파일 상단에 추가하십시오:
using IronXL;Imports IronXLCreate a New Workbook in C#
IronXL은 빈 통합 문서 생성을 지원합니다. 워크북은 여러 워크시트를 포함하는 스프레드시트입니다. 데이터는 셀에 저장됩니다. CSV도 스프레드시트처럼 보이지만 대신 CSV 파일 확장자를 가집니다.
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()이제, WorkBook에 시트를 만들겠습니다. 워크북에서 워크시트를 만드는 방법은 여러 가지가 있습니다.
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;
// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");' Adds a default sheet to the workbook
Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet
' Creates a worksheet with the name "Sheet1"
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")기존 워크북에 시트를 더 추가하려면 CreateWorkSheet 메서드를 사용하세요.
참고: CSV 파일이 이미 있는 경우 WorkBook.LoadCSV 메서드를 사용할 수 있습니다. 기존 CSV 파일을 로드하기 위한 코드 예제 페이지를 참조하세요.
WorkSheet에 데이터 쓰기
IronXL을 사용하면 CSV 파일을 작성하기가 쉽습니다. CSV에 데이터를 쓰기 위한 Excel 기능을 제공합니다. 셀 참조는 지정된 위치에 값을 추가하는 데 사용할 수 있습니다. 여기에서는 foreach 루프를 사용하여 몇몇 직원들의 기록을 추가할 것입니다.
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee위의 코드 예제에서는 employeeNames 배열이 생성되었으며, 첫 번째 행에는 ID, 이름, 급여 헤더가 설정되어 있습니다. 변수 i도 값 2로 초기화되어 있으며, 이 값은 헤더 아래의 두 번째 행부터 기록을 입력합니다. foreach 루프는 목록의 각 직원을 처리하고 현재 행에 ID 및 급여 값을 추가합니다. 루프가 완료되기 전에 i가 증가하여 다음 레코드에 대한 다음 행으로 이동합니다.
CSV 파일에 데이터 저장
마지막 단계는 CSV 파일을 저장하는 것입니다. IronXL은 SaveAsCsv 메서드를 제공하여 워크북을 CSV 파일로 저장합니다. 이 메서드의 첫 번째 매개변수는 CSV 파일 이름이고 두 번째는 구분자입니다.
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")전체 코드는 다음과 같습니다.
using System;
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main()
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
End Sub
End Class출력
출력 CSV 파일
요약
이 글은 IronXL을 사용해 C#에서 CSV 파일을 작성하는 간단한 방법을 제시합니다. IronXL도 기존 CSV 파일을 문제 없이 작업할 수 있는 기능을 제공합니다. 또한 철, 새 Excel 파일을 만들고 간단한 구문으로 데이터를 쓸 수 있도록합니다. IronXL은 Microsoft Office가 설치되지 않았어도 Excel 파일을 읽고 쓸 수 있습니다. 다양한 스프레드시트 형식 간의 변환에 대해서는 코드 예제 페이지를 참조하세요.
IronXL은 개발용으로 무료이며 상업적 용도로 라이선스가 가능합니다. 상업적 사용을 위한 IronXL 무료 체험판도 시도해 볼 수 있습니다.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.
관련 기사



