Excel 파일은 데이터 관리와 분석에 널리 사용되는 형식이지만, 다른 소프트웨어와의 호환성이나 데이터 교환을 위해 Open XML 형식으로 변환해야 할 필요가 있습니다. Open XML은 Microsoft가 개발한 XML 기반 파일 형식으로, 다양한 애플리케이션에서 지원되어 데이터 교환에 유용합니다.
이 글에서는 C#에서 Excel 파일을 Open XML 형식으로 변환하는 방법을 살펴보겠습니다.
Open XML(Office Open XML)은 Microsoft Office 2007 이후 버전에서 사용되는 파일 형식으로, .xlsx 확장자를 가진 Excel 파일도 이 형식에 기반합니다. XML 기반이므로 텍스트 편집기로 내용을 확인할 수 있으며, 다양한 플랫폼에서 데이터를 읽고 처리할 수 있다는 장점이 있습니다.
C#에서 Excel과 Open XML 간 변환을 수행하는 방법은 여러 가지가 있습니다. Microsoft에서 제공하는 Open XML SDK를 직접 사용하거나, 서드파티 라이브러리를 활용할 수 있습니다.
여기서는 Workbook 객체를 사용하여 변환하는 방법을 살펴보겠습니다.
NuGet 패키지 관리자를 통해 라이브러리를 설치합니다:
PM> Install-Package Spire.XLS
Excel 파일을 Open XML 형식으로 변환하는 과정은 다음과 같습니다:
using Spire.Xls;
namespace ConvertExcelToOpenXML
{
internal class Program
{
static void Main(string[] args)
{
// Workbook 클래스의 인스턴스 생성
Workbook workbook = new Workbook();
// Excel 파일 로드
workbook.LoadFromFile("Sample.xlsx");
// Open XML 형식으로 저장
workbook.SaveAsXml("ExcelToXML.xml");
// 리소스 해제
workbook.Dispose();
}
}
}
반대 방향의 변환도 유사한 방식으로 수행됩니다. Open XML 파일을 로드한 후 Excel 형식으로 저장하면 됩니다.
using Spire.Xls;
namespace ConvertOpenXMLToExcel
{
internal class Program
{
static void Main(string[] args)
{
// Workbook 클래스의 인스턴스 생성
Workbook workbook = new Workbook();
// Open XML 파일 로드
workbook.LoadFromXml("ExcelToXML.xml");
// Excel 형식으로 저장
workbook.SaveToFile("XMLToExcel.xlsx", ExcelVersion.Version2016);
// 리소스 해제
workbook.Dispose();
}
}
}
Excel을 Open XML로 변환하는 것은 다음과 같은 상황에서 유용합니다:
반대로 Open XML을 Excel로 변환하는 것은 다음과 같은 경우에 필요합니다:
Excel 파일 처리를 위한 라이브러리를 선택할 때는 다음 사항을 고려해야 합니다:
Microsoft Office 의존성: 일부 라이브러리는 Microsoft Office가 설치되어 있어야 작동합니다. 서버 환경에서는 Office 설치가 어려울 수 있으므로 독립적으로 작동하는 라이브러리를 선택하는 것이 좋습니다.
라이선스: 무료 버전과 상용 버전의 기능 제한을 확인해야 합니다. 무료 버전의 경우 행 수나 시트 수에 제한이 있을 수 있습니다.
지원하는 형식: .xls, .xlsx, .xlsm 등 다양한 Excel 형식을 지원하는지 확인합니다.
성능: 대용량 파일을 처리할 때의 성능을 고려해야 합니다.
C#에서 Excel과 Open XML 형식 간의 변환은 적절한 라이브러리를 사용하면 간단하게 구현할 수 있습니다. LoadFromFile과 SaveAsXml, 또는 LoadFromXml과 SaveToFile 메서드를 조합하여 양방향 변환이 가능합니다.
프로젝트 요구사항에 따라 적절한 라이브러리와 변환 방향을 선택하여 데이터 관리 워크플로우를 구축하시기 바랍니다.