Some Publishables That Came With Package
This commit is contained in:
parent
4388bc8dbc
commit
2b2ff45614
230
config/excel.php
230
config/excel.php
|
|
@ -3,7 +3,6 @@
|
||||||
use Maatwebsite\Excel\Excel;
|
use Maatwebsite\Excel\Excel;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
'exports' => [
|
'exports' => [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -24,6 +23,16 @@ return [
|
||||||
*/
|
*/
|
||||||
'pre_calculate_formulas' => false,
|
'pre_calculate_formulas' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Enable strict null comparison
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When enabling strict null comparison empty cells ('') will
|
||||||
|
| be added to the sheet.
|
||||||
|
*/
|
||||||
|
'strict_null_comparison' => false,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| CSV Settings
|
| CSV Settings
|
||||||
|
|
@ -40,23 +49,66 @@ return [
|
||||||
'include_separator_line' => false,
|
'include_separator_line' => false,
|
||||||
'excel_compatibility' => false,
|
'excel_compatibility' => false,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Worksheet properties
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Configure e.g. default title, creator, subject,...
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'properties' => [
|
||||||
|
'creator' => '',
|
||||||
|
'lastModifiedBy' => '',
|
||||||
|
'title' => '',
|
||||||
|
'description' => '',
|
||||||
|
'subject' => '',
|
||||||
|
'keywords' => '',
|
||||||
|
'category' => '',
|
||||||
|
'manager' => '',
|
||||||
|
'company' => '',
|
||||||
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
'imports' => [
|
'imports' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Read Only
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When dealing with imports, you might only be interested in the
|
||||||
|
| data that the sheet exists. By default we ignore all styles,
|
||||||
|
| however if you want to do some logic based on style data
|
||||||
|
| you can enable it by setting read_only to false.
|
||||||
|
|
|
||||||
|
*/
|
||||||
'read_only' => true,
|
'read_only' => true,
|
||||||
|
|
||||||
'heading_row' => [
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Ignore Empty
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When dealing with imports, you might be interested in ignoring
|
||||||
|
| rows that have null values or empty strings. By default rows
|
||||||
|
| containing empty strings or empty values are not ignored but can be
|
||||||
|
| ignored by enabling the setting ignore_empty to true.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'ignore_empty' => false,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Heading Row Formatter
|
| Heading Row Formatter
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| Configure the heading row formatter.
|
| Configure the heading row formatter.
|
||||||
| Available options: none|slug|custom
|
| Available options: none|slug|custom
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
'heading_row' => [
|
||||||
'formatter' => 'slug',
|
'formatter' => 'slug',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
@ -69,12 +121,33 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'csv' => [
|
'csv' => [
|
||||||
'delimiter' => ',',
|
'delimiter' => ',',
|
||||||
'enclosure' => '"',
|
'enclosure' => '"',
|
||||||
'escape_character' => '\\',
|
'escape_character' => '\\',
|
||||||
'contiguous' => false,
|
'contiguous' => false,
|
||||||
'input_encoding' => 'UTF-8',
|
'input_encoding' => 'UTF-8',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Worksheet properties
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Configure e.g. default title, creator, subject,...
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'properties' => [
|
||||||
|
'creator' => '',
|
||||||
|
'lastModifiedBy' => '',
|
||||||
|
'title' => '',
|
||||||
|
'description' => '',
|
||||||
|
'subject' => '',
|
||||||
|
'keywords' => '',
|
||||||
|
'category' => '',
|
||||||
|
'manager' => '',
|
||||||
|
'company' => '',
|
||||||
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -82,9 +155,8 @@ return [
|
||||||
| Extension detector
|
| Extension detector
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| Configure here which writer type should be used when
|
| Configure here which writer/reader type should be used when the package
|
||||||
| the package needs to guess the correct type
|
| needs to guess the correct type based on the extension alone.
|
||||||
| based on the extension alone.
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'extension_detector' => [
|
'extension_detector' => [
|
||||||
|
|
@ -116,39 +188,93 @@ return [
|
||||||
'pdf' => Excel::DOMPDF,
|
'pdf' => Excel::DOMPDF,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Value Binder
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| PhpSpreadsheet offers a way to hook into the process of a value being
|
||||||
|
| written to a cell. In there some assumptions are made on how the
|
||||||
|
| value should be formatted. If you want to change those defaults,
|
||||||
|
| you can implement your own default value binder.
|
||||||
|
|
|
||||||
|
| Possible value binders:
|
||||||
|
|
|
||||||
|
| [x] Maatwebsite\Excel\DefaultValueBinder::class
|
||||||
|
| [x] PhpOffice\PhpSpreadsheet\Cell\StringValueBinder::class
|
||||||
|
| [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
|
||||||
|
|
|
||||||
|
*/
|
||||||
'value_binder' => [
|
'value_binder' => [
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Default Value Binder
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| PhpSpreadsheet offers a way to hook into the process of a value being
|
|
||||||
| written to a cell. In there some assumptions are made on how the
|
|
||||||
| value should be formatted. If you want to change those defaults,
|
|
||||||
| you can implement your own default value binder.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
|
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
'transactions' => [
|
'cache' => [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default cell caching driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| By default PhpSpreadsheet keeps all cell values in memory, however when
|
||||||
|
| dealing with large files, this might result into memory issues. If you
|
||||||
|
| want to mitigate that, you can configure a cell caching driver here.
|
||||||
|
| When using the illuminate driver, it will store each value in a the
|
||||||
|
| cache store. This can slow down the process, because it needs to
|
||||||
|
| store each value. You can use the "batch" store if you want to
|
||||||
|
| only persist to the store when the memory limit is reached.
|
||||||
|
|
|
||||||
|
| Drivers: memory|illuminate|batch
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'driver' => 'memory',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Transaction Handler
|
| Batch memory caching
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| By default the import is wrapped in a transaction. This is useful
|
| When dealing with the "batch" caching driver, it will only
|
||||||
| for when an import may fail and you want to retry it. With the
|
| persist to the store when the memory limit is reached.
|
||||||
| transactions, the previous import gets rolled-back.
|
| Here you can tweak the memory limit to your liking.
|
||||||
|
|
|
||||||
| You can disable the transaction handler by setting this to null.
|
|
||||||
| Or you can choose a custom made transaction handler here.
|
|
||||||
|
|
|
||||||
| Supported handlers: null|db
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
'batch' => [
|
||||||
|
'memory_limit' => 60000,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Illuminate cache
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the "illuminate" caching driver, it will automatically use
|
||||||
|
| your default cache store. However if you prefer to have the cell
|
||||||
|
| cache on a separate store, you can configure the store name here.
|
||||||
|
| You can use any store defined in your cache config. When leaving
|
||||||
|
| at "null" it will use the default store.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'illuminate' => [
|
||||||
|
'store' => null,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Transaction Handler
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| By default the import is wrapped in a transaction. This is useful
|
||||||
|
| for when an import may fail and you want to retry it. With the
|
||||||
|
| transactions, the previous import gets rolled-back.
|
||||||
|
|
|
||||||
|
| You can disable the transaction handler by setting this to null.
|
||||||
|
| Or you can choose a custom made transaction handler here.
|
||||||
|
|
|
||||||
|
| Supported handlers: null|db
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'transactions' => [
|
||||||
'handler' => 'db',
|
'handler' => 'db',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
@ -163,7 +289,7 @@ return [
|
||||||
| storing reading or downloading. Here you can customize that path.
|
| storing reading or downloading. Here you can customize that path.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'local_path' => sys_get_temp_dir(),
|
'local_path' => storage_path('framework/laravel-excel'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -179,8 +305,24 @@ return [
|
||||||
| in conjunction with queued imports and exports.
|
| in conjunction with queued imports and exports.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'remote_disk' => null,
|
'remote_disk' => null,
|
||||||
'remote_prefix' => null,
|
'remote_prefix' => null,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Force Resync
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When dealing with a multi server setup as above, it's possible
|
||||||
|
| for the clean up that occurs after entire queue has been run to only
|
||||||
|
| cleanup the server that the last AfterImportJob runs on. The rest of the server
|
||||||
|
| would still have the local temporary file stored on it. In this case your
|
||||||
|
| local storage limits can be exceeded and future imports won't be processed.
|
||||||
|
| To mitigate this you can set this config value to be true, so that after every
|
||||||
|
| queued chunk is processed the local temporary file is deleted on the server that
|
||||||
|
| processed it.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'force_resync_remote' => null,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,8 @@ return [
|
||||||
*/
|
*/
|
||||||
'acceptedConditions' => [
|
'acceptedConditions' => [
|
||||||
'=',
|
'=',
|
||||||
'like'
|
'like',
|
||||||
|
'in'
|
||||||
],
|
],
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use DummyFullModelClass;
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
|
||||||
|
class DummyClass implements FromCollection
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
return DummyModelClass::all();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
|
||||||
|
class DummyClass implements FromCollection
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use DummyFullModelClass;
|
||||||
|
use Maatwebsite\Excel\Concerns\FromQuery;
|
||||||
|
|
||||||
|
class DummyClass implements FromQuery
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Database\Query\Builder
|
||||||
|
*/
|
||||||
|
public function query()
|
||||||
|
{
|
||||||
|
return DummyModelClass::query();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromQuery;
|
||||||
|
|
||||||
|
class DummyClass implements FromQuery
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Database\Query\Builder
|
||||||
|
*/
|
||||||
|
public function query()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
|
use Maatwebsite\Excel\Concerns\ToCollection;
|
||||||
|
|
||||||
|
class DummyClass implements ToCollection
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Collection $collection
|
||||||
|
*/
|
||||||
|
public function collection(Collection $collection)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace DummyNamespace;
|
||||||
|
|
||||||
|
use DummyFullModelClass;
|
||||||
|
use Maatwebsite\Excel\Concerns\ToModel;
|
||||||
|
|
||||||
|
class DummyClass implements ToModel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param array $row
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Model|null
|
||||||
|
*/
|
||||||
|
public function model(array $row)
|
||||||
|
{
|
||||||
|
return new DummyModelClass([
|
||||||
|
//
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue