テンプレートの読込と出力

Demo

sample.phpExcelテンプレートファイル(template.xlsx)

PHP

PHPindex.phpdownload

<?php

	require 'vendor/autoload.php';

	use PhpOffice\PhpSpreadsheet\Spreadsheet;

	use PhpOffice\PhpSpreadsheet\Reader\Xls as XlsReader;		//xlsファイルの読み込み

	use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;	//xlsxファイルの読み込み

	use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;	//xlsxファイルの出力

	use PhpOffice\PhpSpreadsheet\Style\Border;					//セルの枠線描画

	use PhpOffice\PhpSpreadsheet\Style\Alignment;				//テキストの配置指定(左寄せ, 中央寄せ, 右寄せ)

	/* スプレッドシートを読み込む */
	$reader = new XlsxReader();

	$spreadsheet = $reader->load('template.xlsx');		//.xlsxテンプレートファイルの読込

	$sheet = $spreadsheet->getSheetByName('Sheet1');	//任意のシートを取得

	/* 値とセルを指定 */
	$sheet->setCellValue('A2', 'りんご');

	$sheet->setCellValue('A3', 'いちご');

	$sheet->setCellValue('A4', 'もも');

	/* Excelファイルのダウンロード */
	$fileName = "sample.xlsx";	//ダウンロード時のファイル名を設定

	header("Content-Description: File Transfer");

	header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');	//EXCELファイル( .xlsx OFFICE 2007以降)

	header('Content-Disposition: attachment; filename="'.$fileName.'"');	//ダウンロード時のファイル名をセット

	header('Cache-Control: no-store, max-age=0');	//新しいリソースのキャッシュを防止、キャッシュのクリア

	ob_end_clean();	//バッファ消去

	$writer = new XlsxWriter($spreadsheet);

	$writer->save('php://output');
?>
© 2025 wayday