.Net에서 Excel 통합 문서에 액세스해야합니다. 나는 그것을 수행하는 여러 가지 방법에 대해 모두 알고있다. (나는 그들을 blog post에 작성했다.) 네이티브 .Net 구성 요소를 사용하는 것이 가장 빠르다는 것을 알고있다. 그러나 문제는 구성 요소 중 어느 것이 승리하는 것입니까? 벤치마킹 한 사람이 있습니까? 나는 Syncfusion XlsIO를 사용해 왔지만 몇 가지 주요 작업 (예 : 수천 개의 명명 된 범위가 포함 된 통합 문서의 행 삭제)에는 매우 느립니다.누구나 .Net Excel IO 구성 요소 벤치 마크가 있습니까?
답변
적절한 벤치 마크를 수행하지는 않았지만 몇 가지 다른 구성 요소를 사용해 본 결과 SpreadsheetGear은 이전에 사용하던 XlsIO보다 훨씬 빠르다는 것을 알게되었습니다. 나는 이것에 대한 나의 발견의 일부를 썼다. post
원래 질문에 도움을 줄 수는 없지만 OleDbConnection을 사용하여 Excel 파일에 액세스 할 수 있으므로 데이터베이스로 취급 할 수 있습니까? 그런 다음 워크 시트를 DataTable로 읽고 응용 프로그램에서 데이터에 필요한 모든 변경을 수행 한 다음 OleDbConnection을 사용하여 파일에 다시 저장할 수 있습니다.
그렇다. 나는 경험 많은 사람이 아니기 때문에 Syncfusion (그들은 벤치 마크를 공개하지 말 것을 요청한다)에 그들 둘 다를 공표하지 않을 것이다. 테스터 그래서 내 테스트는 아마 약간 결함이 있지만 대부분 당신이 실제로 벤치 마크 무엇이기 때문에 큰 차이를 누가이기 때문에 얼마나.
필자는 "성능"예제 중 하나를 EPPlus에 추가하여 비교했습니다. XLSIO는 행/열 비율 (몇 가지 시도)에 따라 단순한 삽입으로 약 15 % 빨라졌으며 메모리 사용은 매우 유사했습니다. 모든 행을 추가 한 후 매 10 번째 행을 삭제 한 다음 2 행을 새로 추가 한 루틴을 추가했을 때 - XLSIO는 그 상황에서 상당히 느려졌습니다.
일반적인 벤치 마크는 거의 쓸모가 없습니다. 당신이 사용하는 특정 시나리오에서 서로를 상대해야합니다.
나는 EPPlus를 몇 년 동안 사용해 왔지만 그 성능은 좋았지 만, 나는 그걸 외치지 않았다.
더 많은 가치있는 점은 기능, 지원 (Syncfusion이 내 경험에 비추어 볼 때 좋음), 문서화, 소스 코드에 대한 액세스가 중요하다면, 그리고 중요한 점은 API가 사용자에게 얼마나 의미가 있는지, 구문이 상당히 다를 수 있습니다. 예. 명명 된 스타일
XLSIO
headerStyle.BeginUpdate();
workbook.SetPaletteColor(8, System.Drawing.Color.FromArgb(255, 174, 33));
headerStyle.Color = System.Drawing.Color.FromArgb(255, 174, 33);
headerStyle.Font.Bold = true;
headerStyle.Borders[ExcelBordersIndex.EdgeLeft] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeRight] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeTop] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thin;
headerStyle.EndUpdate();
EPPlus
ExcelNamedStyleXml headerStyle = xlPackage.Workbook.Styles.CreateNamedStyle("HeaderStyle");
headerStyle.Style.Fill.PatternType = ExcelFillStyle.Solid; // <== needed or BackgroundColor throws an exception
headerStyle.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.FromArgb(255, 174, 33));
headerStyle.Style.Font.Bold = true;
headerStyle.Style.Border.Left.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Right.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Top.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
- 1. SVN 벤치 마크가 있습니까?
- 2. Excel .net 구성 요소?
- 3. J2ME 앱을 Android로 변환하는 J2MEPolish에 대한 벤치 마크가 있습니까?
- 4. Perl 5.10.0의 성능 회귀가 얼마나 나쁜지에 대한 벤치 마크가 있습니까?
- 5. Java LZO 대 Deflate vs. Gzip의 벤치 마크가 있습니까?
- 6. 이러한 특정 기준을 충족하는 PHP 벤치 마크가 있습니까?
- 7. Classic ASP 용 차트가있는 Excel 구성 요소
- 8. .NET 통신 구성 요소
- 9. .NET 시각적 구성 요소
- 10. (Pathinfo와 fnmatch 파트 2) Windows와 Mac에서 속도 벤치 마크가 역전되었습니다.
- 11. 데이터 액세스 구성 요소 .net
- 12. 프리웨어 .net map 구성 요소?
- 13. .NET Query Builder 구성 요소
- 14. PDF로 변환하기위한 .NET 구성 요소
- 15. 권장 사항 - 소프트웨어/구성 요소 예약 .Net
- 16. .NET 플랫폼의 구성 요소 공유
- 17. DELPHI 2009의 .NET 구성 요소
- 18. .NET COM 구성 요소 만들기
- 19. .NET 구성 요소 모델 설명
- 20. .NET CD 굽기 구성 요소
- 21. Excel 차트 구성 요소 권장 사항
- 22. cakephp excel/csv 내보내기 구성 요소
- 23. .NET 용 VNC 서버 구성 요소
- 24. .NET 구성 요소 성능 모니터링 및보고
- 25. 스캔 된 설문지 처리를위한 .Net 구성 요소?
- 26. 응용 프로그램에서 Excel 구성 요소 작동 Windows 서비스가 아닌
- 27. 모노 용 닷넷 구성 요소
- 28. 인공 신경망 벤치 마크
- 29. 가상 시스템 벤치 마크
- 30. .NET 응용 프로그램에서 COM 구성 요소 확인
폴, 감사합니다. 나는 그 사실을 알고 있었다. (아마도 나는 그것을 블로그 포스트에 포함시켜야한다.) 그러나이 경우에는 실제로 필요한 데이터가 아닙니다. 셀 스타일 및 서식 등 Sam –