-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample-04.php
36 lines (29 loc) · 1.12 KB
/
example-04.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;
use GentritAbazi\PhpSpreadsheetExcel\Services\PhpSpreadsheetExcelService;
class TestController extends Controller
{
public function index()
{
$columns = ['Id', 'Name', 'Email'];
$rows = User::get();
$config = ['columns_autosize' => true];
$parsedRows = $rows->map(function($row) {
$parsedRow['id'] = ['value' => $row['id']];
$parsedRow['name'] = ['value' => $row['name']];
$parsedRow['email'] = ['value' => $row['email']];
// Style row - https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#styles
if($row['name'] == 'Gentrit') {
$parsedRow['name']['style'] = [
'font' => ['color' => ['rgb' => 'FF0000']]
];
}
return $parsedRow;
});
$spreadsheetExcel = new PhpSpreadsheetExcelService();
$spreadsheetExcel->createSheet('Sheet 1', $columns, $parsedRows, $config);
$spreadsheetExcel->download('file.xlsx');
}
}