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

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

目盛線を消したり，印刷の向きを変える方法は[こちら](https://qiita.com/OKCH3COOH/items/4cbd4df9685cf9e14b4b)にまとめました．


# 環境
- Laravel 5.5
- Laravel-Excel 3.1

# 設定できるスタイル
## スタイルの設定方法
```<th>,<td>``` で直接styleを指定することで設定できます．CSSを使う方法は調査中です．

例

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

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

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

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

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

## フォントの設定
デフォルトは11pxです．

### HTMLタグで指定

```html
<h1> , <h2> , <h3> , <h4> , <h5> , <h6>
```
ボールド体になり，サイズが24px, 18px, 13.5px, 12px, 10px, 7.5px になります．

```html
<a>
```
色が青色になり，下線が引かれます．

```html
<hr>
```
黒の下線が引かれます．

```html
<strong> , <b>
```
ボールド体になります．

```html
<i> , <em>
```
イタリック体になります．


## 使えるスタイル一覧
次のスタイルが使えます：

```html
<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>
```

### 罫線の種類

```html
<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```の部分は適用されませんが，必須です．

### フォーマット

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

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

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

> ```php
"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'日'"
```
> これを
>
```html
<td data-format="[$-411]ggge'年'm'月'd'日'">{{ $date }}</td>
```
> このようにして使います．


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