IE에서 스프레드 시트를 열린 후 Excel 2003이 매달려있는 것을 어떻게 막을 수 있습니까?

StackOverflow https://stackoverflow.com/questions/201355

문제

IE 7을 통해 Excel 파일을 제공하는 웹 응용 프로그램이 있습니다. IE 7을 통해 파일을 요청하여 URL에서 http를 가져 오는 파일을 요청하여 컨텐츠 유형의 'Application/VND.ms-Excel'으로 데이터를 반환합니다. 그런 다음 iframe에서 스프레드 시트를 엽니 다.

스프레드 시트를 다운로드 할 때 Excel이 이미 열려 있지 않으면 모두 잘 작동합니다. 이 경우 여전히 올바르게 표시되지만 열린 Excel의 인스턴스를 재사용합니다. Iframe이 닫히면 Excel이 매달려 있습니다. Excel은 사용자가 웹 응용 프로그램에서 로그인하거나 다른 유형의 파일을 다운로드하는 경우에만 잠금 해제됩니다.

도구 아래에서 '다른 응용 프로그램 무시'를 켜려고 노력했습니다 | 옵션 | 일반적이지만 문제를 해결하지 못했습니다.

나는 또한 단계를 따랐다 이 답변 ( 연결된 참조 '이 문제는 Excel 2007 Beta 2'에서 다루어졌다. ')는 운이 없었다.

Excel이 매달리지 못하게하는 현재하고 있지 않은 '폐기'단계가 있습니까?

버전 :

Excel 2003 (11.8220.8221) SP3

IE 7.0.5730.11 (업데이트 버전 : 0)

도움이 되었습니까?

해결책 2

추가로 로버트의 대답, 다음 (Java) 코드 라인은 Excel이 교수형을 막는 것을 방지한다는 점 에서이 문제를 해결합니다.

response.setHeader("Content-Disposition", 
    "attachment; filename=\"" + filename + "\"");

NB 'Response'는 httpservletresponse입니다

그러나 Iframe에 표시되는 대신 스프레드 시트를 Excel 창에로드하도록 강요합니다.

업데이트: iframe의 URL을 빈 공간으로 재설정하면 Excel 인스턴스가 배치 되고이 문제를 해결합니다 (필요하지 않고이 문제를 해결합니다. Content-Disposition 변화).

다른 팁

이것이 도움이 될지 확실하지 않지만 ...

나는 오래 전에 비슷한 문제 (즉시 CSV 컨텐츠 생성)가 있었으며, 내가 기억할 수있는 것은 올바른 응답 방법으로 무언가를해야한다는 것입니다. 코드는 다음과 같습니다


Response.Clear();
Response.Buffer = true;

Response.AppendHeader("Content-Disposition", "attachment; filename=export.csv");
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Cache.SetExpires(DateTime.MinValue);
Response.Cache.SetLastModified(DateTime.Now);
Response.Cache.SetMaxAge(new TimeSpan(1));
Response.ContentType = "text/csv";

Response.ContentEncoding = System.Text.Encoding.Unicode;

...
//Some  writing to the Response.OutputStream
...

Response.Flush();

//I am not sure about the following line:
Response.End(); 

불행히도, 이것은 당신의 손에서 완전히 벗어났습니다. 실제로 어떤 버전의 Excel과 어떤 업데이트가 적용되었는지에 따라 다릅니다.

자신의 환경 에서이 문제를 재현 할 수 있었습니까? 그렇지 않은 경우 클라이언트의 컴퓨터에서 문제가 될 수 있습니다. 어떤 옵션이 설치되었는지 또는 엑셀이 패치로 유지되었는지 확인할 수있는 방법이 있습니까?

사무실 자체는 그 후 7이 아니라면 다시 설치 해야하는 것 같습니다.

또한 IFRAME 폐쇄 문제를 조사 할 것입니다. 이 이론을 테스트하려면 iframe을 새 페이지 (iframes없이)에 게시 한 다음 iframes 및 Excel 파일이있는 페이지에 다시 연결할 수 있습니까? 나는 아마도 '당신을위한 작업 솔루션이 될 수는 없지만, Excel, IE7 또는 Iframe 코드가 버그가 있는지 여부를 제거하는 데 도움이 될 것입니다.

이것이 당신이 재현 할 수있는 것입니까, 아니면 고객이 당신에게보고하는 것입니까? 그리고 그것을 사냥하려고합니까?

당신이 제공 한 링크는 여러 모니터와 거래합니다. 랩톱을 도킹 할 때 여러 모니터가 있으며 여러 응용 프로그램이 잘 응답하지 않는다는 것을 알았습니다. 예를 들어, 응용 프로그램이 더 이상 존재하지 않는 데스크탑 공간에서 모달 대화 상자를 열려고 시도하면 (예를 들어, 내 랩톱을 찍은 후 "두 번째 모니터"에서) 가능하기 때문에 응용 프로그램이 잠그게됩니다. '상자에 도착하십시오. 그것이 여기서 일어나는 일일 수 있을까요?

Excel 파일을 얻을 때 사용자에게 어떤 종류의 인증을 요청하는 경우 또 다른 잠재적 인 문제가 발생합니다. SharePoint 사이트에서 Excel은 사용자가 인증하기를 원하며, 모달 인증 대화 상자가 어떻게 든 백그라운드로 밀려 나면 다시 전면에 도달하는 것은 불가능할 수 있습니다. 유일한 방법은 프로세스를 죽이거나 SharePoint 브라우저를 닫는 경우 첫 번째 파일 요청이 끝나기 때문에 유일한 방법입니다.

이것이 도움이되기를 바랍니다.이 중 하나가 당신에게 더 많은 단서를 주면 여기에 게시하면 우리는 이것을 해결할 것입니다.

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