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

Demo

sample.phpWordテンプレートファイル(template.docx)

PHP

PHPindex.phpdownload

<?php

	require_once 'vendor/autoload.php';

	$phpWord = new \PhpOffice\PhpWord\PhpWord();

	$phpWord = $phpWord->loadTemplate('template.docx');//テンプレートファイル読み込み

	$fileName = "sample.docx";	//ダウンロード時のファイル名

	$phpWord->setValue('send_date', '令和2年10月20日');	//送信日

	$phpWord->setValue('destination1', '架空株式会社');	//送信先(企業名)

	$phpWord->setValue('destination2', '架空 太郎');	//送信先(氏名)

	$phpWord->setValue('source1', '有限会社 架空');		//送信元(企業名)

	$phpWord->setValue('source2', '架空 次郎');			//送信元(氏名)

	$phpWord->setValue('doc_title', '資料送付のお知らせ');//文書タイトル

	$phpWord->setValue('contact_info_company1', '有限会社 架空');	//連絡先(企業名)

	$phpWord->setValue('contact_info_company2', '架空 三郎');		//連絡先(氏名)

	$phpWord->setValue('contact_info_postal_code', '012-3456');	//連絡先(郵便番号)

	$phpWord->setValue('contact_info_address', '〇〇県〇〇市〇〇1丁目2-3');	//連絡先(住所)

	$phpWord->setValue('contact_info_tel', '012-345-6789');		//連絡先(TEL)

	$phpWord->setValue('contact_info_fax', '012-345-6780');		//連絡先(FAX)

	$phpWord->setValue('contact_info_email', 'info@example.com');//連絡先(e-mail)

	/* Wordファイルのダウンロード */
	header("Content-Description: File Transfer");

	header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');	//Wordファイル( .docx OFFICE 2007以降)

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

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

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

	$phpWord->saveAs('php://output');
?>
© 2025 wayday