PhpSpreadSheet で罫線を書く方法

こんにちは!トビログ管理人のとびうおです!

今回は、PhpSpreadSheetで罫線を引く方法について解説していこうと思います!

applyFromArray()を使う

PhpSpreadSheetで罫線を引くにはapplyFromArray()という関数を使います。

ただ、どのような罫線を引くかというのを設定も必要です。

use PhpOffice\PhpSpreadsheet\Style\Border;


$styleArray = [
    'borders' => [
        'allBorders' => [
            'borderStyle' => Border::BORDER_THIN,
        ],
    ],
];

$sheet->getStyle('B2:C5')->applyFromArray($styleArray);

これで、B2-C5で罫線を引くことができます。

なおこの時のBorderのclassは

PhpOffice\PhpSpreadsheet\Style\Border;

です。

PhpSpreadSheet で罫線を書く方法
PhpSpreadSheet で罫線を書く方法

この罫線の色等を変更することができます!

赤色の罫線にする

赤色にしたい場合は、以下のように設定する変数に書き加えます。

 $styleArray = [
            'borders' => [
                'allBorders' => [
                    'borderStyle' => Border::BORDER_THIN,
                    'color' => ['argb' => 'FFFF0000'],
                ],
            ],
        ];

$sheet->getStyle('B2:C5')->applyFromArray($styleArray);

このようにすると、

PhpSpreadSheet で罫線を書く方法
PhpSpreadSheet で罫線を書く方法

赤色の罫線を引くことができました!

その他の色々な設定

これ以外にも、薄めの罫線や、太めの罫線など色々な設定があります!

    const BORDER_NONE = 'none';
    const BORDER_DASHDOT = 'dashDot';
    const BORDER_DASHDOTDOT = 'dashDotDot';
    const BORDER_DASHED = 'dashed';
    const BORDER_DOTTED = 'dotted';
    const BORDER_DOUBLE = 'double';
    const BORDER_HAIR = 'hair';
    const BORDER_MEDIUM = 'medium';
    const BORDER_MEDIUMDASHDOT = 'mediumDashDot';
    const BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot';
    const BORDER_MEDIUMDASHED = 'mediumDashed';
    const BORDER_SLANTDASHDOT = 'slantDashDot';
    const BORDER_THICK = 'thick';
    const BORDER_THIN = 'thin';
とびうお
とびうお

BORDERのクラスだけで

この量の設定ができます!

これらを使って、PhpSpreadSheetを活用していきましょう!

まとめ

PhpSpreadSheetではapplyFromArrayという関数を使うことによって、簡単に罫線を引くことができます!

このapplyFromArray()という関数、実は罫線以外にもできるので、それに関しては後日また記事を書こうと思います!!

とびうお
とびうお

PhpSpreadSheetを使いこなそう!

その他の記事

これ以外にもトビログではLaravelの記事等を多く公開しています!

ぜひみてみてください!

Laravel
「Laravel」の記事一覧です。

参考記事

より詳しくなりたい方は公式ドキュメントをチェック!↓

PhpSpreadsheet Documentation
None
とびうお
ブログ管理人です!
swimaneというアプリをリリースしました!

コメント

タイトルとURLをコピーしました