IEでスプレッドシートを開いた後にExcel 2003がハングするのを止めるにはどうすればよいですか?

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

質問

IE 7経由でExcelファイルを提供するWebアプリケーションがあります。コンテンツタイプが 'application / vnd.ms-excel'のデータを返すURLからHTTP GETでファイルを要求します。次に、IFrameでスプレッドシートを開きます。

スプレッドシートのダウンロード時にExcelが既に開いていない限り、これはすべて正常に機能します。この場合、それはまだ正しく表示されますが、開いているExcelのインスタンスを再利用します。 IFrameが閉じられると、Excelがハングします。ユーザーがWebアプリケーションからログアウトした場合、または異なる種類のファイルをダウンロードした場合にのみ、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メソッドが呼び出されて何かをしなければならなかったことだけです。コードはこのようなものでした


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のバージョンと適用された更新に本当に依存します。

ご自身の環境でこの問題を再現できましたか?そうでない場合は、クライアントのコンピューターに問題がある可能性があります。インストールされたオプションまたはインストールされなかったオプションを見つける方法、またはExcelがそのパッチでメンテナンスされているかどうかを確認する方法はありますか?

IE 7ではなくても、オフィス自体を再インストールする必要があるように思えます。

また、iFrameの終了の問題も調べます。この理論をテストするには、iframeを新しいページ(iframeなし)に投稿し、iframeとexcelファイルを含むページにリンクし直しますか?おそらくあなたにとって実用的なソリューションではないことを理解していますが、Excel、IE7、iframeコードにバグがあるかどうかを排除するのに役立つはずです。

これはあなたが再現できるものですか、それとも顧客から報告されたものですか、あなたはそれを追い詰めようとしていますか?

あなたが提供したリンクは複数のモニターを扱います。ラップトップをドッキングすると複数のモニターもあり、いくつかのアプリケーションがうまく応答しないことがわかりました。たとえば、アプリケーションがもう存在しないデスクトップスペースでモーダルダイアログボックスを開こうとすると(たとえば、ラップトップをドッキング解除した後の「セカンドモニタ」に)、アプリケーションがロックされます。ボックスに到達できません。ここで何が起こっているのでしょうか?

ユーザーがExcelファイルを取得するときに何らかの認証をユーザーに求めている場合、別の潜在的な問題が発生します。共有サイトでは、Excelはユーザーに認証を求めており、そのモーダル認証ダイアログが何らかの理由でバックグラウンドにプッシュされると、再び前面に戻ることができなくなる可能性があります。唯一の方法は、プロセスを強制終了するか、SharePointブラウザを閉じた場合です。これにより、最初にファイルへのリクエストが終了します。

これがお役に立てば幸いです。もしこれらのいずれかがあなたにいくつかの手がかりを与えるなら、ここに投稿してください。これを解決します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top