C#에서 간단한 코드로 Excel 읽기
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 Packages → FreeSpire.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와 같은 적절한 도구를 선택하면 개발 효율성과 프로그램 안정성을 크게 향상시킬 수 있습니다.