LoginSignup
16
24

More than 3 years have passed since last update.

Laravel Excel 3.1 view使用時のスタイルまとめ

Last updated at Posted at 2019-06-28

概要

バージョンアップ後のLaravel-Excelが旧バージョンのものと大きく違ったので,ビューで指定できるスタイルをまとめました.

目盛線を消したり,印刷の向きを変える方法はこちらにまとめました.

環境

  • Laravel 5.5
  • Laravel-Excel 3.1

設定できるスタイル

スタイルの設定方法

<th>,<td> で直接styleを指定することで設定できます.CSSを使う方法は調査中です.

<th style="font-size: 16px;"></th>
<td style="border: 1px solid #000000;"></td>

スタイルを複数設定する場合は必ずセミコロン ; で区切ります.

セルの結合

HTMLのセルの結合を行うことで実装する.

<td colspan="2"></td>  <!-- 列の結合 -->
<td rowspan="2"></td>  <!-- 行の結合 -->

結合したセルのスタイルは左上のセルのスタイルが適用されます.
結合されたセルはスタイル設定ができなくなります.

フォントの設定

デフォルトは11pxです.

HTMLタグで指定

<h1> , <h2> , <h3> , <h4> , <h5> , <h6>

ボールド体になり,サイズが24px, 18px, 13.5px, 12px, 10px, 7.5px になります.

<a>

色が青色になり,下線が引かれます.

<hr>

黒の下線が引かれます.

<strong> , <b>

ボールド体になります.

<i> , <em>

イタリック体になります.

使えるスタイル一覧

次のスタイルが使えます:

<td style="background: #FF0000;"></td>  <!-- 背景色 -->
<td style="background-color: #FF0000;"></td>  <!-- backgroundと同じ -->
<td style="border: 1px solid #000000;"></td>  <!-- すべての罫線を指定する 個別指定はできない -->
<td style="border-top: 1px solid #000000;"></td>
<td style="border-right: 1px solid #000000;"></td>
<td style="border-bottom: 1px solid #000000;"></td>
<td style="border-left: 1px solid #000000;"></td>
<td style="font-size: 16px;"></td>
<td style="color: #FF0000;"></td>  <!-- フォントカラー -->
<td style="font-weight: 500;"></td> <!-- 500以上でボールド体 -->
<td style="font-style: italic;"></td>
<td style="font-family: font1 font2;"></td>
<td style="text-decoration: underline;"></td>
<td style="text-decoration: line-tdrough;"></td>
<td style="text-align: center;"></td>  <!-- 水平方向 left , center , right -->
<td style="vertical-align: middle;"></td>  <!-- 垂直方向 top , middle , bottom -->
<td style="width: 10px;"></td> <!-- セルの横幅 指定した最後の行の幅が適用される -->
<td style="height: 10px;"></td> <!-- セルの縦幅 指定した最後の列の高さが適用される -->
<td style="word-wrap: break-word;"></td>  <!-- 折返し -->
<td style="text-indent: 2px;"></td>

罫線の種類

<td style="border: 1px solid #000000;"></td>

このようにすると,黒色の細い線でセルが囲まれますが,設定できるのはsolid #000000の部分
のみで,罫線の種類は

スタイル PHP Excel
solid BORDER_THIN
dashed BORDER_DASHED
dotted BORDER_DOTTED
medium BORDER_MEDIUM
thick BORDER_THICK
none BORDER_NONE
dash-dot BORDER_DASHDOT
dash-dot-dot BORDER_DASHDOTDOT
double BORDER_DOUBLE
hair BORDER_HAIR
medium-dash-dot BORDER_MEDIUMDASHDOT
medium-dash-dot-dot BORDER_MEDIUMDASHDOTDOT
medium-dashed BORDER_MEDIUMDASHED
slant-dash-dot BORDER_SLANTDASHDOT

から選びます.1pxの部分は適用されませんが,必須です.

フォーマット

<td data-format="0.00"></td>

このように指定したフォーマットがそのままユーザ定義のフォーマットになります.

よく使われるフォーマットが組み込まれていました:

"0"
"0.00"
"#,##0"
"#,##0.00"

"0%"
"0.00%"
"0.00E+00"
"# ?/?"
"# ??/??"
"m/d/yyyy" // Despite ECMA 'mm-dd-yy"
"d-mmm-yy"
"d-mmm"
"mmm-yy"
"h:mm AM/PM"
"h:mm:ss AM/PM"
"h:mm"
"h:mm:ss"
"m/d/yyyy h:mm" // Despite ECMA 'm/d/yy h:mm"

"#,##0_);(#,##0)" //  Despite ECMA '#,##0 ;(#,##0)"
"#,##0_);[Red](#,##0)" //  Despite ECMA '#,##0 ;[Red](#,##0)"
"#,##0.00_);(#,##0.00)" //  Despite ECMA '#,##0.00;(#,##0.00)"
"#,##0.00_);[Red](#,##0.00)" //  Despite ECMA '#,##0.00;[Red](#,##0.00)"

"_('$'* #,##0.00_);_('$'* \(#,##0.00\);_('$'* '-'??_);_(@_)"
"mm:ss"
"[h]:mm:ss"
"mm:ss.0" //  Despite ECMA 'mmss.0"
"##0.0E+0"
"@"

// CHT
"[$-404]e/m/d"
"m/d/yy"
"[$-404]e/m/d"
"[$-404]e/m/d"
"[$-404]e/m/d"

// THA
"t0"
"t0.00"
"t#,##0"
"t#,##0.00"
"t0%"
"t0.00%"
"t# ?/?"
"t# ??/??"

// JPN
"[$-411]ggge'年'm'月'd'日'"
"[$-411]ggge'年'm'月'd'日'"
"yyyy'年'm'月'd'日'"
"h'時'mm'分'"
"h'時'mm'分'ss'秒'"
"yyyy'年'm'月'"
"m'月'd'日'"
"[$-411]ggge'年'm'月'd'日'"
"yyyy'年'm'月'"
"m'月'd'日'"
"[$-411]ggge'年'm'月'd'日'"
"yyyy'年'm'月'"
"m'月'd'日'"
"[$-411]ggge'年'm'月'd'日'"

これを

<td data-format="[$-411]ggge'年'm'月'd'日'">{{ $date }}</td>

このようにして使います.

感想

新しいLaravel-Excelは機能は旧バージョンに比べると機能が少なくなっています.どうしてもの場合は旧バージョンを使わざるを得ないでしょう.
他に良いパッケージがあれば教えてくださるとありがたいです.

16
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
24