私はサーバーを持っています。エクセル(XLS)ファイルをダウンロードする機能があります。Jasper でレポートを作成し、バイナリ データをレスポンス ストリームに送信します。ContentType を "application/vnd.ms-excel;charset=windows-1252" に設定したため、ブラウザーはファイルの種類を認識し、ユーザーにファイルを直接開くか、ローカル ディスクにファイルとして保存するように提案できます。
ユーザーが IE から直接ファイルを開く (IE でのみ再現可能) 場合、ピボット テーブルを作成できません。「データ ソース参照が無効です」というエラーが表示されます。
ProcMonでログを収集し、ファイル対処のアルゴリズムは次のとおりです。
- IE は、HTTP ヘッダーにあるような名前の IE 一時ストレージにファイルをダウンロードします。たとえば、exportToExclel_2012.xls
- IE は、-Embedding 属性を使用して Excel プロセスを実行します。
- Excel がexportToExclel_2012.xlsというタイトルで開きます。
- 生成された名前の一時ストレージを所有する Excel コピー ファイル。たとえば、30A27D77.xlsです。
- IE 一時ファイル ( exportToExclel_2012.xls ) を閉じます。
- Excel一時ファイル(xls形式を解析しているようです)でいくつかのファイル操作を行います。Excel 一時ファイル30A27D77.xlsを閉じます。
そのため、30A27D77.xls ファイルから exportToExclel_2012.xls への参照が存在するようです (Excel でexportToExclel_2012.xlsというタイトルを使用しているため)。
質問: 次の調査手順を教えてください。または、サーバー側がピボット テーブルの動作に影響を与えないという証拠をいくつか示してください。