0

PHP用のExcelWriter(XML)を使用してユーザーがダウンロードできるExcelファイルを作成するPHPを使用してWebアプリを構築しています。ライブラリのソースコードを確認しましたが、生成されたXMLを標準出力にエコーするだけです。生成されるファイルはXMLファイルですが、特に「.xls」拡張子の付いた名前を付けて、ダウンロード後にエンドユーザーがダブルクリックすると、システムでExcelが起動してファイルが開くようにします。正常に。

これは、Firefox、Chrome、IEでファイルをダウンロードする場合は正しく機能しますが、Safariでは機能しません。たとえば、ファイルの名前を「File.xls」に設定した場合、これはダウンロードされるファイルの名前です。しかし、Safariでは、ファイルの名前は「File.xls.xml」になります。

サーバーはMacOSX上でApacheを実行しています。問題はサーバー上のMIMEタイプに関係していると推測しているので、それが問題になるかもしれないと思いましたが、まったくわかりません。おそらく、ページに表示されるリンクを使用して何かを行うことができますか、それともApacheの構成ファイルを編集する必要がありますか?どんな助けでも大歓迎です。

4

1 に答える 1

0

あなたは正しいかもしれません、それは設定が必要なMIMEタイプである可能性があります。

入れてみてください

header("Content-Type: application/vnd.ms-excel");

出力コードの前に、ブラウザにデータをExcelファイルとして表示させる必要があります。

コードですでにContent-Typeが設定されていて、競合している場合は、スクリプトで「Content-Type」を検索して変更してみてください。

また、XLSXファイルの場合は、別のMIMEタイプがあります-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

于 2011-09-15T02:18:27.687 に答える