2017-09-14 7 views
0

.NET 4.6 프레임 워크를 사용 중이고 미리 정의 된 다중 시트 asp.net/c# 코드에서 미리 템플릿 된 Excel 통합 문서를 읽어야하며 두 가지 방법 중 하나를 사용하여 문제를 해결할 수 있습니다. DocumentFormat.OpenXml.dll 또는 Microsoft.Office .Interop.Excel.dll assembly.OpenXml 또는 Microsft.Office.Interop.Excel은 C#에서 Excel 파일을 읽는 것이 더 좋습니다.

그러나 나는 어떤 전문 지식을 가지고 있지 않아 사용하기에 혼란 스럽습니다. 내 질문은; 솔루션에서이를 사용하는 장단점은 무엇입니까? 다른 것보다 더 좋은 점이 있습니까? 하나를 선택할 수 있도록 설명해 주시겠습니까?

답변

3

대답은 비교적 간단합니다. 같은 문장에서 "excel file"과 "asp.net"을 결합하는 경우에는 절대로 Interop을 사용하십시오. Interop은 실제 엑셀 인스턴스를 열고이를 조작하여 데이터를 설정/검색합니다. 천천히, 예기치 않게 멈출 수 있습니다. 프로그램을 차단하는 팝업이있을 수 있습니다.이 파일을 덮어 쓰시겠습니까? 그리고 리소스 호그입니다. DocumentFormat.OpenXml.dll은 작동하지만 특히 사용자가 제공 한 데이터 시트가 있으면 조작하기가 복잡합니다. EPPLUS와 같은 제 3 자 라이브러리는 더 높은 수준과 사용자에게 친숙하므로 이러한 라이브러리를 권하고 싶습니다.

+0

미리 정의 된 템플릿 열이있는 두 개의 시트가 있습니다. DocumentFormat.OpenXml.dll을 사용해도 되니? 제 경우에는 제 3 자 라이브러리를 사용하고 싶지 않습니다. – Simant

+0

아마 그렇 겠지만 실제로 시트의 복잡성에 달려 있습니다. –

+0

OpenXML SDK를 사용한 다음 Interop를 사용하는 것이 더 효율적이지만 코드는 좀 더 복잡합니다. 또한 OpenXML SDK와 Excel Interop은 타사 라이브러리입니다. 타사 라이브러리를 사용하고 싶지 않다면 System.IO.Packaging + System.Xml을 사용해야하며 Excel 파일을 읽는 다른 .NET 방식은 없으며 다른 모든 것은 타사에서 제공합니다. . – NixonUposseen