2014-10-07 6 views
2

실제로 열린 통합 문서를 표시하지 않고 Excel 통합 문서에서 데이터를 가져 오려고합니다.interop을 사용하여 백그라운드에서 Excel 통합 문서 열기

내가 이전 프로젝트에 다음 코드를 사용했다하고 일했다 맹세 할 수

:

var excelApp = new Excel.Application { Visible = false }; 
var workbook = excelApp.Workbooks.Open(filePath); 

통합 문서가이 응용 프로그램에 대한 필요가 사용자에게 표시됩니다 열립니다 불행하게도.

이 프로젝트에서 Microsoft Excel 15.0 Object Library를 사용하고 있습니다. 이전에 버전 12 또는 13이라고 생각 했었는데이 문제가 있거나 메모리가 약해지고 코드가 올바르지 않습니까?

+2

"불행하게도 통합 문서 (excelApp는 Excel 응용 프로그램에 사용되는 변수의 이름 인) 이 응용 프로그램에 대해 불필요한 사용자에게 표시됩니다. " 왜 사용자가 그것을보고 싶지 않다면 Excel을 열 것입니까? 이것은 사용자를 트롤하려고하는 당신의 냄새입니다. – Aron

+1

@Aron 나는 확신하지 못한다. Excel 통합 문서에서 데이터를 구문 분석하는 무언가를 쓰고 있습니다. 사용자가 통합 문서의 파일 경로를 선택하면 내 응용 프로그램이 필요한 데이터를 구문 분석하고 데이터베이스에 추가합니다. 사악한 행위는 없습니다. –

+0

그런 경우에는 Excel을 실행하면 안됩니다. OpenXML을 사용하십시오. – Aron

답변

0

... 나는이 오래 알고 있지만 경우 아무도 아직이 답변을 필요로 그냥

excelApp.Visible = false; 

+0

'Excel.Application {Visible = false};와'excelApp.Visible = false;'의 차이점은 무엇입니까? – Alex

+0

이것은 "개체 이니셜 라이저"라는 바로 가기입니다. –