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를 소유하고 있습니다
답변
Excel 2003 오픈 소스 용 NPOI
http://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html