2011.
12.
04
22:06:01
この記事は「PHP、PHPExcelでExcel出力(ファイル保存)」の内容を
理解していることを前提に書いていますので、
よく分からん方はそちらからご参照下さいm(__)m
さて、「PHP、PHPExcelでExcel出力(ファイル保存)」で
PHPでのExcelファイル出力の方法を書いた訳ですが、
PHPってことは大部分がWebシステムじゃないですか。
ぶっちゃけどっかにファイル保存する機会より
ダウンロードさせる方が圧倒的に多いですよね(--?
と言う訳でExcel出力&ダウンロードのサンプルφ(--)
<?php
//ライブラリ読み込み
require_once './Classes/PHPExcel.php';
require_once './Classes/PHPExcel/IOFactory.php';
// PHPExcelオブジェクトを生成する
$book = new PHPExcel();
//シート設定
$book->setActiveSheetIndex(0);
$sheet = $book->getActiveSheet();
$sheet->setTitle('sheet name'); //シート名指定
// セルに値を入れる
$sheet->setCellValue('A1', 'hoge');
$sheet->setCellValue('A2', 'あいうえおかきくけこさしすせそ');
// Excel2003形式で出力する
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="o.xls"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($book, "Excel5");
$writer->save('php://output');
?>
えっ?前の記事と殆ど同じじゃねーか!ですって(--?
わーはっは、ばれちゃーしょうがない(^◇^;
違うのは
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="o.xls"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($book, "Excel5");
$writer->save('php://output');
の部分だけですね、ハイ。
要はHTTPヘッダで「Excel送りつけるぜー!」って宣言して
Excelの内容を出力バッファへ書き込んでいるだけです。
内容の流し込み先が違うだけ。
ちなみに「php://output」は
書き込み専用のストリームで、 print() および echo() と同じ方法での
出力バッファへの書き込みを許可します
だそーです。
PHPマニュアルより。
理解していることを前提に書いていますので、
よく分からん方はそちらからご参照下さいm(__)m
さて、「PHP、PHPExcelでExcel出力(ファイル保存)」で
PHPでのExcelファイル出力の方法を書いた訳ですが、
PHPってことは大部分がWebシステムじゃないですか。
ぶっちゃけどっかにファイル保存する機会より
ダウンロードさせる方が圧倒的に多いですよね(--?
と言う訳でExcel出力&ダウンロードのサンプルφ(--)
<?php
//ライブラリ読み込み
require_once './Classes/PHPExcel.php';
require_once './Classes/PHPExcel/IOFactory.php';
// PHPExcelオブジェクトを生成する
$book = new PHPExcel();
//シート設定
$book->setActiveSheetIndex(0);
$sheet = $book->getActiveSheet();
$sheet->setTitle('sheet name'); //シート名指定
// セルに値を入れる
$sheet->setCellValue('A1', 'hoge');
$sheet->setCellValue('A2', 'あいうえおかきくけこさしすせそ');
// Excel2003形式で出力する
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="o.xls"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($book, "Excel5");
$writer->save('php://output');
?>
えっ?前の記事と殆ど同じじゃねーか!ですって(--?
わーはっは、ばれちゃーしょうがない(^◇^;
違うのは
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="o.xls"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($book, "Excel5");
$writer->save('php://output');
の部分だけですね、ハイ。
要はHTTPヘッダで「Excel送りつけるぜー!」って宣言して
Excelの内容を出力バッファへ書き込んでいるだけです。
内容の流し込み先が違うだけ。
ちなみに「php://output」は
書き込み専用のストリームで、 print() および echo() と同じ方法での
出力バッファへの書き込みを許可します
だそーです。
PHPマニュアルより。