4

xlsx ファイルは IE ではダウンロードされませんが、Firefox では正しく動作します。コードは次のとおりです。

$objPHPExcel->setActiveSheetIndex(0);

// Redirect output to a client’s web browser (Excel2007)

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header("Content-Disposition: attachment;filename='Monthly-Report-$month-$year'");

header('Cache-Control: max-age=0');



$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('php://output');
//$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
exit;

Internet Explorer が xlsx.php をダウンロードできないため、IE にエラー メッセージが表示されます (これはコードが記述されている私の php ファイルです) Internet Explorer はこのサイトを開くことができませんでした

4

2 に答える 2

3

はい、HTTPS を使用している場合、Internet Explorer で問題が発生します。ファイルのダウンロードの処理中に、応答からプラグマ ヘッダーを削除する必要があります。

ダウンロードする前に、次のコードを入力してください。

header("Pragma: ");

これは、安全な http で実行している場合にのみ当てはまります。そうでない場合はお知らせください。

IE の http で完璧に動作していたときに、https で同じ問題に直面していたときに間違っていた私のブログ投稿で、より多くの説明を見つけることができます。

http://blogs.digitss.com/programming/internet-explorer-was-not-able-to-open-this-internet-site-the-requested-site-is-either-unavailable-or-cannot-be-見つかった/

これが役立つことを願っています。

于 2012-05-30T09:01:45.900 に答える
-1

下位互換性application/vnd.ms-excelのために代わりに使用します。application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Web サーバーの MIME 設定を変更する権利がある場合は、 AddType application/vnd.openxmlformats .docx .pptx .xlsx AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx たとえば apache conf に追加する必要があります。

Monthly-Report-$month-$year.xlsxその後、代わりにファイル名を変更してください。

于 2012-05-30T08:26:13.943 に答える