C#에서 간단한 코드로 Excel 읽기

발행: (2025년 12월 29일 오후 12:32 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Introduction

일상적인 C# 개발에서 Excel 데이터를 처리하는 일은 거의 모든 개발자가 마주하는 요구사항입니다. 사용자 데이터를 가져오든, 보고서를 생성하든, 데이터 분석을 하든, Excel은 없어서는 안 될 역할을 합니다. Microsoft.Office.Interop.Excel과 같이 COM Interop 기반의 전통적인 C# Excel 읽기 방법은 성능 병목, 환경 의존성, 복잡한 배포 문제에 시달리는 경우가 많습니다.

이 글에서는 Spire.XLS for .NET을 사용하여 Office 의존성 없이 간단하고 효율적인 Excel 읽기 솔루션을 구현하는 방법을 보여드립니다.

Environment Preparation

Step 1: Create a VS2022 Console Project

  • File → New → Project → Console App 템플릿을 선택합니다.

Step 2: Install via NuGet

  • Graphic Interface: 프로젝트를 우클릭 → Manage NuGet PackagesFreeSpire.XLS 를 검색합니다.

  • Command Line:

    Install-Package Spire.XLS
    # or the free version
    Install-Package FreeSpire.XLS

프로젝트 참조에 Spire.XLS 어셈블리가 추가되었는지 확인하여 설치가 정상적으로 이루어졌는지 검증합니다.

Read Excel Files in C# Quickly

Import the Namespace

using Spire.Xls;

Read Individual Cells

// Load Excel (supports both XLS and XLSX formats)
Workbook wb = new Workbook();
wb.LoadFromFile("Sample.xlsx");

// Read cell data (2 methods)
Worksheet sheet = wb.Worksheets[0];
Console.WriteLine(sheet.Range["A1"].Value);      // Locate by column name
Console.WriteLine(sheet.Range[2, 1].Value);      // Locate by row and column numbers

Common Pitfall: 행과 열 번호로 데이터를 읽을 때 인덱스는 1부터 시작한다는 점을 유의하세요.

Read Data from an Entire Worksheet

using Spire.Xls;

namespace ReadExcelData
{
    class Program
    {
        static void Main(string[] args)
        {
            // Load the Excel document
            Workbook wb = new Workbook();
            wb.LoadFromFile("Sample.xlsx");

            // Get the first worksheet
            Worksheet sheet = wb.Worksheets[0];

            // Get the data range in the worksheet
            CellRange locatedRange = sheet.AllocatedRange;

            // Iterate through rows and columns in the range
            for (int i = 0; i < locatedRange.Rows.Length; i++)
            {
                for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++)
                {
                    // Read cell data
                    Console.Write(locatedRange[i + 1, j + 1].Value + "  ");
                }
                Console.WriteLine();
            }
        }
    }
}

Read Excel Formulas

Value 속성은 수식 자체를 반환합니다. 계산된 결과를 얻으려면 FormulaValue 를 사용합니다.

foreach (CellRange cell in sheet.AllocatedRange)
{
    if (cell.HasFormula)
    {
        // Original formula
        string formula = cell.Formula;

        // Calculated result of the formula
        string formulaResult = cell.FormulaValue.ToString();
    }
}

C#에서 Excel 파일을 읽는 작업은 흔한 일입니다. Spire.XLS와 같은 적절한 도구를 선택하면 개발 효율성과 프로그램 안정성을 크게 향상시킬 수 있습니다.

Back to Blog

관련 글

더 보기 »

C#에서 RTF를 PDF로 변환하기

개요 RTF(Rich Text Format)는 문서 편집 및 데이터 교환에 널리 사용되는 크로스‑플랫폼 형식입니다. 반면 PDF는 문서 배포에 이상적입니다.