2009-10-04 6 views
1

C# 응용 프로그램을 통해 Excel 시트를 열려고 할 때 이상한 문제가 있습니다. 예를 들어 templatePathC:\template.xls 인 동안 다음과 같은 것을 사용합니다.C에서 Excel 통합 문서 열기

Workbook excel_workbook = this.excel.Workbooks.Open(templatePath, 
mMissingValue, false, mMissingValue, mMissingValue, mMissingValue, mMissingValue, 
mMissingValue, mMissingValue, mMissingValue, mMissingValue, 
mMissingValue, mMissingValue, mMissingValue, mMissingValue); 

그런 다음 일부 작업에는 excel_workbook 개체가 관련됩니다. 문제는 템플릿이 아닌 excel_workbook.name = template1이며 저장을 클릭하면 Save As 대화 상자가 표시됩니다. 이 동작으로 인해 비즈니스 관점에서 워크 플로가 중단됩니다.

누구에게 도움이 될까요? 다른 시트가 제대로 작동하고 있음을 나타냅니다.

답변

0

엑셀에서 대화 상자를 표시하지 않도록하는 방법을 모르겠지만 또는 Excel 자동화 대신 다른 .NET 구성 요소를 사용하여 이러한 문제를 피할 수 있습니다. 성능 향상도 얻을 수 있습니다.

실습 ASP.NET 샘플 here을 확인하고 사용해 보려면 무료 평가판 here을 다운로드 할 수 있습니다.

면책 조항 : 나는 자신이 소유하는 SpreadsheetGear LLC 대화 상자 창을 표시하지 엑셀 (또는 다른 Office 응용 프로그램)을 방지 할 수있는 방법이 없습니다

+0

고맙습니다. 답변을 드리기 위해 고맙습니다.하지만 제가 묻고 싶은 것은 아닙니다. 문제는 열린 통합 문서의 경로에있는 시트의 이름과 동일한 이름이지만 접미사가 1 인 것입니다. 즉, 인스턴스가 다른 것을 의미하며 저장을 클릭하면 저장 대화 상자의 팝업이 표시됩니다. ...) 파일을 자동으로 저장하는 대신. –

0

. 실제로 Microsoft는 서버 쪽 시나리오에서 Office 응용 프로그램을 사용하지 않는 것이 좋습니다. 시장에서 동일한 작업을 수행하는 훌륭한 타사 구성 요소가 있습니다 (또는 더 좋음). 비교 테스트에서 나는 Spire.XLS for .NET을 다음과 같은 관점에서 수행했습니다. 1. 읽기/쓰기가 임 2. 임베딩 이미지 지원 3. 결과 크기 Excel 파일이 매우 작음 4. 편리한 API와 매우 유사 오피스의 하나 5. 멀티 스레드 및 멀티 프로세스 지원

가 더 읽기 : http://www.e-iceblue.com/xls/xlsintro.htm

0

당신은 명시 적으로 '읽기 전용'매개 변수 'false'로 전달되어, 그래서이 행동은 이상합니다.

I가 여기에 두 가지 아이디어 :

(1) 통합 문서는 .xls 파일이 아닌 .XLT 있는지 확인 있습니까? "C : \ template.xlt"대신 "C : \ template.xlt"와 같은 .XLT 인 경우 통합 문서가 템플릿으로 열려 있기 때문에 표시되는 동작은 NORMAL입니다. 확장명을 ".XLS"로 변경하면 원하는 동작이 수행됩니다.

(2) 원하는대로 작동하지 않으면 프로 시저를 변경하여 'Workbooks.Open'을 호출 한 다음 'Workbooks.SaveAs'를 즉시 호출하고 통합 문서 이름 및/또는 파일 경로 위치를 설정하십시오 원하는 위치로 이동하십시오. 그런 다음 사용자가 (또는 코드를 통해) '저장'을 호출하면 다른 이름으로 저장 대화 상자를 열지 않고 통합 문서를 저장합니다.

업데이트

좋아, 다른 생각은 :

수동으로 통합 문서를 열어보십시오 한 다음 저장하려고합니다. 똑같은 문제가 있습니까? 이 통합 문서가 열려있는 유일한 통합 문서이거나 다른 사람이 열려있을 때만 발생합니까? 통합 문서 도움말의 이름을 바꿉니 까?

결론은 기괴한 부패와 같은 것입니다. 위의 어느 것도 흥미롭지 않거나 아마 그렇다고하더라도, 아마도 새로운 통합 문서로 다시 시작하고 싶을 것입니다. 빈 통합 문서부터 시작하여 동일한 이름을 지정하고 동일한 위치에 배치하십시오. 적어도 지금은 작동하고 있습니까 (개방 및 저장 측면에서). 그런 다음 데이터 및 기타 측면을 추가하십시오. 그것은 작동하지만,이 통합 문서를 다시 빌드하여 작동하게해야합니다.

- 마이크

+0

감사합니다 마이크 (1) .XLS가 아닌 .XLT (2) 응용 프로그램이 이미 많은 사용자에게 배포되어 있고 코드에서 변경하기가 쉽지 않은데 새 버전을 다시 배포해야합니다. . 이상한 점은 다른 시트에서 제대로 작동하고 있다는 것입니다. 그래서 문제의 근본 원인 궁금하네요 코드를 변경 whithout 시트 자체에서 해결할 수있는 해결 방법은 무엇입니까? –

+0

이것은 정말 기괴한 행동입니다. 정말 일종의 부패처럼 들립니다. 여기에 멋진 아이디어는 없지만 위의 "업데이트"섹션에 몇 가지 아이디어를 추가했습니다. –

관련 문제