MiniExcel - NuGet 패키지 소개

알고 계신 분들이 이미 많으시겠지만, 실무에서 Excel파일로 내보내기 기능을 사용할 때 굉장히 유용한 뉴겟 패키지가 있어서 소개드립니다.

IEnumerable과 같은 DataSource를 Excel파일로 export할 때 굉장히 유용합니다!

.NET 4.x ~ .NET 8까지도 폭 넓게 지원하네요.

DataTable, IEnumerable 또는 아래와 같이 Dapper 쿼리 결과를 그대로 저장할 수도 있습니다.

using (var connection = GetConnection(connectionString))
{
    var rows = connection.Query(@"select 'MiniExcel' as Column1,1 as Column2 union all select 'Github',2");
    MiniExcel.SaveAs(path, rows);
}

다양한 Annotation을 넣는것도 가능해서 Model Property에 Ignore, ColumnName과 같은 Annotation을 넣으면
해당 리스트를 그대로 저장하더라도 일부 항목은 무시하거나 컬럼 헤더 명칭을 바꾸는 등의 핸들링도 가능합니다.

저같은 경우 .NET 4.x, .NET6을 사용하는 사내 시스템에 적용(ClosedXML을 MiniExcel로 교체)했더니 Export 속도가 상당히 빨라지고, 메모리 사용량이 아주 낮아서 만족스럽네요.

자세한 내용은 링크를 따라가셔서 확인해보시길 바랍니다.

12 Likes

저도 miniexcel 잘 쓰고 있습니다.
역시 중국이 대용량 하나는 잘 만드…

4 Likes

저는 사내 시스템에서 엑셀 Export가 되지 않는다는 클레임을 여러 건 받고,
문제 원인을 분석하다가 ClosedXML은 버전을 더이상 올릴 수가 없더라구요…
(.NET 4.x는 지원 중단)
그래서 일단 패키지 교체를 진행했는데 다행히 Export 안되던 분들도 이제 다 잘된다는 피드백을 받았습니다.
속도도 어마무시한데, 일단 저희 내부에서는 Export 단위가 10k~300k건 정도 되다보니
메모리 사용량을 무시할 수가 없었는데 이 부분도 덩달아 해결됐습니다…

7 Likes

좋은 정보 공유 감사합니다!! :smiley:

5 Likes

우앗 좋은 정보 감사합니다~

2 Likes