update 1.0.8.0
Commits for version update
This commit is contained in:
62
vendor/maatwebsite/excel/docs/export/array.md
vendored
Normal file
62
vendor/maatwebsite/excel/docs/export/array.md
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
# Creating a sheet from an array
|
||||
|
||||
## Array
|
||||
|
||||
To create a new file from an array use `->fromArray($source, $nullValue, $startCell, $strictNullComparison, $headingGeneration)` inside the sheet closure.
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
$excel->sheet('Sheetname', function($sheet) {
|
||||
|
||||
$sheet->fromArray(array(
|
||||
array('data1', 'data2'),
|
||||
array('data3', 'data4')
|
||||
));
|
||||
|
||||
});
|
||||
|
||||
})->export('xls');
|
||||
|
||||
Alternatively you can use `->with()`.
|
||||
|
||||
$sheet->with(array(
|
||||
array('data1', 'data2'),
|
||||
array('data3', 'data4')
|
||||
));
|
||||
|
||||
If you want to pass variables inside the closure, use `use($data)`
|
||||
|
||||
$data = array(
|
||||
array('data1', 'data2'),
|
||||
array('data3', 'data4')
|
||||
);
|
||||
|
||||
Excel::create('Filename', function($excel) use($data) {
|
||||
|
||||
$excel->sheet('Sheetname', function($sheet) use($data) {
|
||||
|
||||
$sheet->fromArray($data);
|
||||
|
||||
});
|
||||
|
||||
})->export('xls');
|
||||
|
||||
### Null comparision
|
||||
|
||||
By default 0 is shown as an empty cell. If you want to change this behaviour, you can pass true as 4th parameter:
|
||||
|
||||
// Will show 0 as 0
|
||||
$sheet->fromArray($data, null, 'A1', true);
|
||||
|
||||
>> To change the default behaviour, you can use `excel::export.sheets.strictNullComparison` config setting.
|
||||
|
||||
## Eloquent model
|
||||
|
||||
It's also possible to pass an Eloquent model and export it by using `->fromModel($model)`. The method accepts the same parameters as fromArray
|
||||
|
||||
## Auto heading generation
|
||||
|
||||
By default the export will use the keys of your array (or model attribute names) as first row (header column). To change this behaviour you can edit the default config setting (`excel::export.generate_heading_by_indices`) or pass `false` as 5th parameter:
|
||||
|
||||
// Won't auto generate heading columns
|
||||
$sheet->fromArray($data, null, 'A1', false, false);
|
9
vendor/maatwebsite/excel/docs/export/autofilter.md
vendored
Normal file
9
vendor/maatwebsite/excel/docs/export/autofilter.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# Auto filter
|
||||
|
||||
To enable the auto filter use `->setAutoFilter($range = false)`.
|
||||
|
||||
// Auto filter for entire sheet
|
||||
$sheet->setAutoFilter();
|
||||
|
||||
// Set auto filter for a range
|
||||
$sheet->setAutoFilter('A1:E10');
|
16
vendor/maatwebsite/excel/docs/export/autosize.md
vendored
Normal file
16
vendor/maatwebsite/excel/docs/export/autosize.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# Auto size
|
||||
|
||||
By default the exported file be automatically auto sized. To change this behaviour you can either change the config or use the setters:
|
||||
|
||||
// Set auto size for sheet
|
||||
$sheet->setAutoSize(true);
|
||||
|
||||
// Disable auto size for sheet
|
||||
$sheet->setAutoSize(false);
|
||||
|
||||
// Disable auto size for columns
|
||||
$sheet->setAutoSize(array(
|
||||
'A', 'C'
|
||||
));
|
||||
|
||||
> The default config setting can be found in: `export.php`.
|
19
vendor/maatwebsite/excel/docs/export/call.md
vendored
Normal file
19
vendor/maatwebsite/excel/docs/export/call.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# Calling PHPExcel's native methods
|
||||
|
||||
It's possible to call all native PHPExcel methods on the `$excel` and `$sheet` objects.
|
||||
|
||||
### Calling Workbook methods
|
||||
|
||||
Example:
|
||||
|
||||
// Get default style for this workbook
|
||||
$excel->getDefaultStyle();
|
||||
|
||||
### Calling worksheet methods
|
||||
|
||||
Example:
|
||||
|
||||
// Protect cells
|
||||
$sheet->protectCells('A1', $password);
|
||||
|
||||
> Head over to PHPOffice to learn more about the native methods.
|
63
vendor/maatwebsite/excel/docs/export/cells.md
vendored
Normal file
63
vendor/maatwebsite/excel/docs/export/cells.md
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# Cell manipulation
|
||||
|
||||
$sheet->cell('A1', function($cell) {
|
||||
|
||||
// manipulate the cell
|
||||
|
||||
});
|
||||
|
||||
$sheet->cells('A1:A5', function($cells) {
|
||||
|
||||
// manipulate the range of cells
|
||||
|
||||
});
|
||||
|
||||
### Set background
|
||||
|
||||
To change the background of a range of cells we can use `->setBackground($color, $type, $colorType)`
|
||||
|
||||
// Set black background
|
||||
$cells->setBackground('#000000');
|
||||
|
||||
### Change fonts
|
||||
|
||||
// Set with font color
|
||||
$cells->setFontColor('#ffffff');
|
||||
|
||||
// Set font family
|
||||
$cells->setFontFamily('Calibri');
|
||||
|
||||
// Set font size
|
||||
$cells->setFontSize(16);
|
||||
|
||||
// Set font weight to bold
|
||||
$cells->setFontWeight('bold');
|
||||
|
||||
// Set font
|
||||
$cells->setFont(array(
|
||||
'family' => 'Calibri',
|
||||
'size' => '16',
|
||||
'bold' => true
|
||||
));
|
||||
|
||||
### Set borders
|
||||
|
||||
// Set all borders (top, right, bottom, left)
|
||||
$cells->setBorder('solid', 'none', 'none', 'solid');
|
||||
|
||||
// Set borders with array
|
||||
$cells->setBorder(array(
|
||||
'top' => array(
|
||||
'style' => 'solid'
|
||||
),
|
||||
));
|
||||
|
||||
### Set horizontal alignment
|
||||
|
||||
// Set alignment to center
|
||||
$cells->setAlignment('center');
|
||||
|
||||
### Set vertical alignment
|
||||
|
||||
// Set vertical alignment to middle
|
||||
$cells->setValignment('center');
|
34
vendor/maatwebsite/excel/docs/export/export.md
vendored
Normal file
34
vendor/maatwebsite/excel/docs/export/export.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
# Exporting
|
||||
|
||||
To download the created file, use `->export($ext)` or `->download($ext)`.
|
||||
|
||||
#### Export to Excel5 (xls)
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
})->export('xls');
|
||||
|
||||
// or
|
||||
->download('xls');
|
||||
|
||||
#### Export to Excel2007 (xlsx)
|
||||
|
||||
->export('xlsx');
|
||||
|
||||
// or
|
||||
->download('xlsx');
|
||||
|
||||
#### Export to CSV
|
||||
|
||||
->export('csv');
|
||||
|
||||
// or
|
||||
->download('csv');
|
||||
|
||||
> You can set the default enclosure and delimiter inside the config
|
||||
|
||||
#### Export to PDF
|
||||
|
||||
To export files to pdf, you will have to include `"dompdf/dompdf": "~0.6.1"`, `"mpdf/mpdf": "~5.7.3"` or `"tecnick.com/tcpdf": "~6.0.0"` in your `composer.json` and change the `export.pdf.driver` config setting accordingly.
|
||||
|
||||
->export('pdf');
|
23
vendor/maatwebsite/excel/docs/export/format.md
vendored
Normal file
23
vendor/maatwebsite/excel/docs/export/format.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# Column formatting
|
||||
|
||||
To tell Excel how it should interpret certain columns, you can use `->setColumnFormat($array)`.
|
||||
|
||||
// Format column as percentage
|
||||
$sheet->setColumnFormat(array(
|
||||
'C' => '0%'
|
||||
));
|
||||
|
||||
// Format a range with e.g. leading zeros
|
||||
$sheet->setColumnFormat(array(
|
||||
'A2:K2' => '0000'
|
||||
));
|
||||
|
||||
// Set multiple column formats
|
||||
$sheet->setColumnFormat(array(
|
||||
'B' => '0',
|
||||
'D' => '0.00',
|
||||
'F' => '@',
|
||||
'F' => 'yyyy-mm-dd',
|
||||
));
|
||||
|
||||
> Go to the reference guide to see a list of available formats.
|
15
vendor/maatwebsite/excel/docs/export/freeze.md
vendored
Normal file
15
vendor/maatwebsite/excel/docs/export/freeze.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# Freeze rows
|
||||
|
||||
If you want to freeze a cell, row or column, use:
|
||||
|
||||
// Freeze first row
|
||||
$sheet->freezeFirstRow();
|
||||
|
||||
// Freeze the first column
|
||||
$sheet->freezeFirstColumn();
|
||||
|
||||
// Freeze the first row and column
|
||||
$sheet->freezeFirstRowAndColumn();
|
||||
|
||||
// Set freeze
|
||||
$sheet->setFreeze('A2');
|
61
vendor/maatwebsite/excel/docs/export/injection.md
vendored
Normal file
61
vendor/maatwebsite/excel/docs/export/injection.md
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# NewExcelFile injections
|
||||
|
||||
Following the Laravel 5.0 philosophy with its new awesome FormRequest injections, we introduce you NewExcelFile injections.
|
||||
|
||||
## NewExcelFile class
|
||||
|
||||
This NewExcelFile is a wrapper for a new Excel file. Inside the `getFilename()` you can declare the wanted filename.
|
||||
|
||||
class UserListExport extends \Maatwebsite\Excel\Files\NewExcelFile {
|
||||
|
||||
public function getFilename()
|
||||
{
|
||||
return 'filename';
|
||||
}
|
||||
}
|
||||
|
||||
## Usage
|
||||
|
||||
You can inject these NewExcelFiles inside the __constructor or inside the method (when using Laravel 5.0), in e.g. the controller.
|
||||
|
||||
class ExampleController extends Controller {
|
||||
|
||||
public function exportUserList(UserListExport $export)
|
||||
{
|
||||
// work on the export
|
||||
return $export->sheet('sheetName', function($sheet)
|
||||
{
|
||||
|
||||
})->export('xls');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
## Export Handlers
|
||||
|
||||
To decouple your Excel-export code completely from the controller, you can use the export handlers.
|
||||
|
||||
class ExampleController extends Controller {
|
||||
|
||||
public function exportUserList(UserListExport $export)
|
||||
{
|
||||
// Handle the export
|
||||
$export->handleExport();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
The `handleExport()` method will dynamically call a handler class which is your class name appended with `Handler`
|
||||
|
||||
class UserListExportHandler implements \Maatwebsite\Excel\Files\ExportHandler {
|
||||
|
||||
public function handle(UserListExport $export)
|
||||
{
|
||||
// work on the export
|
||||
return $export->sheet('sheetName', function($sheet)
|
||||
{
|
||||
|
||||
})->export('xls');
|
||||
}
|
||||
|
||||
}
|
19
vendor/maatwebsite/excel/docs/export/merge.md
vendored
Normal file
19
vendor/maatwebsite/excel/docs/export/merge.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# Column merging
|
||||
|
||||
### Merging cells
|
||||
|
||||
To merge a range of cells, use `->mergeCells($range)`.
|
||||
|
||||
$sheet->mergeCells('A1:E1');
|
||||
|
||||
### Merging columns and rows
|
||||
|
||||
To merge columns and rows, use `->setMergeColumn($array)`.
|
||||
|
||||
$sheet->setMergeColumn(array(
|
||||
'columns' => array('A','B','C','D'),
|
||||
'rows' => array(
|
||||
array(2,3),
|
||||
array(5,11),
|
||||
)
|
||||
));
|
63
vendor/maatwebsite/excel/docs/export/rows.md
vendored
Normal file
63
vendor/maatwebsite/excel/docs/export/rows.md
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# Row manipulation
|
||||
|
||||
### Manipulate certain row
|
||||
|
||||
#### Change cell values
|
||||
|
||||
// Manipulate first row
|
||||
$sheet->row(1, array(
|
||||
'test1', 'test2'
|
||||
));
|
||||
|
||||
// Manipulate 2nd row
|
||||
$sheet->row(2, array(
|
||||
'test3', 'test4'
|
||||
));
|
||||
|
||||
#### Manipulate row cells
|
||||
|
||||
// Set black background
|
||||
$sheet->row(1, function($row) {
|
||||
|
||||
// call cell manipulation methods
|
||||
$row->setBackground('#000000');
|
||||
|
||||
});
|
||||
|
||||
### Append row
|
||||
|
||||
// Append row after row 2
|
||||
$sheet->appendRow(2, array(
|
||||
'appended', 'appended'
|
||||
));
|
||||
|
||||
// Append row as very last
|
||||
$sheet->appendRow(array(
|
||||
'appended', 'appended'
|
||||
));
|
||||
|
||||
### Prepend row
|
||||
|
||||
// Add before first row
|
||||
$sheet->prependRow(1, array(
|
||||
'prepended', 'prepended'
|
||||
));
|
||||
|
||||
// Add as very first
|
||||
$sheet->prependRow(array(
|
||||
'prepended', 'prepended'
|
||||
));
|
||||
|
||||
### Append multiple rows
|
||||
|
||||
// Append multiple rows
|
||||
$sheet->rows(array(
|
||||
array('test1', 'test2'),
|
||||
array('test3', 'test4')
|
||||
));
|
||||
|
||||
// Append multiple rows
|
||||
$sheet->rows(array(
|
||||
array('test5', 'test6'),
|
||||
array('test7', 'test8')
|
||||
));
|
50
vendor/maatwebsite/excel/docs/export/sheet-styling.md
vendored
Normal file
50
vendor/maatwebsite/excel/docs/export/sheet-styling.md
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# Sheet styling
|
||||
|
||||
### General styling
|
||||
|
||||
If you want to change the general styling of your sheet (not cell or range specific), you can use the `->setStyle()` method.
|
||||
|
||||
// Set font with ->setStyle()`
|
||||
$sheet->setStyle(array(
|
||||
'font' => array(
|
||||
'name' => 'Calibri',
|
||||
'size' => 15,
|
||||
'bold' => true
|
||||
)
|
||||
));
|
||||
|
||||
### Fonts
|
||||
|
||||
To change the font for the current sheet use `->setFont($array)`:
|
||||
|
||||
$sheet->setFont(array(
|
||||
'family' => 'Calibri',
|
||||
'size' => '15',
|
||||
'bold' => true
|
||||
));
|
||||
|
||||
#### Separate setters
|
||||
|
||||
// Font family
|
||||
$sheet->setFontFamily('Comic Sans MS');
|
||||
|
||||
// Font size
|
||||
$sheet->setFontSize(15);
|
||||
|
||||
// Font bold
|
||||
$sheet->setFontBold(true);
|
||||
|
||||
### Borders
|
||||
|
||||
You can set borders for the sheet, by using:
|
||||
|
||||
// Sets all borders
|
||||
$sheet->setAllBorders('thin');
|
||||
|
||||
// Set border for cells
|
||||
$sheet->setBorder('A1', 'thin');
|
||||
|
||||
// Set border for range
|
||||
$sheet->setBorder('A1:F10', 'thin');
|
||||
|
||||
> Go to the reference guide to see a list of available border styles
|
77
vendor/maatwebsite/excel/docs/export/sheets.md
vendored
Normal file
77
vendor/maatwebsite/excel/docs/export/sheets.md
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
# Sheets
|
||||
|
||||
### Creating a sheet
|
||||
|
||||
To create a new sheet inside our newly created file, use `->sheet('Sheetname')`.
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
$excel->sheet('Sheetname', function($sheet) {
|
||||
|
||||
// Sheet manipulation
|
||||
|
||||
});
|
||||
|
||||
})->export('xls');
|
||||
|
||||
|
||||
### Creating multiple sheets
|
||||
|
||||
You can set as many sheets as you like inside the file:
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
// Our first sheet
|
||||
$excel->sheet('First sheet', function($sheet) {
|
||||
|
||||
});
|
||||
|
||||
// Our second sheet
|
||||
$excel->sheet('Second sheet', function($sheet) {
|
||||
|
||||
});
|
||||
|
||||
})->export('xls');
|
||||
|
||||
### Changing properties
|
||||
|
||||
There are a couple of properties we can change inside the closure. Most of them are set to the config values by default. See `app/config/packages/maatwebsite/excel/config.php`.
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
$excel->sheet('Sheetname', function($sheet) {
|
||||
|
||||
$sheet->setOrientation('landscape');
|
||||
|
||||
});
|
||||
|
||||
})->export('xls');
|
||||
|
||||
> Go to the reference guide to see a list of available properties.
|
||||
|
||||
### Default page margin
|
||||
|
||||
It's possible to set the default page margin inside the config file `excel::export.sheets`.
|
||||
It accepts boolean, single value or array.
|
||||
|
||||
To manually set the page margin you can use: `->setPageMargin()`
|
||||
|
||||
// Set top, right, bottom, left
|
||||
$sheet->setPageMargin(array(
|
||||
0.25, 0.30, 0.25, 0.30
|
||||
));
|
||||
|
||||
// Set all margins
|
||||
$sheet->setPageMargin(0.25);
|
||||
|
||||
### Password protecting a sheet
|
||||
|
||||
A sheet can be password protected with `$sheet->protect()`:
|
||||
|
||||
// Default protect
|
||||
$sheet->protect('password');
|
||||
|
||||
// Advanced protect
|
||||
$sheet->protect('password', function(\PHPExcel_Worksheet_Protection $protection) {
|
||||
$protection->setSort(true);
|
||||
});
|
35
vendor/maatwebsite/excel/docs/export/simple.md
vendored
Normal file
35
vendor/maatwebsite/excel/docs/export/simple.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# Simple Excel Export
|
||||
|
||||
### Basics
|
||||
|
||||
A new file can be created using the `create` method with the filename as first parameter.
|
||||
|
||||
Excel::create('Filename');
|
||||
|
||||
To manipulate the creation of the file you can use the callback
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
// Call writer methods here
|
||||
|
||||
});
|
||||
|
||||
### Changing properties
|
||||
|
||||
There are a couple of properties we can change inside the closure. Most of them are set to the config values by default. See `app/config/packages/maatwebsite/excel/config.php`.
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
// Set the title
|
||||
$excel->setTitle('Our new awesome title');
|
||||
|
||||
// Chain the setters
|
||||
$excel->setCreator('Maatwebsite')
|
||||
->setCompany('Maatwebsite');
|
||||
|
||||
// Call them separately
|
||||
$excel->setDescription('A demonstration to change the file properties');
|
||||
|
||||
});
|
||||
|
||||
> Go to the reference guide to see a list of available properties.
|
41
vendor/maatwebsite/excel/docs/export/sizing.md
vendored
Normal file
41
vendor/maatwebsite/excel/docs/export/sizing.md
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
# Cell size
|
||||
|
||||
### Set column width
|
||||
|
||||
To set the column width use `->setWidth($cell, $width)`.
|
||||
|
||||
// Set width for a single column
|
||||
$sheet->setWidth('A', 5);
|
||||
|
||||
// Set width for multiple cells
|
||||
$sheet->setWidth(array(
|
||||
'A' => 5,
|
||||
'B' => 10
|
||||
));
|
||||
|
||||
### Set row height
|
||||
|
||||
To set the row height use `->setHeight($row, $height)`.
|
||||
|
||||
// Set height for a single row
|
||||
$sheet->setHeight(1, 50);
|
||||
|
||||
// Set height for multiple rows
|
||||
$sheet->setHeight(array(
|
||||
1 => 50,
|
||||
2 => 25
|
||||
));
|
||||
|
||||
### Set cell size
|
||||
|
||||
To set the cell size use `->setSize($cell, $width, $height)`.
|
||||
|
||||
// Set size for a single cell
|
||||
$sheet->setSize('A1', 500, 50);
|
||||
|
||||
$sheet->setSize(array(
|
||||
'A1' => array(
|
||||
'width' => 50
|
||||
'height' => 500,
|
||||
)
|
||||
));
|
39
vendor/maatwebsite/excel/docs/export/store.md
vendored
Normal file
39
vendor/maatwebsite/excel/docs/export/store.md
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# Store on server
|
||||
|
||||
To store the created file on the server, use `->store($ext, $path = false, $returnInfo = false)` or `->save()`.
|
||||
|
||||
### Normal export to default storage path
|
||||
|
||||
By default the file will be stored inside the `app/storage/exports` folder, which has been defined in the `export.php` config file.
|
||||
|
||||
Excel::create('Filename', function($excel) {
|
||||
|
||||
// Set sheets
|
||||
|
||||
})->store('xls');
|
||||
|
||||
### Normal export to custom storage path
|
||||
|
||||
If you want to use a custom storage path (e.g. to separate the files per client), you can set the folder as the second parameter.
|
||||
|
||||
->store('xls', storage_path('excel/exports'));
|
||||
|
||||
### Store and export
|
||||
|
||||
->store('xls')->export('xls');
|
||||
|
||||
### Store and return storage info
|
||||
|
||||
If you want to return storage information, set the third paramter to true or change the config setting inside `export.php`.
|
||||
|
||||
->store('xls', false, true);
|
||||
|
||||
|Key|Explanation|
|
||||
|---|-----------|
|
||||
|**full**| Full path with filename
|
||||
|**path**| Path without filename
|
||||
|**file**| Filename
|
||||
|**title**| File title
|
||||
|**ext**| File extension
|
||||
|
||||
> Make sure your storage folder is **writable**!
|
Reference in New Issue
Block a user