2009-11-25 6 views
3

본인은 상호 운용성 API는 엉망이라고 꽤 unbelieavble 찾을ExcelDNA은/관리 XLL/엑셀 Interop를

방법의 많은에 대한 의견이 없습니다 매우 가난

할 다른 사람을 가지고 것을 보인다 C#에서 Exel을 제어하기 위해 어떤 라이브러리를 사용합니까?

답변

4

VSTO/COM Interop 기술의 명백한 실용적인 문제는 워크 시트와 관리 코드간에 전환 할 때 발생하는 오버 헤드입니다. (그리고 VSTO의 도움없이 Excel과 대화하려고한다면, 그렇게하지 말고 엄청난 골치 거리를 피하십시오.) VSTO는 관리되는 환경에서 Excel 개체 모델과 비슷한 수준의 아날로그를 제공하는 데 상당히 도움이되었다고 생각했습니다. 확실히 .NET Interop에 대해 더 많은 것을 이해하려고 많은 시간을 할애 할 필요가 없었습니다.

오랜 시간 실행되는 자동화 작업의 경우 오버 헤드가별로 문제가되지 않으므로 VBA 자동화와 비슷한 우려가 적용됩니다. 최상의 성능을 얻으려면 가능한 한 인터페이스에서 호출을 줄이십시오.

작고 빠른 워크 시트 함수형 작업 (예 : XLL을 작성할 수있는 일종의 작업)에서는 오버 헤드가 킬러가 될 수 있습니다. ExcelDNA은 XLL 모델을 통해 관리되는 코드를 제공하는 훌륭한 방법 인 것처럼 보입니다.

+1

내가 엑셀 ​​템플릿을 사용하여 C# 코드 링크 그래서 지금 한 달 동안 ExcelDNA를 사용하거나 봤는데 소유 (이전의 VBA/Excel에서 전적으로 수행을하지만, 다루기가되었다). 지금까지 내가 필요로하는 모든 것을 해냈습니다. 그러나 지금까지 제한된 문서를 알고 있어야합니다 (모든 것을 여러분에게 주어질 수는 없습니다!) 그리고 지금까지는 32 비트 시스템에서만 작동합니다. –

+3

Excel-DNA 최신 버전 (0.29, 2011 년 5 월 28 일 릴리스)은 64 비트 버전의 Excel 2010도 지원합니다. – Govert

0

은 .NET 용 Excel 호환 스프레드 시트 구성 요소입니다. 이 아니기 때문에 Excel을 제어 할 수 있지만, ASP.NET/WinForms/etc ...에 대한 Excel 호환 스프레드 시트 엔진을 제공합니다 ... 작성, 읽기, 수정,보기, 편집, 서식 지정, 계산, 인쇄 및 .NET에서 Excel 통합 문서 및 차트를 작성하십시오. SpreadsheetGear는 100 % 안전 관리 코드이므로 Excel과 같은 호출 당 성능 저하는 없습니다.

SpreadsheetGear API는 Excel API와 매우 비슷합니다. 단, 많은 API가 더 강력하게 입력되어 Excel API보다 C#에서 사용하는 경향이 더 큽니다.

기능 목록 here, VB 용 라이브보고/차트/대시 보드/계산 샘플 및 here을 볼 수 있으며 무료 시험판 here을 다운로드 할 수 있습니다.

면책 조항 : 나는하는 SpreadsheetGear LLC

관련 문제