C#을 사용하여 Excel 파일을 읽고 특정 셀의 데이터를 추출하는 것은 데이터 처리와 분석에 있어 매우 중요한 기능입니다. 본 포스트에서는 C# Windows Forms 애플리케이션을 통해 Excel 파일을 읽고, 사용자가 지정한 셀의 값을 출력하는 방법을 소개하겠습니다. 이 과정을 통해 개발자들은 Excel 데이터를 더욱 효과적으로 활용할 수 있게 됩니다.
1. NuGet 패키지 설치
프로젝트를 시작하기 전에, Microsoft.Office.Interop.Excel 라이브러리를 설치해야 합니다. 이 라이브러리는 Excel 파일과 상호작용하는 데 필요합니다.
Visual Studio에서 프로젝트를 우클릭하고 'NuGet 패키지 관리'를 선택한 다음, '찾아보기' 탭에서 해당 패키지를 검색하여 설치합니다.
2. ExcelReader 클래스 생성
다음은 Excel 파일을 읽기 위한 ExcelReader 클래스의 구현입니다.
using System;
using Microsoft.Office.Interop.Excel;
namespace ExcelReader
{
class ExcelReader
{
private Application excel;
private Workbook workbook;
private Worksheet worksheet;
public ExcelReader(string filePath)
{
excel = new Application();
workbook = excel.Workbooks.Open(filePath);
worksheet = workbook.Worksheets[1];
}
public string GetCellValue(int row, int column)
{
Range range = worksheet.Cells[row, column];
if (range.Value != null)
{
return range.Value.ToString();
}
else
{
return "";
}
}
public void Close()
{
workbook.Close();
excel.Quit();
}
}
}
이 클래스는 Excel 파일을 열고, 지정된 셀의 값을 반환하는 기능을 제공합니다.
GetCellValue 함수는 행과 열 번호를 인자로 받아 해당 셀의 값을 반환합니다.
여기서 눈여겨 봐야 할건 workbook.Worksheets[1]; 입니다. 바로 첫번째 시트를 읽어오겠다는 것!
시트가 만약 여러개라면 배열의 값을 변경해주면 됩니다.
3. Windows Forms 애플리케이션 구현
Windows Forms 애플리케이션에는 파일을 선택하는 OpenFileDialog, 셀의 값을 표시할 TextBox, 그리고 파일을 열고 셀 값을 읽는 Button을 포함합니다.
버튼의 클릭 이벤트 핸들러에서는 ExcelReader 클래스를 사용하여 선택된 파일의 특정 셀 값을 읽고 출력합니다.
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel files (*.xlsx)|*.xlsx";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog.FileName;
ExcelReader excelReader = new ExcelReader(openFileDialog.FileName);
int col = 1; // 열
int row = 1; // 행
string cellValue = excelReader.GetCellValue(row, col);
textBox2.Text = col.ToString();
textBox3.Text = row.ToString();
textBox4.Text = cellValue;
excelReader.Close();
}
}
간단하게 엑셀 파일을 만들어 주었습니다.
이 엑셀 파일을 읽을 수 있도록 윈폼도 만들어주었습니다.
파일을 로드 할 수 있는 버튼도 만들고, 각각의 값을 출력해줄 TextBox 도 만들어주었습니다.
그리고 버튼을 클릭하면 파일을 읽을 수 있도록 버튼 이벤트에 소스를 추가해 주었습니다.
오픈다이얼로그는 아래의 링크를 참고하시면 됩니다.
[C#] OpenFileDialog 활용하여 파일 선택하기
C#을 사용하다보면 파일을 선택하거나 불러오는 작업이 필요할 때가 많습니다. 이럴 때 사용하는 기능 중 하나가 OpenFileDialog입니다. 이번 글에서는 OpenFileDialog의 기본 사용법과 주요 기능들에 대
devit.koreacreatorfesta.com
결론
C#과 Microsoft.Office.Interop.Excel 라이브러리를 사용하여 Excel 파일에서 데이터를 읽고 처리하는 것은 비교적 간단합니다. 이 기술을 활용하면 엑셀 데이터를 다양한 방식으로 가공하고, 효율적인 데이터 관리 및 분석이 가능해집니다. 다음 포스트에서는 읽어온 데이터를 DataGridView에 표시하는 방법을 다룰 예정입니다.
함께보면 좋은글
[C#] Excel 엑셀파일 읽어서 DataGridView 출력하기 EPPlus
EPPlus는 비상업적 사용에 대해 무료이며, 상업적 사용에는 라이선스 구매가 필요합니다. 이번 글에서는 C#과 EPPlus를 사용하여 Excel 파일을 읽고 데이터를 DataGridView에 출력하는 방법을 살펴보겠습
devit.koreacreatorfesta.com
'Language > C# WPF' 카테고리의 다른 글
[C#] 문자열에서 원하는 위치의 글자만 가져오기 (0) | 2023.08.28 |
---|---|
[C#] Excel 엑셀파일 읽어서 DataGridView 출력하기 EPPlus (0) | 2023.04.06 |
[WPF] Microsoft.Ink로 필기인식(숫자인식 Handwriting digit recognition) 해보기 (0) | 2021.05.12 |
[C#] 디버깅 관리자권한(debug administrator) / click once error (0) | 2019.11.05 |
[WPF] shape 이미지 관련 - Ellipse, Rectangle background image(BitmapImage to ImageBrush) (0) | 2019.08.26 |