#PHPWordとは
PHPOfficeにはPHPSpreadsheetやPHPPowerpointなどが存在しますが、今回はPHPWordを使ってみました。
PHPWordは文字通り、PHPでWord文書を作成することができるライブラリです。
#インストール
composerでPhpWordをインストールします。
composer require phpoffice/phpword
#PHPの出力
<?php
// インスタンス生成
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Wordのセクションを追加
$section = $phpWord->createSection();
// 文字列を追加(オプションで書式設定追加)
$section->addText(
'PHPWord使ってみた',
['name' => 'MS ゴシック', 'size' => 14, 'color' => '000000']
);
// テーブルのスタイルを指定
$tableStyle = array(
'borderColor' => '000000',
'borderSize' => 6,
'cellMargin' => 50,
'size' => 9
);
// テーブルを追加
$table = $section->addTable($tableStyle);
$table->addRow();
// テーブル内のセルに文字列追加
$table->addCell(2000, ['bgColor' => 'FFFFFF'])->addText(
'テスト',
['name' => 'MS ゴシック', 'size' => 9, 'color' => '000000']
);
// 1つのセル内に複数行の文字列を追加
$multiTable = $table->addCell(2000, ['bgColor' => 'FFFFFF']);
$multiTable->addText(
'① 1行目',
['name' => 'MS ゴシック', 'size' => 9, 'color' => '000000']
);
$multiTable->addText(
'② 2行目',
['name' => 'MS ゴシック', 'size' => 9, 'color' => '000000']
);
$multiTable->addText(
'③ 3行目',
['name' => 'MS ゴシック', 'size' => 9, 'color' => '000000']
);
// Word生成
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
// 生成したファイルを保存(今回のファイル名はtest.docxとした)
$objWriter->save('test.docx');
#まとめ
今回は、Wordファイルの生成を行い、フォントスタイルの指定やテーブルの作成も行いました。
他の書式設定やレイアウトの変更に関しては、以下をご確認ください。
https://phpword.readthedocs.io/en/latest/
次回は、今回生成したWordファイルをGoogle Driveへアップロードする方法を取り扱います。