MS Excel 스프레드시트는 소형, 중형 또는 대형 데이터를 유지하는 데 널리 사용됩니다. 다양한 경우에 스프레드시트는 애플리케이션 데이터를 저장하는 데이터베이스 역할을 합니다. 이러한 상황에서는 웹 또는 데스크톱 응용 프로그램 내에서 Excel 파일에 저장된 데이터를 읽어야 할 수 있습니다. 이러한 경우 이 문서에서는 Excel 데이터를 C#의 DataTable로 변환하는 방법을 다룹니다.

C# Excel에서 DataTable로의 변환 API

Aspose.Cells for .NET은 .NET 애플리케이션 내에서 Excel 자동화 기능을 구현할 수 있게 해주는 클래스 라이브러리입니다. 또한 API를 사용하면 몇 단계 만에 Excel 워크시트에서 ADO.NET DataTable로 데이터를 내보낼 수 있습니다. API를 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

PM> Install-Package Aspose.Cells

C#에서 Excel을 DataTable로 변환

Excel 워크시트에서 DataTables로 데이터를 내보낼 때 두 가지 가능한 시나리오가 있을 수 있습니다. 데이터는 강력한 형식이거나 강력하지 않은 형식일 수 있습니다. 두 경우 모두 적절하게 Excel에서 DataTable로 변환을 수행할 수 있습니다. 위에서 언급한 시나리오 중 하나를 처리하는 방법을 살펴보겠습니다.

강력한 형식의 Excel 데이터를 C#의 DataTable로 변환

강력한 형식의 데이터는 단일 열의 값이 특정 데이터 형식에 속함을 의미합니다. 이러한 경우 다음 단계를 사용하여 Excel 데이터를 C#의 DataTable로 내보낼 수 있습니다.

다음 코드 샘플은 Excel을 DataTable로 내보내는 방법을 보여줍니다.

// 열려는 Excel 파일이 포함된 파일 스트림 생성
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// 통합 문서 개체 인스턴스화
//파일 스트림을 통해 Excel 파일 열기
Workbook workbook = new Workbook(fstream);

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.Worksheets[0];

// 첫 번째 셀부터 DataTable로 2행 2열의 내용 내보내기
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// DataGrid를 사용하여 DataTable 바인딩
dataGridView1.DataSource = dataTable;

// 모든 리소스를 해제하려면 파일 스트림을 닫습니다.
fstream.Close();

강력하지 않은 형식의 Excel 데이터를 C#의 DataTable로 변환

이제 워크시트의 값에 강력한 형식이 지정되지 않은 다른 경우를 살펴보겠습니다. 특정 데이터 유형에 속하지 않음을 의미합니다. 이 경우 Excel 데이터를 DataTable로 내보내는 단계는 다음과 같습니다.

다음 코드 샘플은 강력하지 않은 형식의 데이터를 Excel에서 C#의 DataTable로 내보내는 방법을 보여줍니다.

// 열려는 Excel 파일이 포함된 파일 스트림 생성
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// 통합 문서 개체 인스턴스화
//파일 스트림을 통해 Excel 파일 열기
Workbook workbook = new Workbook(fstream);

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.Worksheets[0];

// 첫 번째 셀부터 DataTable로 2행 2열의 내용 내보내기
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// DataGrid를 사용하여 DataTable 바인딩
dataGridView1.DataSource = dataTable;

// 모든 리소스를 해제하려면 파일 스트림을 닫습니다.
fstream.Close();

무료 라이선스 받기

평가 제한 없이 API를 사용하기 위해 무료 임시 라이선스 받기를 할 수 있습니다.

결론

이 문서에서는 C#을 사용하여 Excel 데이터를 ADO.NET DataTables로 내보내거나 변환하는 방법을 배웠습니다. 단계별 자습서 및 코드 샘플은 워크시트에서 강력한 형식의 데이터와 강력한 형식이 아닌 데이터를 처리하는 방법을 보여주었습니다. 문서를 사용하여 C# Excel API에 대해 자세히 알아볼 수 있습니다.

또한보십시오