(주)엑스인터넷정보 Mighty-X 관련 블로그 입니다. http://www.x-web.co.kr

C#으로 엑셀을 다루는 쉬운 방법 ClosedXML 소개

댓글 1개
* 출처 - http://closedxml.codeplex.com/

C#으로 엑셀을 다루는 여러 가지 방법들이 있겠지만, 마이크로소프트의 OpenXML 2.0을 이용한 ClosedXML이 심플하고 괜찮아 보입니다.
마이크로소프트 OpenXML SDK 2.0 (.NET 3.5용)을 설치합니다.
비주얼스튜디오에서 .NET 참조를 추가합니다. - DocumentFormat.OpenXML, WindowsBase
ClosedXML의 압축을 푼 곳을 지정하고 참조를 추가합니다. - ClosedXML.dll
소스코드에서는 using ClosedXML.Excel; 만 넣어주면 됩니다.



자세한 사항은 위 출처의 Document를 보면 되겠고, 얼마나 쉬운지(?) 간단한 코드 몇 줄을 첨부합니다. ASP.NET으로 서비스할 때 만들어진 엑셀파일을 다운로드할 수 있는 설명도 찾을 수 있습니다.



var workbook = new XLWorkbook("양식있는빈엑셀.xlsx");  // 기존 엑셀 열기

var workbook = new XLWorkbook(); // 새 엑셀 열기

var worksheet = workbook.Worksheet(1);  // 첫번째 sheet열기

var worksheet = workbook.Worksheets.Add("Sheet1");  // 빈 sheet추가하기

worksheet.Cell("B3").Value = "데이터넣기";  // B3에 값 넣기

worksheet.Cell(3,2).Value = "데이터넣기";   // 3행, 2열 즉 B3에 값 넣기



Int32 intRow = 7;

worksheet.Range("B" + intRow.ToString() + ":" + "AB" + intRow.ToString()).Style.Border.InsideBorder = XLBorderStyleValues.None; // 7행 B7:AB7 범위 내부의 선 없애기



workbook.SaveAs("HelloExcel.xlsx");  // 새로운 이름으로 저장하기

위 프로그램은 로컬 컴퓨터에서 동작될텐데, 만약 서버에서 aspx로 돌리고 브라우저 단에서 엑셀 파일을 다운로드 받기 위해서는 다음 글을  참고할 수 있습니다. - http://closedxml.codeplex.com/wikipage?title=How%20do%20I%20deliver%20an%20Excel%20file%20in%20ASP.NET%3f&referringTitle=Documentation 새 프로젝트 -> ASP.NET 웹 응용프로그램을 만든 후, 위와 같이 참조 추가하고 using을 써준 후, using System.IO; 를 더 추가하면 되겠습니다. 위 링크에 있는 코드를 Page_Load에 복사해 넣고 빌드하고 웹 브라우저에 띄우면 엑셀 다운로드가 완료됩니다.

댓글 1개 :

  1. ClosedXML OpenXML XLNT EPPlus 등 여러가지 엑셀 라이브러리가 있는데
    이중에 ClosedXML 이 가장 쓸만한가요??

    답글삭제