1. ホーム
  2. php

[解決済み] phpexcelをダウンロードする

2023-08-19 03:16:13

質問

こんにちは、私はphpxcelの初心者です。 私は私のサーバーに保存することなく、クライアントのダウンロードに作成したExcelを送信するか、または彼がそれをダウンロードした後すぐにそれを削除するいくつかの方法があるかどうか疑問に思っていた。

私は、私が作成したばかりのExcelで、ユーザーにポップアップを与えるページ上の"エクスポートボタン"を作成しようとしています。

今、私はテーブルを作成した後、私はそうします。

$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);

$objXLS->getActiveSheet()->setTitle('Test Stats');

$objXLS->setActiveSheetIndex(0);

$objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5');
$objWriter->save(__DIR__."/test1.xls");

しかし、これは私のサーバーに保存されます。

ありがとうございます

どのように解決するのですか?

ファイルに保存する代わりに php://output ドックス :

$objWriter->save('php://output');

これでブラウザにAS-ISで送信されます。

あなたはいくつかの ヘッダを追加します。 ドキュメント のようなヘッダを最初に付けることで、ブラウザはそのファイルがどのタイプで、どのような名前(ファイル名)であるべきかを知ることができます。

// We'll be outputting an excel file
header('Content-type: application/vnd.ms-excel');

// It will be called file.xls
header('Content-Disposition: attachment; filename="file.xls"');

// Write file to the browser
$objWriter->save('php://output');

まずヘッダーを作成し、次に保存を行います。エクセルのヘッダーについては、次の質問も参照してください。 ExcelドキュメントのMIMEタイプの設定 .