Language/C# WPF

[C#] Excel 엑셀파일 읽어서 원하는 셀 값 출력하기

멱군 2023. 4. 3. 23:43

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