문제

이것은 많은 질문일 수도 있고 투표에서 부결될 수도 있지만 완전히 실망스럽습니다.

개발에 SQL Server를 사용하면 데이터 액세스가 빠르고 효율적이지만 COM을 사용하여 Excel과 통신하면 속도가 매우 느려집니다.

ADO, ADO.NET, LINQ, Entity Framework, Astoria(ADO.NET 데이터 서비스) 등 어떤 데이터 액세스 기술을 사용하든 상관없이 모두 Excel 자동화보다 빠릅니다.

통합 문서의 "A1" 셀에 있는 데이터만 원하는 경우 하나의 데이터 요소를 얻으려면 Excel.Application, Excel.Workbook, Excel.Worksheet 및 Excel.Range 개체가 필요합니다.

WTF, Excel과 대화하는 것보다 SQL Server와 대화하는 것이 더 효율적인 이유는 무엇입니까?Excel은 로컬이고 SQL Server는 로컬이 아닐 수도 있습니다.

Tia Chris

도움이 되었습니까?

해결책

대화 형 애플리케이션으로 설계된 큰 모 놀리 식 실행 파일을 회전시키는 것은 목적을 위해 설계된 애플리케이션에 빠른 네트워크를 통과하는 것보다 느리기 때문입니다.

다른 팁

Excel과 대화해야 할 때마다 서버는 실제로 Excel 프로그램을 시작해야합니다. 숨겨진 데스크탑에 있지만 여전히 전체 프로그램을 시작하고 있습니다. 사이트를 사용하는 사람이 여러 명인 경우 Excel의 여러 인스턴스이기도합니다. 그리고 그들이 같은 통합 문서를 공유하고 있다면 더 나쁩니다.

SQL Server는 손에 있습니다 이미 실행 중입니다. 그냥 연결하고 가십시오. 이런 종류의 것을 위해 만들어졌습니다. Excel은 그렇지 않았습니다.

Excel은 2007년에도 여전히 com 상호 운용성입니다.하지만 도우미가 너무 많아

Excel-성능-새-백서-사용 가능

스프레드시트기어

엑셀패키지.codeplex

이것은 SQL Server가 서버 데이터로 설계되었으며 Excel은 그렇지 않습니다. 네트워크 대기 시간은 SQL Server에서 1000 년대의 수백만 행을 다시 시작할 때까지 여기서는 여기에 나오지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top