[C#] Excel 가져 오기 및 내보내기-가장 좋은 라이브러리는 무엇입니까? [닫은]

C #의 ASP.NET 응용 프로그램 중 하나에서 특정 데이터 수집 (SubSonic 수집)을 가져와 Excel로 내 보냅니다. 또한 특정 형식으로 Excel 파일을 가져오고 싶습니다. 이 목적으로 사용할 수있는 라이브러리를 찾고 있습니다.

요구 사항 :

  • Excel 2007 파일 (Excel 2003은 64k 개 이상의 행을 지원합니까? 그 이상이 필요합니다.)
  • 서버에 Excel이 필요하지 않습니다
  • 형식화 된 컬렉션을 가져 와서 가능한 경우 Excel에서 숫자 필드를 숫자로 입력하려고합니다.
  • 큰 파일 (100k-10M)과 충분히 잘 작동합니다.
  • GUID를 내보낼 때 충돌하지 않습니다!
  • 많은 비용이 들지 않습니다 (aspose와 같은 엔터프라이즈 라이브러리 없음). 무료는 항상 훌륭하지만 상업용 라이브러리가 될 수 있습니다.

어떤 도서관을 추천하십니까? 대량의 데이터에 사용 했습니까? 다른 해결책이 있습니까?

현재 Excel에서 나중에로드하는 HTML을 생성하는 간단한 도구를 사용하고 있지만 일부 기능이 손실되고 있으며 Excel을로드 할 때 불평합니다. 차트 또는 이와 유사한 것을 생성 할 필요가 없으며 원시 데이터 만 내보내십시오.

플랫 CSV 파일을 생각하고 있지만 Excel은 고객 요구 사항입니다. Excel로 변환하거나 Excel에서 변환하는 도구가 있으면 CSV로 직접 작업 할 수 있습니다. Excel 2007은 XML 기반 (및 압축) 파일 형식이므로 이러한 종류의 라이브러리를 쉽게 찾을 수 있어야합니다. 그러나 나에게 가장 중요한 것은 당신의 의견과 의견입니다.


편집 : 아이러니하게도, 내 의견으로는 가장 많은 표를 얻은 답변에 따르면 최상의 Excel 가져 오기 및 내보내기 라이브러리는 전혀 내보내기가 아닙니다. 모든 시나리오에 해당되는 것은 아니지만 내 경우에 해당됩니다. XLS 파일은 64k 행만 지원합니다. XLSX는 최대 1M을 지원합니다. 내가 시도한 무료 라이브러리는 성능이 좋지 않습니다 (200k 행이있을 때 1 초를로드하는 데 1 초). 유료 XLSX-> CSV 변환 루틴이 필요할 때 제공하는 가치에 비해 가격이 비싸다고 생각하기 때문에 유료 서비스를 사용해 보지 않았습니다.



답변

코드를 가장 잘 제어 할 수 있기 때문에 플랫 CSV 파일에 손을 넣을 것입니다. 행을 읽고 한 번에 하나씩 처리하십시오 (문서를 끝까지 읽고 분할하면 모든 메모리가 소모됩니다-쓰기와 동일하게 스트리밍하십시오).

예, 사용자는 처리하기 전에 CSV로 Excel로 저장해야하지만 페이지에 대한 교육과 명확한 지침을 제공하여 이러한 제한을 극복 할 수 있습니까?

마지막으로 고객에게 내보낼 때 MIME 유형을 text / csv로 설정하면 Excel은 일반적으로 해당 유형에 매핑되므로 사용자에게 ‘Excel 파일’인 것처럼 보입니다.


답변

원래 답변 이후 Open XML SDK를 발견했습니다 . 스프레드 시트 개체를위한 강력한 형식의 클래스를 제공하며 작업하기가 매우 쉬운 것 같습니다. 내 프로젝트 중 하나의 보고서에 사용할 것입니다. 아아, 버전 2.0은 2009 년 말이나 2010 년 말까지 출시되지 않습니다.


답변

새 버전의 ExcelPackage는
http://EPPlus.codeplex.com에 있습니다.

내 응용 프로그램에서 일부 데이터를 Excel- 템플릿 2007로 내 보내야하므로 Excel로 내보내기 기능으로 여전히 싸우고 있습니다.

이 프로젝트는 저에게 괜찮은 것처럼 보이며 개발자는 버그와 문제에 매우 민감합니다.


답변

ClosedXML을 사용 하고 있으며 훌륭하게 작동합니다!

ClosedXML을 사용하면 개발자가 Excel 2007/2010 파일을보다 쉽게 ​​만들 수 있습니다. XML 문서의 번거 로움을 처리하지 않고도 파일을 조작 할 수있는 멋진 객체 지향 방식을 제공합니다 (VBA와 유사). C # 및 VB (Visual Basic)와 같은 모든 .NET 언어에서 사용할 수 있습니다.


답변

SpreadsheetGear for .NET 은 CSV / XLS / XLSX를 읽고 씁니다.

C # 및 VB 소스 코드가 포함 된 라이브 ASP.NET 샘플은 여기에서 확인 하고 여기 에서 무료 평가판을 다운로드 하십시오 .

물론 SpreadsheetGear는 ASP.NET에서 Excel 통합 문서를 가져 오거나 내보내는 가장 좋은 라이브러리라고 생각합니다. 이 페이지 의 오른쪽에서 일부 고객의 의견을 볼 수 있습니다 .

면책 조항 : SpreadsheetGear LLC를 소유하고 있습니다


답변


답변

나는 과거에 Flexcel 을 사용 했는데 훌륭했습니다. 그러나 이것은 프로그래밍 방식으로 Excel 워크 시트를 만들고 업데이트하기위한 것입니다.