123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- <?php
- use Maatwebsite\Excel\Excel;
- return [
- 'exports' => [
- /*
- |--------------------------------------------------------------------------
- | Chunk size
- |--------------------------------------------------------------------------
- |
- | When using FromQuery, the query is automatically chunked.
- | Here you can specify how big the chunk should be.
- |
- */
- 'chunk_size' => 1000,
- /*
- |--------------------------------------------------------------------------
- | Pre-calculate formulas during export
- |--------------------------------------------------------------------------
- */
- '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
- |--------------------------------------------------------------------------
- |
- | Configure e.g. delimiter, enclosure and line ending for CSV exports.
- |
- */
- 'csv' => [
- 'delimiter' => ',',
- 'enclosure' => '"',
- 'line_ending' => PHP_EOL,
- 'use_bom' => false,
- 'include_separator_line' => false,
- 'excel_compatibility' => false,
- ],
- /*
- |--------------------------------------------------------------------------
- | Worksheet properties
- |--------------------------------------------------------------------------
- |
- | Configure e.g. default title, creator, subject,...
- |
- */
- 'properties' => [
- 'creator' => '',
- 'lastModifiedBy' => '',
- 'title' => '',
- 'description' => '',
- 'subject' => '',
- 'keywords' => '',
- 'category' => '',
- 'manager' => '',
- 'company' => '',
- ],
- ],
- '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,
- /*
- |--------------------------------------------------------------------------
- | 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
- |--------------------------------------------------------------------------
- |
- | Configure the heading row formatter.
- | Available options: none|slug|custom
- |
- */
- 'heading_row' => [
- 'formatter' => 'slug',
- ],
- /*
- |--------------------------------------------------------------------------
- | CSV Settings
- |--------------------------------------------------------------------------
- |
- | Configure e.g. delimiter, enclosure and line ending for CSV imports.
- |
- */
- 'csv' => [
- 'delimiter' => ',',
- 'enclosure' => '"',
- 'escape_character' => '\\',
- 'contiguous' => false,
- 'input_encoding' => 'UTF-8',
- ],
- /*
- |--------------------------------------------------------------------------
- | Worksheet properties
- |--------------------------------------------------------------------------
- |
- | Configure e.g. default title, creator, subject,...
- |
- */
- 'properties' => [
- 'creator' => '',
- 'lastModifiedBy' => '',
- 'title' => '',
- 'description' => '',
- 'subject' => '',
- 'keywords' => '',
- 'category' => '',
- 'manager' => '',
- 'company' => '',
- ],
- ],
- /*
- |--------------------------------------------------------------------------
- | Extension detector
- |--------------------------------------------------------------------------
- |
- | Configure here which writer/reader type should be used when the package
- | needs to guess the correct type based on the extension alone.
- |
- */
- 'extension_detector' => [
- 'xlsx' => Excel::XLSX,
- 'xlsm' => Excel::XLSX,
- 'xltx' => Excel::XLSX,
- 'xltm' => Excel::XLSX,
- 'xls' => Excel::XLS,
- 'xlt' => Excel::XLS,
- 'ods' => Excel::ODS,
- 'ots' => Excel::ODS,
- 'slk' => Excel::SLK,
- 'xml' => Excel::XML,
- 'gnumeric' => Excel::GNUMERIC,
- 'htm' => Excel::HTML,
- 'html' => Excel::HTML,
- 'csv' => Excel::CSV,
- 'tsv' => Excel::TSV,
- /*
- |--------------------------------------------------------------------------
- | PDF Extension
- |--------------------------------------------------------------------------
- |
- | Configure here which Pdf driver should be used by default.
- | Available options: Excel::MPDF | Excel::TCPDF | 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' => [
- 'default' => Maatwebsite\Excel\DefaultValueBinder::class,
- ],
- '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',
- /*
- |--------------------------------------------------------------------------
- | Batch memory caching
- |--------------------------------------------------------------------------
- |
- | When dealing with the "batch" caching driver, it will only
- | persist to the store when the memory limit is reached.
- | Here you can tweak the memory limit to your liking.
- |
- */
- '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',
- ],
- 'temporary_files' => [
- /*
- |--------------------------------------------------------------------------
- | Local Temporary Path
- |--------------------------------------------------------------------------
- |
- | When exporting and importing files, we use a temporary file, before
- | storing reading or downloading. Here you can customize that path.
- |
- */
- 'local_path' => storage_path('framework/laravel-excel'),
- /*
- |--------------------------------------------------------------------------
- | Remote Temporary Disk
- |--------------------------------------------------------------------------
- |
- | When dealing with a multi server setup with queues in which you
- | cannot rely on having a shared local temporary path, you might
- | want to store the temporary file on a shared disk. During the
- | queue executing, we'll retrieve the temporary file from that
- | location instead. When left to null, it will always use
- | the local path. This setting only has effect when using
- | in conjunction with queued imports and exports.
- |
- */
- 'remote_disk' => 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,
- ],
- ];
|