CODEKILLER

반응형

Excel xlsb 확장자 읽기 및 xlsx로 변환
Excel xlsb 확장자 읽기 및 xlsx로 변환

xlsb확장자를 읽는 방법 (변환)

C#에서 확장자가 xlsb인 엑셀파일을 읽지 못하여 오류가 발생합니다. 일반적인 엑셀이 아닌 엑셀바이너리 파일인데요. 유료 유틸(Aspose.Cells)들이 있긴 하지만 유료를 사용하기는 어렵고 할 때 아래와 같이 사용하시면 되겠습니다. Interop.Excel을 사용하여 xlsb파일을 xlsx파일로 변환을 하여 엑셀을 읽으면 되는데요. 인터럽 엑셀이 로드해서 읽을 때에는 매우 느리다는 단점이 있긴 하지만, 파일변환(SaveAs)만 할 때에는 그렇게 느리지 않습니다. 

var input = new FileInfo(inputFullPath);
var output = new FileInfo(outputExcelFullPath);

var excelApp = new Application();
Workbooks wbs = excelApp.Workbooks;
Workbook wb = wbs.Open(input.FullName);

// convert xlsb to xlsx
wb.SaveAs(output.FullName, XlFileFormat.xlWorkbookDefault);

try
{
    wb.Close();
}`
finally
{
    GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();
    GC.WaitForPendingFinalizers();
    Marshal.ReleaseComObject(wb);
    Marshal.ReleaseComObject(wbs);
    Marshal.ReleaseComObject(excelApp);
}

 

그 외에 Nuget중에 LinqToExcel 라이브러리도 xlsb를 지원을 하니 사용해 보시면 좋겠네요.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band