4

ExcelユーザーがExcelが提供するWebクエリ機能を介して提供するデータを使用できるようにするページを実装しようとしています。

HTTPを使用している限り、すべてうまく機能しています(BASICユーザー認証でも機能します)。

これをHTTPSに切り替えるとすぐに、Excelはデータをダウンロードしなくなります(完全に公式のSSL証明書であるため、自己署名証明書でも問題ありません)。

このMicrosoftナレッジベースの記事では、問題についてほとんど説明しています。

今、私が不思議に思う部分はこれです:

この問題は、セキュリティで保護されたWebサーバーの設定が原因でExcelが接続を開始できない場合に発生します。

これは、これを機能させる方法があることを意味しているようですが私が見る必要のある方向性についてのヒントすらありません。

「安全なWebサーバーの設定のため」は額面通りに受け取られるべきですか、それとも「適切なソフトウェアを購入しない限り、これは機能しません」というMicrosoftの言い方ですか。

4

2 に答える 2

6

私は問題を見つけたようです:

ページのHTTPヘッダーでデータをキャッシュしてはならず、HTTPS経由で転送される場合(HTTP経由で送信された同じヘッダーは無視されるようです)、MSExcelはページ上のデータを使用できないようです。

したがって、これらのヘッダーを送信しないことにより、Excelは突然データにアクセスできるようになりました。

Pragma: no-cache
Cache-Control: no-cache
于 2010-02-05T12:41:07.077 に答える
1

Joachimの答えは私にとって問題を解決しました。サーバー側のWebフレームワーク(PHP5 / Expression Engine 1.6.7)は、すべての要求でPragma:no-cacheを送信していました(私のWebクエリ結果ページでPragma:publicが設定されていても、フレームワークがそれを上書きしたと思います)。削除すると、すべてが機能し始めました。

プラグマのIEおよびOfficeの動作:キャッシュなしは、MS KBの記事で説明されているものと同様です:InternetExplorerはSSLWebサイトからOfficeドキュメントを開くことができません

このキャッシングチュートリアルの警告:プラグマno-cache非推奨も参照してください。これを念頭に置いて、ExpressionEngineの出力とデバッグ>HTTPページヘッダーの生成を設定しますか?オプションをいいえにします(他のフレームワークにも同様の構成オプションがあります)。しかし、サイトの残りの部分を正常にキャッシュするには、他の自動的に送信されるヘッダーのいくつかが必要だったので、フレームワークのソースコードにPragma:no-cache行をコメントアウトすることにしました。

Webサーバー/フレームワークによって送信されるHTTPヘッダーを変更するオプションがない場合、MS-Office-client-side-onlyオプションは、VBAマクロを使用してInternetExplorerコンポーネントを自動化してOfficeのキャッシュ動作を回避することです。 。開始点として、Microsoft OfficeExcel2003でWebクエリを使用するさまざまな方法を参照してください。

于 2010-07-23T14:16:55.927 に答える