Showing preview only (829K chars total). Download the full file or copy to clipboard to get everything.
Repository: SpartnerNL/Laravel-Excel
Branch: 3.1
Commit: 1854739267d8
Files: 311
Total size: 755.5 KB
Directory structure:
gitextract_hvn1oki5/
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── 1_Bug_report.yml
│ │ └── config.yml
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── SUPPORT.md
│ ├── issuecomplete.yml
│ ├── stale.yml
│ └── workflows/
│ └── run-tests.yml
├── .gitignore
├── .phpunit.cache/
│ └── test-results
├── .styleci.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── composer.json
├── config/
│ └── excel.php
├── phpunit.xml.dist
├── src/
│ ├── Cache/
│ │ ├── BatchCache.php
│ │ ├── BatchCacheDeprecated.php
│ │ ├── CacheManager.php
│ │ ├── MemoryCache.php
│ │ └── MemoryCacheDeprecated.php
│ ├── Cell.php
│ ├── ChunkReader.php
│ ├── Concerns/
│ │ ├── Exportable.php
│ │ ├── FromArray.php
│ │ ├── FromCollection.php
│ │ ├── FromGenerator.php
│ │ ├── FromIterator.php
│ │ ├── FromQuery.php
│ │ ├── FromView.php
│ │ ├── HasReferencesToOtherSheets.php
│ │ ├── Importable.php
│ │ ├── MapsCsvSettings.php
│ │ ├── OnEachRow.php
│ │ ├── PersistRelations.php
│ │ ├── RegistersEventListeners.php
│ │ ├── RemembersChunkOffset.php
│ │ ├── RemembersRowNumber.php
│ │ ├── ShouldAutoSize.php
│ │ ├── ShouldQueueWithoutChain.php
│ │ ├── SkipsEmptyRows.php
│ │ ├── SkipsErrors.php
│ │ ├── SkipsFailures.php
│ │ ├── SkipsOnError.php
│ │ ├── SkipsOnFailure.php
│ │ ├── SkipsUnknownSheets.php
│ │ ├── ToArray.php
│ │ ├── ToCollection.php
│ │ ├── ToModel.php
│ │ ├── WithBackgroundColor.php
│ │ ├── WithBatchInserts.php
│ │ ├── WithCalculatedFormulas.php
│ │ ├── WithCharts.php
│ │ ├── WithChunkReading.php
│ │ ├── WithColumnFormatting.php
│ │ ├── WithColumnLimit.php
│ │ ├── WithColumnWidths.php
│ │ ├── WithConditionalSheets.php
│ │ ├── WithCustomChunkSize.php
│ │ ├── WithCustomCsvSettings.php
│ │ ├── WithCustomQuerySize.php
│ │ ├── WithCustomStartCell.php
│ │ ├── WithCustomValueBinder.php
│ │ ├── WithDefaultStyles.php
│ │ ├── WithDrawings.php
│ │ ├── WithEvents.php
│ │ ├── WithFormatData.php
│ │ ├── WithGroupedHeadingRow.php
│ │ ├── WithHeadingRow.php
│ │ ├── WithHeadings.php
│ │ ├── WithLimit.php
│ │ ├── WithMappedCells.php
│ │ ├── WithMapping.php
│ │ ├── WithMultipleSheets.php
│ │ ├── WithPreCalculateFormulas.php
│ │ ├── WithProgressBar.php
│ │ ├── WithProperties.php
│ │ ├── WithReadFilter.php
│ │ ├── WithSkipDuplicates.php
│ │ ├── WithStartRow.php
│ │ ├── WithStrictNullComparison.php
│ │ ├── WithStyles.php
│ │ ├── WithTitle.php
│ │ ├── WithUpsertColumns.php
│ │ ├── WithUpserts.php
│ │ └── WithValidation.php
│ ├── Console/
│ │ ├── ExportMakeCommand.php
│ │ ├── ImportMakeCommand.php
│ │ ├── WithModelStub.php
│ │ └── stubs/
│ │ ├── export.model.stub
│ │ ├── export.plain.stub
│ │ ├── export.query-model.stub
│ │ ├── export.query.stub
│ │ ├── import.collection.stub
│ │ └── import.model.stub
│ ├── DefaultValueBinder.php
│ ├── DelegatedMacroable.php
│ ├── Events/
│ │ ├── AfterBatch.php
│ │ ├── AfterChunk.php
│ │ ├── AfterImport.php
│ │ ├── AfterSheet.php
│ │ ├── BeforeExport.php
│ │ ├── BeforeImport.php
│ │ ├── BeforeSheet.php
│ │ ├── BeforeWriting.php
│ │ ├── Event.php
│ │ └── ImportFailed.php
│ ├── Excel.php
│ ├── ExcelServiceProvider.php
│ ├── Exceptions/
│ │ ├── ConcernConflictException.php
│ │ ├── LaravelExcelException.php
│ │ ├── NoFilePathGivenException.php
│ │ ├── NoFilenameGivenException.php
│ │ ├── NoSheetsFoundException.php
│ │ ├── NoTypeDetectedException.php
│ │ ├── RowSkippedException.php
│ │ ├── SheetNotFoundException.php
│ │ └── UnreadableFileException.php
│ ├── Exporter.php
│ ├── Facades/
│ │ └── Excel.php
│ ├── Factories/
│ │ ├── ReaderFactory.php
│ │ └── WriterFactory.php
│ ├── Fakes/
│ │ ├── ExcelFake.php
│ │ └── fake_file
│ ├── Files/
│ │ ├── Disk.php
│ │ ├── Filesystem.php
│ │ ├── LocalTemporaryFile.php
│ │ ├── RemoteTemporaryFile.php
│ │ ├── TemporaryFile.php
│ │ └── TemporaryFileFactory.php
│ ├── Filters/
│ │ ├── ChunkReadFilter.php
│ │ └── LimitFilter.php
│ ├── HasEventBus.php
│ ├── HeadingRowImport.php
│ ├── Helpers/
│ │ ├── ArrayHelper.php
│ │ ├── CellHelper.php
│ │ └── FileTypeDetector.php
│ ├── Importer.php
│ ├── Imports/
│ │ ├── EndRowFinder.php
│ │ ├── HeadingRowExtractor.php
│ │ ├── HeadingRowFormatter.php
│ │ ├── ModelImporter.php
│ │ ├── ModelManager.php
│ │ └── Persistence/
│ │ └── CascadePersistManager.php
│ ├── Jobs/
│ │ ├── AfterImportJob.php
│ │ ├── AppendDataToSheet.php
│ │ ├── AppendPaginatedToSheet.php
│ │ ├── AppendQueryToSheet.php
│ │ ├── AppendViewToSheet.php
│ │ ├── CloseSheet.php
│ │ ├── ExtendedQueueable.php
│ │ ├── Middleware/
│ │ │ └── LocalizeJob.php
│ │ ├── ProxyFailures.php
│ │ ├── QueueExport.php
│ │ ├── QueueImport.php
│ │ ├── ReadChunk.php
│ │ └── StoreQueuedExport.php
│ ├── MappedReader.php
│ ├── Middleware/
│ │ ├── CellMiddleware.php
│ │ ├── ConvertEmptyCellValuesToNull.php
│ │ └── TrimCellValue.php
│ ├── Mixins/
│ │ ├── DownloadCollectionMixin.php
│ │ ├── DownloadQueryMacro.php
│ │ ├── ImportAsMacro.php
│ │ ├── ImportMacro.php
│ │ ├── StoreCollectionMixin.php
│ │ └── StoreQueryMacro.php
│ ├── QueuedWriter.php
│ ├── Reader.php
│ ├── RegistersCustomConcerns.php
│ ├── Row.php
│ ├── SettingsProvider.php
│ ├── Sheet.php
│ ├── Transactions/
│ │ ├── DbTransactionHandler.php
│ │ ├── NullTransactionHandler.php
│ │ ├── TransactionHandler.php
│ │ └── TransactionManager.php
│ ├── Validators/
│ │ ├── Failure.php
│ │ ├── RowValidator.php
│ │ └── ValidationException.php
│ └── Writer.php
└── tests/
├── Cache/
│ └── BatchCacheTest.php
├── CellTest.php
├── Concerns/
│ ├── ExportableTest.php
│ ├── FromArrayTest.php
│ ├── FromCollectionTest.php
│ ├── FromGeneratorTest.php
│ ├── FromIteratorTest.php
│ ├── FromQueryTest.php
│ ├── FromViewTest.php
│ ├── ImportableTest.php
│ ├── OnEachRowTest.php
│ ├── RegistersEventListenersTest.php
│ ├── RemembersChunkOffsetTest.php
│ ├── RemembersRowNumberTest.php
│ ├── ShouldQueueWithoutChainTest.php
│ ├── SkipsEmptyRowsTest.php
│ ├── SkipsOnErrorTest.php
│ ├── SkipsOnFailureTest.php
│ ├── ToArrayTest.php
│ ├── ToCollectionTest.php
│ ├── ToModelTest.php
│ ├── WithBackgroundColorTest.php
│ ├── WithBatchInsertsTest.php
│ ├── WithCalculatedFormulasTest.php
│ ├── WithChunkReadingTest.php
│ ├── WithColumnFormattingTest.php
│ ├── WithColumnLimitTest.php
│ ├── WithColumnWidthsTest.php
│ ├── WithConditionalSheetsTest.php
│ ├── WithCustomCsvSettingsTest.php
│ ├── WithCustomQuerySizeTest.php
│ ├── WithCustomStartCellTest.php
│ ├── WithCustomValueBinderTest.php
│ ├── WithDefaultStylesTest.php
│ ├── WithEventsTest.php
│ ├── WithFormatDataTest.php
│ ├── WithGroupedHeadingRowTest.php
│ ├── WithHeadingRowTest.php
│ ├── WithHeadingsTest.php
│ ├── WithLimitTest.php
│ ├── WithMappedCellsTest.php
│ ├── WithMappingTest.php
│ ├── WithMultipleSheetsTest.php
│ ├── WithPropertiesTest.php
│ ├── WithReadFilterTest.php
│ ├── WithSkipDuplicatesTest.php
│ ├── WithStartRowTest.php
│ ├── WithStrictNullComparisonTest.php
│ ├── WithStylesTest.php
│ ├── WithTitleTest.php
│ ├── WithUpsertsTest.php
│ └── WithValidationTest.php
├── Data/
│ ├── Disks/
│ │ └── .gitignore
│ └── Stubs/
│ ├── AfterQueueExportJob.php
│ ├── AfterQueueImportJob.php
│ ├── BeforeExportListener.php
│ ├── ChainedJobStub.php
│ ├── CustomConcern.php
│ ├── CustomSheetConcern.php
│ ├── CustomTransactionHandler.php
│ ├── Database/
│ │ ├── Factories/
│ │ │ ├── GroupFactory.php
│ │ │ └── UserFactory.php
│ │ ├── Group.php
│ │ ├── Migrations/
│ │ │ ├── 0000_00_00_000000_create_groups_table.php
│ │ │ ├── 0000_00_00_000001_create_group_user_table.php
│ │ │ ├── 0000_00_00_000002_add_group_id_to_users_table.php
│ │ │ └── 0000_00_00_000002_add_options_to_users.php
│ │ └── User.php
│ ├── EloquentCollectionWithMappingExport.php
│ ├── EloquentLazyCollectionExport.php
│ ├── EloquentLazyCollectionQueuedExport.php
│ ├── EmptyExport.php
│ ├── ExportWithEvents.php
│ ├── ExportWithEventsChunks.php
│ ├── ExportWithRegistersEventListeners.php
│ ├── FromGroupUsersQueuedQueryExport.php
│ ├── FromNestedArraysQueryExport.php
│ ├── FromNonEloquentQueryExport.php
│ ├── FromQueryWithCustomQuerySize.php
│ ├── FromUsersQueryExport.php
│ ├── FromUsersQueryExportWithEagerLoad.php
│ ├── FromUsersQueryExportWithMapping.php
│ ├── FromUsersQueryExportWithPrepareRows.php
│ ├── FromUsersQueryWithJoinExport.php
│ ├── FromUsersScoutExport.php
│ ├── FromViewExportWithMultipleSheets.php
│ ├── ImportWithEvents.php
│ ├── ImportWithEventsChunksAndBatches.php
│ ├── ImportWithRegistersEventListeners.php
│ ├── QueueImportWithoutJobChaining.php
│ ├── QueuedExport.php
│ ├── QueuedExportWithFailedEvents.php
│ ├── QueuedExportWithFailedHook.php
│ ├── QueuedExportWithLocalePreferences.php
│ ├── QueuedImport.php
│ ├── QueuedImportWithFailure.php
│ ├── QueuedImportWithMiddleware.php
│ ├── QueuedImportWithRetryUntil.php
│ ├── SheetForUsersFromView.php
│ ├── SheetWith100Rows.php
│ ├── ShouldQueueExport.php
│ ├── Views/
│ │ └── users.blade.php
│ ├── WithMappingExport.php
│ └── WithTitleExport.php
├── DelegatedMacroableTest.php
├── ExcelFakeTest.php
├── ExcelServiceProviderTest.php
├── ExcelTest.php
├── HeadingRowImportTest.php
├── Helpers/
│ └── FileHelper.php
├── InteractsWithQueueTest.php
├── Mixins/
│ ├── DownloadCollectionTest.php
│ ├── DownloadQueryMacroTest.php
│ ├── ImportAsMacroTest.php
│ ├── ImportMacroTest.php
│ ├── StoreCollectionTest.php
│ └── StoreQueryMacroTest.php
├── QueuedExportTest.php
├── QueuedImportTest.php
├── QueuedQueryExportTest.php
├── QueuedViewExportTest.php
├── TemporaryFileTest.php
├── TestCase.php
└── Validators/
└── RowValidatorTest.php
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* text eol=lf
/.github export-ignore
/tests export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.travis.yml export-ignore
phpunit.xml.dist export-ignore
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: patrickbrouwers
custom: https://laravel-excel.com/commercial-support
================================================
FILE: .github/ISSUE_TEMPLATE/1_Bug_report.yml
================================================
name: Bug Report
description: Report a general package issue. Filling in the issue template is mandatory, issues without it will be closed. Please ensure your Laravel-Excel version is still supported (Currently ^3.1)
title: "[Bug]: "
labels: [bug]
body:
- type: checkboxes
id: terms
attributes:
label: Is the bug applicable and reproducable to the latest version of the package and hasn't it been reported before?
description: Currently 3.1.x
options:
- label: Yes, it's still reproducable
required: true
- type: input
attributes:
label: What version of Laravel Excel are you using?
description: 'For example: 3.1.30'
validations:
required: true
- type: input
attributes:
label: What version of Laravel are you using?
description: 'For example: 7.1.10'
validations:
required: true
- type: input
attributes:
label: What version of PHP are you using?
description: 'For example: 8.1.0'
validations:
required: true
- type: textarea
attributes:
label: Describe your issue
description: Describe the problem you're seeing, Please be short, but concise.
validations:
required: true
- type: textarea
attributes:
label: How can the issue be reproduced?
description: Please provide easy-to-reproduce steps (repository, simple code example, failing unit test). Please don't paste your entire code, but create a reproducable scenario that can be tested using a simple User model in a blank Laravel installation.
validations:
required: true
- type: textarea
attributes:
label: What should be the expected behaviour?
description: Please describe what the expected outcome should be. Any suggestions to what is wrong?
validations:
required: true
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: 🧐 Questions
url: https://github.com/SpartnerSoftware/Laravel-Excel/discussions
about: The issuer tracker is focused on reporting bugs or problems. Please use the Discussions tabs for questions!
- name: 💡 Proposals
url: https://github.com/SpartnerSoftware/Laravel-Excel/discussions
about: If you have a 🔥 idea. Please use the Discussions tab for this!
- name: 📚 Documentation improvements
url: https://github.com/SpartnerSoftware/laravel-excel-docs
about: Our documentation is open-source, you can make a PR with your suggested changes over there.
- name: Commercial Support
url: https://laravel-excel.com/commercial-support
about: If you need urgent help we can offer this on commercial basis. Send us an e-mail to discuss the posibilities and our hourly rate.
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
<!--
PLEASE READ: FILLING IN THE TEMPLATE IS REQUIRED!
PLEASE ONLY USE THE ISSUE TRACKER FOR REPORTING BUGS. FOR QUESTIONS USE DISCUSSIONS.
Issues without the issue template will be CLOSED.
Have you read Laravel-Excel's contributing guidelines (https://laravel-excel.maatwebsite.nl/docs/3.1/getting-started/contributing)
and Code Of Conduct (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/CODE_OF_CONDUCT.md)?
By filing an Issue, you are expected to comply with it, including treating everyone with respect.
-->
1️⃣ Is the bug applicable and reproducable to the latest version of the package and hasn't it been reported before? (Currently 3.1.x)
2️⃣ What version of the package, Laravel and PHP do you use? Please provide the FULL version number.
- Laravel Excel version: [e.g. 3.1.30]
- Laravel version: [e.g. 8.3.1]
- PHP version: [e.g. 7.4.0]
3️⃣ Describe your issue. Please be short, but concise.
4️⃣ How can the issue be reproduced? Please provide easy-to-reproduce steps (repository, simple code example, failing unit test).
5️⃣ What should be the expected behaviour?
6️⃣ Have you filled in the entire issue template? If not, your issue will be closed. Thanks for using the package! 🙌
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
Please take note of our contributing guidelines: https://docs.laravel-excel.com/3.1/getting-started/contributing.html
Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
1️⃣ Why should it be added? What are the benefits of this change?
2️⃣ Does it contain multiple, unrelated changes? Please separate the PRs out.
3️⃣ Does it include tests, if possible?
4️⃣ Any drawbacks? Possible breaking changes?
5️⃣ Mark the following tasks as done:
- [ ] Checked the codebase to ensure that your feature doesn't already exist.
- [ ] Take note of the contributing guidelines.
- [ ] Checked the pull requests to ensure that another person hasn't already submitted a fix.
- [ ] Added tests to ensure against regression.
6️⃣ Thanks for contributing! 🙌
================================================
FILE: .github/SUPPORT.md
================================================
# Support
This repository is focused on bugs and issues. We unfortunately can't answer all support questions in a timely manner. Our software is free and open source, meaning that the use of our software is optional.
We hold no liability and there is no obligation to support. We will provide support on a best effort basis.
If you use the software commercially and need elaborate support or need it urgently, we can offer this on a commercial basis.
Please contact info@spartner.nl or via phone +31 (0)10 744 9312 or visit the dedicated page with more information:
https://laravel-excel.com/commercial-support
Also note that we are a wrapper package around PhpSpreadsheet and thus we cannot answer all questions that are about PhpSpreadsheet functionality. You could ask your question on Stackoverflow or a Laravel-related forum:
- https://stackoverflow.com/questions/tagged/laravel-excel
- https://laracasts.com/discuss
- https://laravel.io/forum
More information about support you can find in the documentation: https://docs.laravel-excel.com/3.1/getting-started/support.html
Thanks!
================================================
FILE: .github/issuecomplete.yml
================================================
# The name of the label to apply when an issue does not have all tasks checked
labelName: more information needed
# The text of the comment to add to the issue in addition to the label
commentText: >
Thanks for submitting the ticket. Unfortunately the information you provided is incomplete. We need to know which version you use and how to reproduce it. Please include code examples. Before we can pick it up, please check (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) and add the missing information.
To make processing of this ticket a lot easier, please make sure to check (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) and double-check if you have filled in the issue template correctly. This will allow us to pick up your ticket more efficiently. Issues that don't have an issue template filled in, will be closed.
# Whether or not to ensure all checkboxes are checked
checkCheckboxes: false
# Keywords to look for in the body of the issue
keywords:
- Versions
- Description
================================================
FILE: .github/stale.yml
================================================
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 1
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- proposal
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: false
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
This bug report has been automatically closed because it has not had
recent activity. If this is still an active bug, please comment to reopen.
Thank you for your contributions.
================================================
FILE: .github/workflows/run-tests.yml
================================================
name: Run tests
on:
push:
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
tests:
if: "!contains(github.event.head_commit.message, 'skip ci')"
runs-on: ${{ matrix.os }}
services:
mysql:
image: mysql:5.7
env:
MYSQL_DATABASE: laravel_excel
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
matrix:
php: [7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5]
laravel: [13, 12, 11, 10, 9, 8, 7, 6, 5.8]
dependency-version: [prefer-stable]
os: [ubuntu-latest]
include:
- laravel: 13
scout: 11.*
testbench: 11.*
- laravel: 12
scout: 10.*
testbench: 10.*
- laravel: 11
scout: 10.*
testbench: 9.*
- laravel: 10
scout: 10.*
testbench: 8.*
- laravel: 9
scout: 9.*
testbench: 7.*
- laravel: 8
scout: 8.*
testbench: 6.*
- laravel: 7
scout: 7.2.*
testbench: 5.*
- laravel: 6
scout: 7.1.*
testbench: 4.*
- laravel: 5.8
scout: 7.1.*
testbench: 3.8.*
exclude:
- laravel: 13
php: 8.2
- laravel: 13
php: 8.1
- laravel: 13
php: 8.0
- laravel: 13
php: 7.4
- laravel: 12
php: 8.1
- laravel: 12
php: 8.0
- laravel: 12
php: 7.4
- laravel: 11
php: 8.5
- laravel: 11
php: 8.1
- laravel: 11
php: 8.0
- laravel: 11
php: 7.4
- laravel: 10
php: 8.0
- laravel: 10
php: 7.4
- laravel: 10
php: 8.4
- laravel: 10
php: 8.5
- laravel: 9
php: 7.4
- laravel: 9
php: 8.4
- laravel: 9
php: 8.5
- laravel: 8
php: 8.4
- laravel: 8
php: 8.5
- laravel: 7
php: 8.0
- laravel: 7
php: 8.1
- laravel: 7
php: 8.2
- laravel: 7
php: 8.3
- laravel: 7
php: 8.4
- laravel: 7
php: 8.5
- laravel: 6
php: 8.0
- laravel: 6
php: 8.1
- laravel: 6
php: 8.2
- laravel: 6
php: 8.3
- laravel: 6
php: 8.4
- laravel: 6
php: 8.5
- laravel: 5.8
php: 8.0
- laravel: 5.8
php: 8.1
- laravel: 5.8
php: 8.2
- laravel: 5.8
php: 8.3
- laravel: 5.8
php: 8.4
- laravel: 5.8
php: 8.5
name: PHP${{ matrix.php }} - L${{ matrix.laravel }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache/files
key: dependency-cache-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, mysql, pdo_mysql, bcmath, intl, gd, exif, iconv
coverage: none
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}.*" "orchestra/testbench:${{ matrix.testbench }}" "laravel/scout:${{ matrix.scout }}" --no-interaction --no-update
composer update --${{ matrix.dependency-version }} --no-interaction
- name: Install legacy factories
run: |
composer require "laravel/legacy-factories" -W --no-interaction
if: "matrix.laravel >= 8"
- name: Execute tests
run: vendor/bin/phpunit --testdox --configuration phpunit.xml.dist
env:
DB_PORT: ${{ job.services.mysql.ports[3306] }}
================================================
FILE: .gitignore
================================================
/vendor
composer.phar
composer.lock
.DS_Store
.idea
phpunit.xml
.phpunit.result.cache
================================================
FILE: .phpunit.cache/test-results
================================================
{"version":1,"defects":{"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import_with_batch_cache":5,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export_with_batch_cache":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_batch_cache":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_relation_query_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_eager_loads":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_eager_loads_and_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_without_using_eloquent":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_without_using_eloquent_and_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_with_nested_arrays":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_with_nested_arrays_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_batch_caching":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_prepare_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_scout":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::can_export_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_from_uploaded_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_csv_file_with_html_tags_inside":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_with_ignore_empty_set_to_true":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_with_ignore_empty_set_to_false":8,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::can_import_each_row_individually":8,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::it_respects_the_end_column":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::events_get_called_when_importing":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::can_access_chunk_offset_on_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_array_in_chunks_with_batch_inserts":8,"ShouldQueueWithoutChainTest::can_import_to_model_in_chunks":8,"ShouldQueueWithoutChainTest::can_import_to_model_without_job_chaining":8,"ShouldQueueWithoutChainTest::a_queue_name_can_be_specified_when_importing":8,"ShouldQueueWithoutChainTest::the_cleanup_only_runs_when_all_jobs_are_done":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_on_each_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_importing_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_importing_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::can_skip_on_error":7,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::can_skip_errors_and_collect_all_errors_at_the_end":7,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_skip_on_error":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::skips_only_failed_rows_in_batch":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_skip_failures_and_collect_all_failures_at_the_end":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_validate_using_oneachrow_and_skipsonfailure":7,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_validate_using_tocollection_and_skipsonfailure":7,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::can_import_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::can_import_multiple_sheets_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::can_import_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::can_import_multiple_sheets_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_each_row_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::has_timestamps_when_imported_single_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_multiple_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_multiple_different_types_of_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_to_model_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_to_model_in_batches_bigger_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_multiple_different_types_of_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::has_timestamps_when_imported_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::by_default_does_not_calculate_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_model_with_calculated_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas_and_multi_sheet_references":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas_and_skips_empty":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_model_with_calculated_formulas_and_skips_empty":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_un":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_csv_in_chunks_and_insert_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_index":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_catch_job_failed_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_and_format_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_in_chunks_without_formatting":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::can_import_to_array_with_column_limit":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::can_import_to_array_with_column_limit_and_skips_empty_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithConditionalSheetsTest::can_select_which_sheets_will_be_imported":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_read_csv_import_with_custom_settings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::cannot_read_with_wrong_delimiter":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomQuerySizeTest::can_export_with_custom_count":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::can_set_a_value_binder_on_import":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::import_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::import_chunked_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_array_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_array_with_format_data_and_skips_empty_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_collection_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_model_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_to_array_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_oneachrow_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_to_collection_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_each_row_to_model_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_each_row_to_model_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_each_row_to_model_with_different_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_to_array_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_empty_rows_with_header":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_empty_models_with_header":7,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_cast_empty_headers_to_indexed_int":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_import_a_limited_section_of_rows_to_model_with_different_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_import_to_array_with_limit":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_set_limit_bigger_than_row_size":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_references_to_cells":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_nested_references_to_cells":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_references_to_cells_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_export_with_multiple_sheets_using_collections":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_index_will_throw_sheet_not_found_exception":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_name_will_throw_sheet_not_found_exception":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_name_can_be_ignored":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored_per_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored_per_sheet":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_index_and_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_name_and_index":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::can_import_each_row_to_model_with_different_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::can_import_to_array_with_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_batches_with_defined_upsert_columns":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_rows_with_defined_upsert_columns":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_closure_validation_rules":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_custom_validation_rule_objects":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_conditionality":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_unless_conditionality":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_combined_rules_with_colons":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_with_custom_attributes":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_with_custom_message":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_headings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_grouped_headings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_configure_validator":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_toarray":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_tocollection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_tomodel":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_skipsemptyrows":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_tsv_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_chain_imports":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_from_uploaded_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_from_real_path":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_without_extension_with_explicit_reader_type":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_model_collection_with_headings_as_excel":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::cannot_queue_import_that_does_not_implement_should_queue":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import":7,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import_with_batch_cache_and_file_store":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_import_with_remote_temp_disk":7,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_keep_extension_for_temp_file_on_remote_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_import_with_remote_temp_disk_and_prefix":7,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_automatically_delete_temp_file_on_failure_when_using_remote_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::cannot_automatically_delete_temp_file_on_failure_when_using_local_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_force_remote_download_and_deletion_for_each_chunk_on_queue":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_middleware_method_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_retry_until_method_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_max_exceptions_property_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_batch_cache_and_file_store":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_mapping":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_scout_export":8,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::can_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_lazy_collection":8,"Maatwebsite\\Excel\\Tests\\CellTest::can_get_cell_value":7,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::export_chunked_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromArrayTest::can_export_from_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_with_multiple_sheets_from_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_lazy_collection_with_queue":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnFormattingTest::can_export_with_column_formatting":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnWidthsTest::can_set_column_width":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_store_csv_export_with_custom_settings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_store_csv_export_with_custom_encoding":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomStartCellTest::can_store_collection_with_custom_start_cell":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::can_set_a_value_binder_on_export":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithDefaultStylesTest::can_configure_default_styles":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_multiple_heading_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_heading_row_with_custom_start_cell":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::can_export_with_heading":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::can_return_multiple_rows_in_map":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::json_array_columns_shouldnt_be_detected_as_multiple_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exported_zero_values_are_not_null_when_exporting_with_strict_null_comparison":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exported_zero_values_are_null_when_not_exporting_with_strict_null_comparison":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exports_trailing_empty_cells":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exports_trailing_empty_cells_by_setting_config_strict_null_comparison":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStylesTest::can_configure_styles":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_csv_export_with_custom_settings":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_a_collection_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_a_collection_with_headers_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_collection_with_headers_with_hidden_eloquent_attributes":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_collection_with_headers_when_making_attributes_visible":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_set_custom_response_headers":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::can_download_a_query_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::can_download_a_collection_with_headers_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportAsMacroTest::can_import_directly_into_a_model_with_mapping":8,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportMacroTest::can_import_directly_into_a_model":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_as_excel_on_non_default_disk":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_with_headings_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_download_a_query_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_download_a_query_as_excel_on_different_disk":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_store_a_query_with_headers_as_excel":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export_and_store_on_different_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_remote_temp_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_remote_temp_disk_and_prefix":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_implicitly_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_mapping_on_eloquent_models":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_set_locale_on_queue_export_job":8,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_not_flushing_the_cache":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_models_with_belongs_to_relations":7,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_models_with_belongs_to_many_relations":7,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_writes_to_cache_with_a_dateinterval_ttl":7,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_heading_row_formatter":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_heading_row_formatter_with_key":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_row_number":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets_with_key":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets_with_custom_row_number":5,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_heading_row_with_custom_formatter_defined_in_config":5,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_cannot_import_a_non_existing_xlsx_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_relation_query_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_eager_loads":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_eager_loads_and_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_without_using_eloquent":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_without_using_eloquent_and_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_with_nested_arrays":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_with_nested_arrays_queued":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_batch_caching":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_prepare_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_scout":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::test_can_export_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::test_can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_from_uploaded_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_csv_file_with_html_tags_inside":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_true":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_false":8,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::test_can_import_each_row_individually":8,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::test_it_respects_the_end_column":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::test_events_get_called_when_importing":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::test_can_access_chunk_offset_on_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_array_in_chunks_with_batch_inserts":8,"ShouldQueueWithoutChainTest::test_can_import_to_model_in_chunks":8,"ShouldQueueWithoutChainTest::test_can_import_to_model_without_job_chaining":8,"ShouldQueueWithoutChainTest::test_a_queue_name_can_be_specified_when_importing":8,"ShouldQueueWithoutChainTest::test_the_cleanup_only_runs_when_all_jobs_are_done":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_on_each_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_importing_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_importing_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::test_can_skip_on_error":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::test_can_skip_errors_and_collect_all_errors_at_the_end":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_skip_on_error":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_skips_only_failed_rows_in_batch":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_skip_failures_and_collect_all_failures_at_the_end":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_validate_using_oneachrow_and_skipsonfailure":8,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_validate_using_tocollection_and_skipsonfailure":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::test_can_import_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::test_can_import_multiple_sheets_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::test_can_import_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::test_can_import_multiple_sheets_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_each_row_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_has_timestamps_when_imported_single_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_multiple_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_multiple_different_types_of_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_models_with_belongs_to_relations":8,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_models_with_belongs_to_many_relations":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_to_model_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_to_model_in_batches_bigger_file":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_multiple_different_types_of_models_in_single_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_has_timestamps_when_imported_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_by_default_does_not_calculate_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_model_with_calculated_formulas":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas_and_multi_sheet_references":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas_and_skips_empty":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_model_with_calculated_formulas_and_skips_empty":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_un":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_csv_in_chunks_and_insert_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_index":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_catch_job_failed_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_and_format_in_chunks":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_in_chunks_without_formatting":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::test_can_import_to_array_with_column_limit":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::test_can_import_to_array_with_column_limit_and_skips_empty_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithConditionalSheetsTest::test_can_select_which_sheets_will_be_imported":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_read_csv_import_with_custom_settings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_cannot_read_with_wrong_delimiter":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomQuerySizeTest::test_can_export_with_custom_count":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::test_can_set_a_value_binder_on_import":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_import_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_import_chunked_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_export_chunked_events_get_called":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_array_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_array_with_format_data_and_skips_empty_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_collection_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_model_with_format_data":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_to_array_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_oneachrow_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_to_collection_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_each_row_to_model_with_grouped_headers":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_each_row_to_model_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_each_row_to_model_with_different_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_to_array_with_heading_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_empty_rows_with_header":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_empty_models_with_header":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_cast_empty_headers_to_indexed_int":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_import_a_limited_section_of_rows_to_model_with_different_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_import_to_array_with_limit":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_set_limit_bigger_than_row_size":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_references_to_cells":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_nested_references_to_cells":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_references_to_cells_to_model":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_export_with_multiple_sheets_using_collections":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_index_will_throw_sheet_not_found_exception":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_name_will_throw_sheet_not_found_exception":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_name_can_be_ignored":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored_per_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored_per_sheet":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_index_and_name":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_name_and_index":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::test_can_import_each_row_to_model_with_different_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::test_can_import_to_array_with_start_row":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_batches_with_defined_upsert_columns":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_rows_with_defined_upsert_columns":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_closure_validation_rules":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_custom_validation_rule_objects":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_conditionality":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_unless_conditionality":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_combined_rules_with_colons":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_with_custom_attributes":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_with_custom_attributes_pointing_to_another_attribute":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_with_custom_message":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_headings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_grouped_headings":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_in_batches":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_collection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_array":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_configure_validator":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_toarray":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_tocollection":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_tomodel":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_oneachrow":8,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_skipsemptyrows":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_tsv_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_chain_imports":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_from_uploaded_file":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_from_real_path":8,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_without_extension_with_explicit_reader_type":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::test_can_download_a_query_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::test_can_download_a_collection_with_headers_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportAsMacroTest::test_can_import_directly_into_a_model_with_mapping":8,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportMacroTest::test_can_import_directly_into_a_model":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::test_can_store_a_model_collection_with_headings_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_download_a_query_as_excel":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_download_a_query_as_excel_on_different_disk":8,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_store_a_query_with_headers_as_excel":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_cannot_queue_import_that_does_not_implement_should_queue":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_an_import":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_an_import_with_batch_cache_and_file_store":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_import_with_remote_temp_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_keep_extension_for_temp_file_on_remote_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_import_with_remote_temp_disk_and_prefix":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_automatically_delete_temp_file_on_failure_when_using_remote_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_cannot_automatically_delete_temp_file_on_failure_when_using_local_disk":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_force_remote_download_and_deletion_for_each_chunk_on_queue":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_middleware_method_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_retry_until_method_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_max_exceptions_property_on_queued_import":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export_with_batch_cache_and_file_store":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export_with_mapping":8,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_scout_export":8,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::test_can_queue_an_export":8,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::test_can_export_multiple_sheets_from_view":8,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_string_input_matching_pattern":7,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_required_without_all":7,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_required_without":7},"times":{"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import_with_batch_cache":2.346,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export":0.241,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export_with_batch_cache":0.067,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_batch_cache":0.374,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::will_get_multiple_from_memory_if_cells_hold_in_memory":0.02,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::will_get_multiple_from_cache_if_cells_are_persisted":0.002,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::will_get_multiple_from_cache_and_persisted":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_persists_to_cache_when_memory_limit_reached_on_setting_a_value":0,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_persists_to_cache_when_memory_limit_reached_on_setting_multiple_values":0,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_writes_to_cache_with_default_ttl#null (forever)":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_writes_to_cache_with_default_ttl#int value":0,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_writes_to_cache_with_default_ttl#callable":0,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_writes_to_cache_with_a_dateinterval_ttl":0,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::it_can_override_default_ttl":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::needs_to_have_a_file_name_when_downloading":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::needs_to_have_a_file_name_when_storing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::needs_to_have_a_file_name_when_queuing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::responsable_needs_to_have_file_name_configured_inside_the_export":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::is_responsable":0.037,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_have_customized_header":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_set_custom_headers_in_export_class":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_get_raw_export_contents":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_have_customized_disk_options_when_storing":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_have_customized_disk_options_when_queueing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_set_disk_options_in_export_class_when_storing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_set_disk_options_in_export_class_when_queuing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_override_export_class_disk_options_when_calling_store":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_override_export_class_disk_options_when_calling_queue":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_have_empty_disk_options_when_storing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::can_have_empty_disk_options_when_queueing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\FromArrayTest::can_export_from_array":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_collection":0.036,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_with_multiple_sheets_from_collection":0.139,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_lazy_collection":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\FromGeneratorTest::can_export_from_generator":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\FromIteratorTest::can_export_from_iterator":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_from_uploaded_file":0.008,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_csv_file_with_html_tags_inside":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_with_ignore_empty_set_to_true":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::can_import_a_simple_xlsx_file_with_ignore_empty_set_to_false":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::can_import_each_row_individually":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::it_respects_the_end_column":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::events_get_called_when_exporting":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::events_get_called_when_importing":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::can_have_invokable_class_as_listener":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::can_set_and_get_chunk_offset":0,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::can_access_chunk_offset_on_import_to_array_in_chunks":0.249,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_set_and_get_row_number":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_model":0.185,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_array_in_chunks":3.444,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::can_access_row_number_on_import_to_array_in_chunks_with_batch_inserts":3.44,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_to_collection":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_on_each_row":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::skips_empty_rows_when_importing_to_model":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_importing_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_importing_to_model":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::custom_skips_rows_when_using_oneachrow":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::can_import_to_array":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::can_import_multiple_sheets_to_array":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::can_import_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::can_import_multiple_sheets_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::can_configure_background_color_from_rgb_string":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::can_configure_background_color_as_array":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::can_configure_background_color_with_color_instance":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::by_default_does_not_calculate_formulas":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_model_with_calculated_formulas":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas_and_multi_sheet_references":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_array_with_calculated_formulas_and_skips_empty":0.018,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::can_import_to_model_with_calculated_formulas_and_skips_empty":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnFormattingTest::can_export_with_column_formatting":0.008,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnWidthsTest::can_set_column_width":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_store_csv_export_with_custom_settings":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_store_csv_export_with_custom_encoding":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_read_csv_with_auto_detecting_delimiter_semicolon":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_read_csv_with_auto_detecting_delimiter_comma":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::can_read_csv_import_with_custom_settings":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::cannot_read_with_wrong_delimiter":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomStartCellTest::can_store_collection_with_custom_start_cell":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::can_set_a_value_binder_on_export":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::can_set_a_value_binder_on_import":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithDefaultStylesTest::can_configure_default_styles":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::export_events_get_called":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::import_events_get_called":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::import_chunked_events_get_called":0.499,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::can_have_invokable_class_as_listener":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::can_have_global_event_listeners":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::can_have_custom_concern_handlers":0.012,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::can_have_custom_sheet_concern_handlers":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_array":0.008,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_array_with_format_data":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_array_with_format_data_and_skips_empty_rows":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_collection_with_format_data":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::by_default_import_to_model":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::can_import_to_model_with_format_data":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_heading_row":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_multiple_heading_rows":0.021,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::can_export_from_collection_with_heading_row_with_custom_start_cell":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::can_export_with_heading":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::can_return_multiple_rows_in_map":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::json_array_columns_shouldnt_be_detected_as_multiple_rows":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::can_set_custom_document_properties":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::it_merges_with_default_properties":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::it_ignores_empty_properties":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithReadFilterTest::can_register_custom_read_filter":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exported_zero_values_are_not_null_when_exporting_with_strict_null_comparison":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exported_zero_values_are_null_when_not_exporting_with_strict_null_comparison":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exports_trailing_empty_cells":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::exports_trailing_empty_cells_by_setting_config_strict_null_comparison":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStylesTest::can_configure_styles":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithTitleTest::can_export_with_title":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithTitleTest::can_export_sheet_title_when_longer_than_max_length":0.006,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::can_call_methods_from_delegate":0.004,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::can_use_writer_macros":0.004,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::can_use_sheet_macros":0.004,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_fake_an_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_downloaded_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_stored_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_regex_against_a_fake_stored_export_with_multiple_files":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_stored_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_queued_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_implicitly_queued_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_queued_export_with_chain":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_raw_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_import":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_import_with_uploaded_file":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_queued_import":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_implicitly_queued_import":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::can_assert_against_a_fake_queued_import_with_chain":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_queued_export":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::custom_transaction_handler_is_bound":0.001,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::is_bound":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::has_aliased":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::registers_console_commands":0.006,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::sets_php_spreadsheet_settings":0,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_download_an_export_object_with_facade":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_download_an_export_object":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_an_export_object_on_default_disk":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_an_export_object_on_another_disk":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_csv_export_with_default_settings":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_get_raw_export_contents":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_tsv_export_with_default_settings":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_store_csv_export_with_custom_settings":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::cannot_use_from_collection_and_from_view_on_same_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_to_array":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_to_collection":0.039,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_to_collection_without_import_object":0.031,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_tsv_file":0.005,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_chain_imports":0.006,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_from_uploaded_file":0.004,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_a_simple_xlsx_file_from_real_path":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::import_will_throw_error_when_no_reader_type_could_be_detected_when_no_extension":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::import_will_throw_error_when_no_reader_type_could_be_detected_with_unknown_extension":0.013,"Maatwebsite\\Excel\\Tests\\ExcelTest::can_import_without_extension_with_explicit_reader_type":0.004,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row":0.059,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_heading_row_formatter":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_heading_row_formatter_with_key":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_with_custom_row_number":0.008,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets_with_key":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_only_heading_row_for_multiple_sheets_with_custom_row_number":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::can_import_heading_row_with_custom_formatter_defined_in_config":0.003,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::read_chunk_job_can_interact_with_queue":0.001,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::append_data_to_sheet_job_can_interact_with_queue":0,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::append_query_to_sheet_job_can_interact_with_queue":0,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::append_view_to_sheet_job_can_interact_with_queue":0,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_a_collection_as_excel":0.008,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_a_collection_with_headers_as_excel":0.009,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_collection_with_headers_with_hidden_eloquent_attributes":0.007,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_download_collection_with_headers_when_making_attributes_visible":0.007,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::can_set_custom_response_headers":0.005,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_as_excel":0.011,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_as_excel_on_non_default_disk":0.006,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_collection_with_headings_as_excel":0.007,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::can_store_a_model_collection_with_headings_as_excel":0.008,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_an_export_and_store_on_different_disk":0.234,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_remote_temp_disk":0.276,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_remote_temp_disk_and_prefix":0.24,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_implicitly_queue_an_export":0.241,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_with_mapping_on_eloquent_models":0.017,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_catch_failures":0.007,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_catch_failures_on_queue_export_job":0.003,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_set_locale_on_queue_export_job":0.015,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::can_queue_export_not_flushing_the_cache":0.294,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::can_use_default_rights":0.001,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::can_use_dir_rights":0.001,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::can_use_file_rights":0.001,"ShouldQueueWithoutChainTest::can_import_to_model_in_chunks":0.065,"ShouldQueueWithoutChainTest::can_import_to_model_without_job_chaining":0.053,"ShouldQueueWithoutChainTest::a_queue_name_can_be_specified_when_importing":0.045,"ShouldQueueWithoutChainTest::the_cleanup_only_runs_when_all_jobs_are_done":0.067,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::can_skip_on_error":0.039,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::can_skip_errors_and_collect_all_errors_at_the_end":0.036,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_skip_on_error":0.037,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::skips_only_failed_rows_in_batch":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_skip_failures_and_collect_all_failures_at_the_end":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_validate_using_oneachrow_and_skipsonfailure":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::can_validate_using_tocollection_and_skipsonfailure":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_each_row_to_model":0.058,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::has_timestamps_when_imported_single_model":0.052,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_multiple_models_in_single_to_model":0.06,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_multiple_different_types_of_models_in_single_to_model":0.063,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_to_model_in_batches":0.074,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_to_model_in_batches_bigger_file":0.278,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::can_import_multiple_different_types_of_models_in_single_to_model":0.054,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::has_timestamps_when_imported_in_batches":0.056,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_un":0.065,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches":0.436,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_heading_row":0.429,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_csv_in_chunks_and_insert_in_batches":1.206,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets":1.223,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_in_chunks":1.854,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_index":1.216,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_name":1.211,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_catch_job_failed_in_chunks":0.048,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_and_format_in_chunks":0.054,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::can_import_to_array_in_chunks_without_formatting":0.048,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::can_import_to_array_with_column_limit":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::can_import_to_array_with_column_limit_and_skips_empty_rows":0.033,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_to_array_with_grouped_headers":0.055,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_oneachrow_with_grouped_headers":0.053,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_to_collection_with_grouped_headers":0.05,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::can_import_each_row_to_model_with_grouped_headers":0.061,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_each_row_to_model_with_heading_row":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_each_row_to_model_with_different_heading_row":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_to_array_with_heading_row":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_empty_rows_with_header":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_import_empty_models_with_header":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::can_cast_empty_headers_to_indexed_int":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_import_a_limited_section_of_rows_to_model_with_different_start_row":0.057,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_import_to_array_with_limit":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::can_set_limit_bigger_than_row_size":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_references_to_cells":0.034,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_nested_references_to_cells":0.031,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::can_import_with_references_to_cells_to_model":0.041,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::can_import_each_row_to_model_with_different_start_row":0.027,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::can_import_to_array_with_start_row":0.027,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_batches":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_rows":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_batches_with_defined_upsert_columns":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::can_upsert_models_in_rows_with_defined_upsert_columns":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows":0.068,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_closure_validation_rules":0.054,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_custom_validation_rule_objects":0.07,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_conditionality":0.053,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_unless_conditionality":0.056,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_combined_rules_with_colons":0.067,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_with_custom_attributes":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_with_custom_message":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_headings":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_with_grouped_headings":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_rows_in_batches":0.052,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_oneachrow":0.05,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_collection":0.053,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_validate_using_array":0.129,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_configure_validator":0.059,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_toarray":0.057,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_tocollection":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_tomodel":0.053,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_oneachrow":0.052,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::can_prepare_using_skipsemptyrows":0.06,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::cannot_queue_import_that_does_not_implement_should_queue":0.053,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import":2.07,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_an_import_with_batch_cache_and_file_store":2.129,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_import_with_remote_temp_disk":2.209,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_keep_extension_for_temp_file_on_remote_disk":2.125,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_queue_import_with_remote_temp_disk_and_prefix":2.08,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_automatically_delete_temp_file_on_failure_when_using_remote_disk":0.106,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::cannot_automatically_delete_temp_file_on_failure_when_using_local_disk":0.12,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_force_remote_download_and_deletion_for_each_chunk_on_queue":2.13,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_middleware_method_on_queued_import":0.065,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_retry_until_method_on_queued_import":0.064,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::can_define_max_exceptions_property_on_queued_import":0.105,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query":0.116,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_relation_query_queued":0.181,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_eager_loads":0.085,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_eager_loads_and_queued":0.106,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_without_using_eloquent":0.063,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_without_using_eloquent_and_queued":0.149,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_with_nested_arrays":0.069,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_builder_with_nested_arrays_queued":0.079,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_batch_caching":0.114,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_query_with_prepare_rows":0.123,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::can_export_from_scout":0.117,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::can_export_from_view":0.041,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::can_export_multiple_sheets_from_view":0.094,"Maatwebsite\\Excel\\Tests\\Concerns\\WithConditionalSheetsTest::can_select_which_sheets_will_be_imported":0.013,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomQuerySizeTest::can_export_with_custom_count":0.09,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_export_with_multiple_sheets_using_collections":0.151,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_export_multiple_sheets_from_view":0.11,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_index_will_throw_sheet_not_found_exception":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_name_will_throw_sheet_not_found_exception":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_name_can_be_ignored":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored_per_name":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::unknown_sheet_indices_can_be_ignored_per_sheet":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets":0.013,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_name":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_index_and_name":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::can_import_multiple_sheets_by_sheet_name_and_index":0.004,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export":0.208,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_batch_cache_and_file_store":0.262,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_an_export_with_mapping":0.049,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::can_queue_scout_export":0.228,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::can_queue_an_export":0.145,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::can_export_multiple_sheets_from_view":0.26,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::can_export_from_lazy_collection_with_queue":0.026,"Maatwebsite\\Excel\\Tests\\CellTest::can_get_cell_value":0.029,"Maatwebsite\\Excel\\Tests\\CellTest::can_trim_empty_cells":0.004,"Maatwebsite\\Excel\\Tests\\CellTest::convert_empty_cells_to_null":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::export_chunked_events_get_called":0.113,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportAsMacroTest::can_import_directly_into_a_model_with_mapping":0.036,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportMacroTest::can_import_directly_into_a_model":0.036,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::can_download_a_query_as_excel":0.062,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::can_download_a_collection_with_headers_as_excel":0.061,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_download_a_query_as_excel":0.063,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_download_a_query_as_excel_on_different_disk":0.061,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::can_store_a_query_with_headers_as_excel":0.07,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_models_with_belongs_to_relations":0.067,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::can_import_models_with_belongs_to_many_relations":0.07,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row":0.005,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_will_get_multiple_from_memory_if_cells_hold_in_memory":0.032,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_will_get_multiple_from_cache_if_cells_are_persisted":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_will_get_multiple_from_cache_and_persisted":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_persists_to_cache_when_memory_limit_reached_on_setting_a_value":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_persists_to_cache_when_memory_limit_reached_on_setting_multiple_values":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_writes_to_cache_with_default_ttl#null (forever)":0.002,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_writes_to_cache_with_default_ttl#int value":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_writes_to_cache_with_default_ttl#callable":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_writes_to_cache_with_a_dateinterval_ttl":0.001,"Maatwebsite\\Excel\\Tests\\Cache\\BatchCacheTest::test_it_can_override_default_ttl":0,"Maatwebsite\\Excel\\Tests\\CellTest::test_can_get_cell_value":0.043,"Maatwebsite\\Excel\\Tests\\CellTest::test_can_trim_empty_cells":0.004,"Maatwebsite\\Excel\\Tests\\CellTest::test_convert_empty_cells_to_null":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_needs_to_have_a_file_name_when_downloading":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_needs_to_have_a_file_name_when_storing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_needs_to_have_a_file_name_when_queuing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_responsable_needs_to_have_file_name_configured_inside_the_export":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_is_responsable":0.037,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_have_customized_header":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_set_custom_headers_in_export_class":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_get_raw_export_contents":0.008,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_have_customized_disk_options_when_storing":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_have_customized_disk_options_when_queueing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_set_disk_options_in_export_class_when_storing":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_set_disk_options_in_export_class_when_queuing":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_override_export_class_disk_options_when_calling_store":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_override_export_class_disk_options_when_calling_queue":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_have_empty_disk_options_when_storing":0,"Maatwebsite\\Excel\\Tests\\Concerns\\ExportableTest::test_can_have_empty_disk_options_when_queueing":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\FromArrayTest::test_can_export_from_array":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::test_can_export_from_collection":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::test_can_export_with_multiple_sheets_from_collection":0.196,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::test_can_export_from_lazy_collection":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\FromCollectionTest::test_can_export_from_lazy_collection_with_queue":0.04,"Maatwebsite\\Excel\\Tests\\Concerns\\FromGeneratorTest::test_can_export_from_generator":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\FromIteratorTest::test_can_export_from_iterator":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query":0.115,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_relation_query_queued":0.183,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_eager_loads":0.085,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_eager_loads_and_queued":0.106,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_without_using_eloquent":0.07,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_without_using_eloquent_and_queued":0.149,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_with_nested_arrays":0.07,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_builder_with_nested_arrays_queued":0.09,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_batch_caching":0.116,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_query_with_prepare_rows":0.117,"Maatwebsite\\Excel\\Tests\\Concerns\\FromQueryTest::test_can_export_from_scout":0.144,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::test_can_export_from_view":0.04,"Maatwebsite\\Excel\\Tests\\Concerns\\FromViewTest::test_can_export_multiple_sheets_from_view":0.101,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file":0.008,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_from_uploaded_file":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_csv_file_with_html_tags_inside":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_true":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_false":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::test_can_import_each_row_individually":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\OnEachRowTest::test_it_respects_the_end_column":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::test_events_get_called_when_exporting":0.016,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::test_events_get_called_when_importing":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\RegistersEventListenersTest::test_can_have_invokable_class_as_listener":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::test_can_set_and_get_chunk_offset":0,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersChunkOffsetTest::test_can_access_chunk_offset_on_import_to_array_in_chunks":0.121,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_set_and_get_row_number":0,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_model":0.145,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_array_in_chunks":0.086,"Maatwebsite\\Excel\\Tests\\Concerns\\RemembersRowNumberTest::test_can_access_row_number_on_import_to_array_in_chunks_with_batch_inserts":0.078,"ShouldQueueWithoutChainTest::test_can_import_to_model_in_chunks":0.065,"ShouldQueueWithoutChainTest::test_can_import_to_model_without_job_chaining":0.046,"ShouldQueueWithoutChainTest::test_a_queue_name_can_be_specified_when_importing":0.051,"ShouldQueueWithoutChainTest::test_the_cleanup_only_runs_when_all_jobs_are_done":0.061,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_to_collection":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_on_each_row":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_skips_empty_rows_when_importing_to_model":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_importing_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_importing_to_model":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsEmptyRowsTest::test_custom_skips_rows_when_using_oneachrow":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::test_can_skip_on_error":0.042,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnErrorTest::test_can_skip_errors_and_collect_all_errors_at_the_end":0.037,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_skip_on_error":0.038,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_skips_only_failed_rows_in_batch":0.027,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_skip_failures_and_collect_all_failures_at_the_end":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_validate_using_oneachrow_and_skipsonfailure":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\SkipsOnFailureTest::test_can_validate_using_tocollection_and_skipsonfailure":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::test_can_import_to_array":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ToArrayTest::test_can_import_multiple_sheets_to_array":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::test_can_import_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\ToCollectionTest::test_can_import_multiple_sheets_to_collection":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_each_row_to_model":0.064,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_has_timestamps_when_imported_single_model":0.055,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_multiple_models_in_single_to_model":0.059,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_multiple_different_types_of_models_in_single_to_model":0.055,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_models_with_belongs_to_relations":0.068,"Maatwebsite\\Excel\\Tests\\Concerns\\ToModelTest::test_can_import_models_with_belongs_to_many_relations":0.076,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::test_can_configure_background_color_from_rgb_string":0.017,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::test_can_configure_background_color_as_array":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBackgroundColorTest::test_can_configure_background_color_with_color_instance":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_to_model_in_batches":0.059,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_to_model_in_batches_bigger_file":0.278,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_can_import_multiple_different_types_of_models_in_single_to_model":0.054,"Maatwebsite\\Excel\\Tests\\Concerns\\WithBatchInsertsTest::test_has_timestamps_when_imported_in_batches":0.058,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_by_default_does_not_calculate_formulas":0.007,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_model_with_calculated_formulas":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas_and_multi_sheet_references":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_array_with_calculated_formulas_and_skips_empty":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCalculatedFormulasTest::test_can_import_to_model_with_calculated_formulas_and_skips_empty":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_un":0.064,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches":0.438,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_heading_row":0.441,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_csv_in_chunks_and_insert_in_batches":1.218,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets":1.254,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_in_chunks":1.882,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_index":1.222,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_name":1.219,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_catch_job_failed_in_chunks":0.048,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_and_format_in_chunks":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithChunkReadingTest::test_can_import_to_array_in_chunks_without_formatting":0.088,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnFormattingTest::test_can_export_with_column_formatting":0.018,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::test_can_import_to_array_with_column_limit":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnLimitTest::test_can_import_to_array_with_column_limit_and_skips_empty_rows":0.032,"Maatwebsite\\Excel\\Tests\\Concerns\\WithColumnWidthsTest::test_can_set_column_width":0.016,"Maatwebsite\\Excel\\Tests\\Concerns\\WithConditionalSheetsTest::test_can_select_which_sheets_will_be_imported":0.013,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_store_csv_export_with_custom_settings":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_store_csv_export_with_custom_encoding":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_read_csv_with_auto_detecting_delimiter_semicolon":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_read_csv_with_auto_detecting_delimiter_comma":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_can_read_csv_import_with_custom_settings":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomCsvSettingsTest::test_cannot_read_with_wrong_delimiter":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomQuerySizeTest::test_can_export_with_custom_count":0.09,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomStartCellTest::test_can_store_collection_with_custom_start_cell":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::test_can_set_a_value_binder_on_export":0.017,"Maatwebsite\\Excel\\Tests\\Concerns\\WithCustomValueBinderTest::test_can_set_a_value_binder_on_import":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithDefaultStylesTest::test_can_configure_default_styles":0.015,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_export_events_get_called":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_import_events_get_called":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_import_chunked_events_get_called":0.093,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_can_have_invokable_class_as_listener":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_can_have_global_event_listeners":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_can_have_custom_concern_handlers":0.036,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_can_have_custom_sheet_concern_handlers":0.019,"Maatwebsite\\Excel\\Tests\\Concerns\\WithEventsTest::test_export_chunked_events_get_called":0.002,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_array":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_array_with_format_data":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_array_with_format_data_and_skips_empty_rows":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_collection":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_collection_with_format_data":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_by_default_import_to_model":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithFormatDataTest::test_can_import_to_model_with_format_data":0.005,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_to_array_with_grouped_headers":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_oneachrow_with_grouped_headers":0.047,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_to_collection_with_grouped_headers":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithGroupedHeadingRowTest::test_can_import_each_row_to_model_with_grouped_headers":0.068,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_each_row_to_model_with_heading_row":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_each_row_to_model_with_different_heading_row":0.032,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_to_array_with_heading_row":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_empty_rows_with_header":0.03,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_import_empty_models_with_header":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingRowTest::test_can_cast_empty_headers_to_indexed_int":0.025,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::test_can_export_from_collection_with_heading_row":0.017,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::test_can_export_from_collection_with_multiple_heading_rows":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithHeadingsTest::test_can_export_from_collection_with_heading_row_with_custom_start_cell":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_import_a_limited_section_of_rows_to_model_with_different_start_row":0.033,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_import_to_array_with_limit":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithLimitTest::test_can_set_limit_bigger_than_row_size":0.025,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_references_to_cells":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_nested_references_to_cells":0.026,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappedCellsTest::test_can_import_with_references_to_cells_to_model":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::test_can_export_with_heading":0.018,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::test_can_return_multiple_rows_in_map":0.017,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMappingTest::test_json_array_columns_shouldnt_be_detected_as_multiple_rows":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_export_with_multiple_sheets_using_collections":0.143,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_export_multiple_sheets_from_view":0.11,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_index_will_throw_sheet_not_found_exception":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_name_will_throw_sheet_not_found_exception":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_name_can_be_ignored":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored_per_name":0.003,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_unknown_sheet_indices_can_be_ignored_per_sheet":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_name":0.013,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_index_and_name":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithMultipleSheetsTest::test_can_import_multiple_sheets_by_sheet_name_and_index":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::test_can_set_custom_document_properties":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::test_it_merges_with_default_properties":0.009,"Maatwebsite\\Excel\\Tests\\Concerns\\WithPropertiesTest::test_it_ignores_empty_properties":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithReadFilterTest::test_can_register_custom_read_filter":0.006,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::test_can_import_each_row_to_model_with_different_start_row":0.027,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStartRowTest::test_can_import_to_array_with_start_row":0.04,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::test_exported_zero_values_are_not_null_when_exporting_with_strict_null_comparison":0.015,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::test_exported_zero_values_are_null_when_not_exporting_with_strict_null_comparison":0.012,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::test_exports_trailing_empty_cells":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStrictNullComparisonTest::test_exports_trailing_empty_cells_by_setting_config_strict_null_comparison":0.004,"Maatwebsite\\Excel\\Tests\\Concerns\\WithStylesTest::test_can_configure_styles":0.017,"Maatwebsite\\Excel\\Tests\\Concerns\\WithTitleTest::test_can_export_with_title":0.01,"Maatwebsite\\Excel\\Tests\\Concerns\\WithTitleTest::test_can_export_sheet_title_when_longer_than_max_length":0.011,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_batches":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_rows":0.041,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_batches_with_defined_upsert_columns":0.029,"Maatwebsite\\Excel\\Tests\\Concerns\\WithUpsertsTest::test_can_upsert_models_in_rows_with_defined_upsert_columns":0.028,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_closure_validation_rules":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_custom_validation_rule_objects":0.052,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_conditionality":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_unless_conditionality":0.052,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_combined_rules_with_colons":0.069,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_with_custom_attributes":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_with_custom_message":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_headings":0.055,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_with_grouped_headings":0.049,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_rows_in_batches":0.05,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_oneachrow":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_collection":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_validate_using_array":0.048,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_configure_validator":0.057,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_toarray":0.05,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_tocollection":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_tomodel":0.051,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_oneachrow":0.05,"Maatwebsite\\Excel\\Tests\\Concerns\\WithValidationTest::test_can_prepare_using_skipsemptyrows":0.049,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::test_can_call_methods_from_delegate":0.009,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::test_can_use_writer_macros":0.01,"Maatwebsite\\Excel\\Tests\\DelegatedMacroableTest::test_can_use_sheet_macros":0.008,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_fake_an_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_downloaded_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_stored_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_regex_against_a_fake_stored_export_with_multiple_files":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_stored_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_queued_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_implicitly_queued_export":0,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_queued_export_with_chain":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_raw_export":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_import":0.004,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_import_with_uploaded_file":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_queued_import":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_implicitly_queued_import":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_can_assert_against_a_fake_queued_import_with_chain":0.001,"Maatwebsite\\Excel\\Tests\\ExcelFakeTest::test_a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_queued_export":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::test_custom_transaction_handler_is_bound":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::test_is_bound":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::test_has_aliased":0,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::test_registers_console_commands":0.008,"Maatwebsite\\Excel\\Tests\\ExcelServiceProviderTest::test_sets_php_spreadsheet_settings":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_download_an_export_object_with_facade":0.008,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_download_an_export_object":0.007,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_store_an_export_object_on_default_disk":0.01,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_store_an_export_object_on_another_disk":0.012,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_store_csv_export_with_default_settings":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_get_raw_export_contents":0.012,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_store_tsv_export_with_default_settings":0.002,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_store_csv_export_with_custom_settings":0.002,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_cannot_use_from_collection_and_from_view_on_same_export":0.002,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_to_array":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_to_collection":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_to_collection_without_import_object":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_tsv_file":0.009,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_chain_imports":0.003,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_from_uploaded_file":0.005,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_a_simple_xlsx_file_from_real_path":0.005,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_import_will_throw_error_when_no_reader_type_could_be_detected_when_no_extension":0.001,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_import_will_throw_error_when_no_reader_type_could_be_detected_with_unknown_extension":0.035,"Maatwebsite\\Excel\\Tests\\ExcelTest::test_can_import_without_extension_with_explicit_reader_type":0.004,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_with_custom_heading_row_formatter":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_with_custom_heading_row_formatter_with_key":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_with_custom_row_number":0.005,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_for_multiple_sheets":0.003,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_for_multiple_sheets_with_key":0.005,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_only_heading_row_for_multiple_sheets_with_custom_row_number":0.004,"Maatwebsite\\Excel\\Tests\\HeadingRowImportTest::test_can_import_heading_row_with_custom_formatter_defined_in_config":0.004,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::test_read_chunk_job_can_interact_with_queue":0.001,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::test_append_data_to_sheet_job_can_interact_with_queue":0,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::test_append_query_to_sheet_job_can_interact_with_queue":0.001,"Maatwebsite\\Excel\\Tests\\InteractsWithQueueTest::test_append_view_to_sheet_job_can_interact_with_queue":0.001,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::test_can_download_a_collection_as_excel":0.011,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::test_can_download_a_collection_with_headers_as_excel":0.011,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::test_can_download_collection_with_headers_with_hidden_eloquent_attributes":0.011,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::test_can_download_collection_with_headers_when_making_attributes_visible":0.011,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadCollectionTest::test_can_set_custom_response_headers":0.008,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::test_can_download_a_query_as_excel":0.058,"Maatwebsite\\Excel\\Tests\\Mixins\\DownloadQueryMacroTest::test_can_download_a_collection_with_headers_as_excel":0.062,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportAsMacroTest::test_can_import_directly_into_a_model_with_mapping":0.032,"Maatwebsite\\Excel\\Tests\\Mixins\\ImportMacroTest::test_can_import_directly_into_a_model":0.035,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::test_can_store_a_collection_as_excel":0.012,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::test_can_store_a_collection_as_excel_on_non_default_disk":0.01,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::test_can_store_a_collection_with_headings_as_excel":0.01,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreCollectionTest::test_can_store_a_model_collection_with_headings_as_excel":0,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_download_a_query_as_excel":0.061,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_download_a_query_as_excel_on_different_disk":0.059,"Maatwebsite\\Excel\\Tests\\Mixins\\StoreQueryMacroTest::test_can_store_a_query_with_headers_as_excel":0.065,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_an_export":0.365,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_an_export_and_store_on_different_disk":0.349,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_export_with_remote_temp_disk":0.444,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_export_with_remote_temp_disk_and_prefix":0.335,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_implicitly_queue_an_export":0.332,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_export_with_mapping_on_eloquent_models":0.029,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_catch_failures":0.01,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_catch_failures_on_queue_export_job":0.003,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_set_locale_on_queue_export_job":0.03,"Maatwebsite\\Excel\\Tests\\QueuedExportTest::test_can_queue_export_not_flushing_the_cache":0.385,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_cannot_queue_import_that_does_not_implement_should_queue":0.046,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_an_import":2.07,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_an_import_with_batch_cache_and_file_store":3.877,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_import_with_remote_temp_disk":2.219,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_keep_extension_for_temp_file_on_remote_disk":2.262,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_queue_import_with_remote_temp_disk_and_prefix":2.062,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_automatically_delete_temp_file_on_failure_when_using_remote_disk":0.108,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_cannot_automatically_delete_temp_file_on_failure_when_using_local_disk":0.106,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_force_remote_download_and_deletion_for_each_chunk_on_queue":2.176,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_middleware_method_on_queued_import":0.067,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_retry_until_method_on_queued_import":0.064,"Maatwebsite\\Excel\\Tests\\QueuedImportTest::test_can_define_max_exceptions_property_on_queued_import":0.106,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export":0.205,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export_with_batch_cache_and_file_store":3.691,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_an_export_with_mapping":0.051,"Maatwebsite\\Excel\\Tests\\QueuedQueryExportTest::test_can_queue_scout_export":0.372,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::test_can_queue_an_export":0.138,"Maatwebsite\\Excel\\Tests\\QueuedViewExportTest::test_can_export_multiple_sheets_from_view":0.266,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::test_can_use_default_rights":0.002,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::test_can_use_dir_rights":0.001,"Maatwebsite\\Excel\\Tests\\TemporaryFileTest::test_can_use_file_rights":0.001,"Maatwebsite\\Excel\\Tests\\Concerns\\ImportableTest::test_cannot_import_a_non_existing_xlsx_file":0.001,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_array_input":0.025,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_object_input":0,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_callable_input":0,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_string_input_matching_pattern":0.006,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_string_input_not_matching_pattern":0,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_required_without_all":0.006,"Maatwebsite\\Excel\\Tests\\Validators\\RowValidatorTest::test_format_rule_with_required_without":0}}
================================================
FILE: .styleci.yml
================================================
preset: laravel
risky: false
enabled:
- align_double_arrow
- align_equals
- concat_with_spaces
- ordered_class_elements
disabled:
- concat_without_spaces
- not_operator_with_successor_space
- unalign_equals
finder:
not-name:
- "*.md"
not-path:
- ".github"
================================================
FILE: CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file.
Please view https://github.com/SpartnerNL/Laravel-Excel/releases for the most recent changelog
## [3.1.47] - 2023-02-16
- Support Laravel 10
### Fixed
- Fix Bug Multiple drawings change the behavior of the startCell (#3865).
- Allow configuring read data only in chunks as well.
## [3.1.46] - 2023-01-27
- Support Laravel 10
## [3.1.45] - 2023-01-02
### Added
- Add support for ignoring PHP auto_detect_line_endings INI directive
### Fixed
- Fix the PSR simple cache dependency mess to maintain backwards compatibility and support 3.0 of the interface.
## [3.1.44] - 2022-10-14
### Fixed
- Fix output of `WithFormatData` in combination with `SkipsEmptyRows` (#3760)
### Changed
- Cast empty headings to indexed integer (#3646)
- Adds `isEmptyWhen` to customize is row empty logic. (#3645)
### Fixed
- Fix temporary local files not being cleaned up when setting force_resync_remote config to true (#3623)
- Fix testing for multiple stored files by regex matching (#3631).
- Allow `required_unless` rule (#3660)
## [3.1.40] - 2022-05-02
- Fix testing for multiple stored files by regex matching (#3631).
### Changed
- Adds `WithDefaultStyles` concern to allow configuring the workbook default styles.
- Adds `WithBackgroundColor` concern to allow configuring the workbook default background color.
- Expose the ability to set custom response headers when exporting collections via Exportable
## [3.1.39] - 2022-04-23
### Fixed
- Fix PHP8.1 return type for Failure class (#3588)
## [3.1.38] - 2022-03-24
### Changed
- Adds concern `WithGroupedHeadingRow` to allow imported sheets to group the values of columns with the same header in an array
### Fixed
- Fix for `prepareForValidation` callback not being called when using `SkipsEmptyRows`
## [3.1.37] - 2022-02-28
### Fixed
- Add `@mixin` docblock to all macroable classes to allow for IDE autocompletion of delegate classes
- Fix issue with `Excel::toArray` not allowing nullable reader types for uploaded files
### Changed
- Change default Csv Import to auto-detect the delimiter when not explicitly defined
## [3.1.36] - 2022-02-03
### Fixed
- Fix return type of `FromQuery::query()`
### Changed
- Support Laravel 9
- Added a config setting to specify DB connection
- Added a config setting to specify CSV output encoding
- Added an ability to specify CSV output encoding through csvSettings
## [3.1.35] - 2022-01-04
### Fixed
- Removed cache flush for cell caching as this is already handled by PhpSpreadsheet
- Fix `SkipsEmptyRows` support with the `WithColumnLimit` concern
- Added range support to FormatColumn
## [3.1.34] - 2021-12-2
### Changed
- Change default local_path configuration
- Fix queueImport function to be able to assert chained jobs
- Skipped failure no longer persists in `ToCollection` and `ToArray`.
- Fix missing InteractsWithQueue trait in AppendToSheet jobs
- Add return types to `Row`'s `ArrayAccess` implementation
## [3.1.33] - 2021-08-12
### Fixed
- Make TransactionManager a singleton (#3270)
- Fix Exportable disk options (#3296)
- Delete temporary file after exception in import class (#3312)
## [3.1.32] - 2021-07-08
### Added
- Add assertExportedInRaw assertion (#3255)
### Fixed
- Make commands detect model directory now (#3213)
## [3.1.31] - 2021-06-02
### Added
- Custom heading row formatter can use column index (#3166)
- Added WithFormatData concern (#3154)
### Fixed
- Create failures of rows than didn't exist but where requested in row
validation
- Fix Bug Formulas are not calculated when import implements
WithCalculatedFormulas with SkipsEmptyRows #3127
- PhpSpreadsheet 1.18 support
## [3.1.30] - 2021-04-06
### Added
- Octane compatibility
## [3.1.29] - 2021-03-16
### Fixed
- Fix AfterImport Event not being called (#3085)
## [3.1.28] - 2021-03-10
### Added
- Added WithUpsertColumns concern (#3046)
- Added ShouldQueueWithoutChain concern (#3072)
### Fixed
- Limit Phpspreadsheet version to 1.16 until bugfix release
- Fixed issue with not autosizing columns (#3055)
- Fix selecting worksheets by name with chunk reading (#3052)
## [3.1.27] - 2021-02-22
### Added
- Added SkipsEmptyRows concern
- Added HasReferencesToOtherSheets concern to allow import of calculated
### Changed
- Bump minimum PhpSpreadsheet version
- Progressbar NullOutput as fallback
## [3.1.26] - 2020-11-13
### Added
- PHP 8 support
## [3.1.25] - 2020-11-13
### Added
- Added an ability to prepare rows before appending rows to sheet. Just add
`prepareRows` method for your export class if needed.
- Added an ability to catch exceptions from `QueueExport` job. Just add `failed`
method for your export class if needed.
- Added an ability to set locale for queued export. Just implement
`Illuminate\Contracts\Translation\HasLocalePreference` for your export.
- Added `JsonSerializable` support in `Maatwebsite\Excel\Validators\Failure`.
- Added `$maxExceptions` support in `Maatwebsite\Excel\Jobs\ReadChunk.php`.
- Added support to upsert models by implementing the `WithUpserts` concern.
## [3.1.24] - 2020-10-28
### Added
- Added support for `prepareForValidation` on `WithValidation` concern
- Added support for `withValidator` on `WithValidation` concern
- Added `ArrayAccess` to `Row`
### Fixed
- Corrected SkipsErrors doc block
## [3.1.23] - 2020-09-29
### Added
- Added `ignore_empty` setting to `config/excel.php`
- Added `strict_null_comparison` setting to `config/excel.php`
## [3.1.22] - 2020-09-08
- Laravel 8 support
- Lumen improvements
## [3.1.21] - 2020-08-06
### Added
- Added WithProperties concern
- Added default spreadsheet properties config
- Added WithColumnWidths concern
- Added WithStyles concern.
- Config setting to configure cell caching
### Changed
- Sheet titles longer than 31 chars get trimmed.
- Sheet titles with unsupported chars get cleaned.
### Fixed
- Fixed issue with using ShouldAutosize in combination with FromView column
widths.
## [3.1.20] - 2020-07-22
### Added
- Re-sycing remote temporary file
- Remember row number
- Remember chunk offset
- WithColumnLimit concern
- WithReadFilter concern
- Publishing the stubs
### Changed
- Interacting with queued jobs
- Retry until and middleware on queued imports
- Using WithValidation with FromCollection & FromArray
- Read filters for WithLimit and HeadingRowImport
- Bump of minimum version PhpSpreadsheet
### Fixed
- Fixed test helper docblocks on the Excel facade.
- Fix for importing with a start row beyond the highest row.
- Fixed `BeforeSheet` and `AfterSheet` events receiving exportable instance
instead of importable when calling on an Import.
- Fix for value binders not working in queued exports.
- Fix when using WithLimit concern when having less rows than the limit.
- Fix AfterImport job being fired twice if not using queueing.
- Raw() method now also available on Exportable.
- Fix for breaking changes in PhpSpreadsheet with empty enclosures.
[Unreleased]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.47...HEAD
[3.1.47]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.46...3.1.47
[3.1.46]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.45...3.1.46
[3.1.45]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.44...3.1.45
[3.1.44]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.43...3.1.44
[3.1.43]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.42...3.1.43
[3.1.42]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.41...3.1.42
[3.1.41]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.40...3.1.41
[3.1.40]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.39...3.1.40
[3.1.39]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.38...3.1.39
[3.1.38]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.37...3.1.38
[3.1.37]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.36...3.1.37
[3.1.36]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.35...3.1.36
[3.1.35]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.34...3.1.35
[3.1.34]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.33...3.1.34
[3.1.33]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.32...3.1.33
[3.1.32]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.31...3.1.32
[3.1.31]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.30...3.1.31
[3.1.30]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.29...3.1.30
[3.1.29]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.28...3.1.29
[3.1.28]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.27...3.1.28
[3.1.27]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.26...3.1.27
[3.1.26]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.25...3.1.26
[3.1.25]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.24...3.1.25
[3.1.24]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.23...3.1.24
[3.1.23]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.22...3.1.23
[3.1.22]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.21...3.1.22
[3.1.21]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.20...3.1.21
[3.1.20]: https://github.com/Maatwebsite/Laravel-Excel/compare/3.1.19...3.1.20
_Older release notes can be found in Github releases._
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at patrick@spartner.nl. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Find the contributing guide at: https://docs.laravel-excel.com/3.1/getting-started/contributing.html
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) Spartner
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<br />
<br />
<p align="center">
<!-- XMAS: https://user-images.githubusercontent.com/7728097/146406114-a5f5e13a-e2ee-47a2-9bf9-ad43cdbdf200.png-->
<img width="589" src="https://user-images.githubusercontent.com/7728097/143205384-af3c73a8-0253-45f3-b5ac-28a335dddb87.png" alt="Laravel Excel logo">
</p>
<br />
<h3 align="center">Supercharged Excel exports and imports</h3>
<p align="center">
A simple, but elegant <a href="https://laravel.com" target="_blank">Laravel<a/> wrapper around <a href="https://phpspreadsheet.readthedocs.io/" target="_blank">PhpSpreadsheet</a>
exports and imports.
</p>
<h4 align="center">
<a href="https://docs.laravel-excel.com/3.1/exports/">Quickstart</a>
<span> · </span>
<a href="https://docs.laravel-excel.com/3.1/getting-started/">Documentation</a>
<span> · </span>
<a href="https://course.laravel-excel.com">Video Course</a>
<span> · </span>
<a href="https://github.com/SpartnerNL/Laravel-Nova-Excel">Nova</a>
<span> · </span>
<a href="https://medium.com/maatwebsite/laravel-excel/home">Blog</a>
<span> · </span>
<a href="https://docs.laravel-excel.com/3.1/getting-started/contributing.html">Contributing</a>
<span> · </span>
<a href="https://docs.laravel-excel.com/3.1/getting-started/support.html">Support</a>
</h4>
<p align="center">
<a href="https://github.com/SpartnerNL/Laravel-Excel/actions">
<img src="https://github.com/SpartnerNL/Laravel-Excel/actions/workflows/run-tests.yml/badge.svg" alt="Github Actions">
</a>
<a href="https://styleci.io/repos/14259390">
<img src="https://styleci.io/repos/14259390/shield?branch=3.1" alt="StyleCI">
</a>
<a href="https://packagist.org/packages/maatwebsite/excel">
<img src="https://poser.pugx.org/maatwebsite/excel/v/stable.png" alt="Latest Stable Version">
</a>
<a href="https://packagist.org/packages/maatwebsite/excel">
<img src="https://poser.pugx.org/maatwebsite/excel/downloads.png" alt="Total Downloads">
</a>
<a href="https://github.com/SpartnerNL/Laravel-Excel/blob/3.1/LICENSE">
<img src="https://poser.pugx.org/maatwebsite/excel/license.png" alt="License">
</a>
</p>
## ✨ Features
- **Easily export collections to Excel.** Supercharge your Laravel collections and export them directly to an Excel or CSV document. Exporting has never been so easy.
- **Supercharged exports.** Export queries with automatic chunking for better performance. You provide us the query, we handle the performance. Exporting even larger datasets? No worries, Laravel Excel has your back. You can queue your exports so all of this happens in the background.
- **Supercharged imports.** Import workbooks and worksheets to Eloquent models with chunk reading and batch inserts! Have large files? You can queue every chunk of a file! Your entire import will happen in the background.
- **Export Blade views.** Want to have a custom layout in your spreadsheet? Use a HTML table in a Blade view and export that to Excel.

<br>
## 🎓 Learning Laravel Excel
You can find the full documentation of Laravel Excel [on the website](https://docs.laravel-excel.com).
We welcome suggestions for improving our docs. The documentation repository can be found at [https://github.com/SpartnerNL/laravel-excel-docs](https://github.com/SpartnerNL/laravel-excel-docs).
Some articles and tutorials can be found on our blog: https://medium.com/maatwebsite/laravel-excel/home
## :mailbox_with_mail: License & Postcardware

Laravel Excel is created with love and care by Spartner (formerly known as Maatwebsite) to give back to the Laravel community. It is completely free (MIT license) to use, however the package is licensed as Postcardware. This means that if it makes it to your production environment, we would very much appreciate receiving a postcard from your hometown.
**Spartner**
Markt 2
6231 LS Meerssen
The Netherlands.
More about the license can be found at: [https://docs.laravel-excel.com/3.1/getting-started/license.html](https://docs.laravel-excel.com/3.1/getting-started/license.html)
## Created by Spartner (formerly Maatwebsite)
We are a strategic development partner, creating web-based custom built software from Laravel. In need of a digital solution for your challenge? Give us a call.
https://spartner.software
info@spartner.nl
+31 (0) 10 - 7449312
## :wrench: Supported Versions
Versions will be supported for a limited amount of time.
| Version | Laravel Version | Php Version | Support |
|---- |----|----|----|
| 2.1 | <=5.6 | <=7.0 | Unsupported since 15-5-2018 |
| 3.0 | ^5.5 | ^7.0 | Unsupported since 31-12-2018 |
| 3.1 | >=5.8 \| <=12.x | ^7.2 \| ^8.0 | New features |
================================================
FILE: SECURITY.md
================================================
# Security Policy
**PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, [SEE BELOW](#reporting-a-vulnerability).**
## Supported Versions
Version | Security Fixes Until
--- | ---
3.1 | -
3.0 | 31-12-2018
2.1 | 15-5-2018
## Reporting a Vulnerability
If you discover a security vulnerability within Laravel Excel, please send an email to Patrick Brouwers at patrick@spartner.nl. All security vulnerabilities will be promptly addressed.
================================================
FILE: composer.json
================================================
{
"name": "maatwebsite/excel",
"description": "Supercharged Excel exports and imports in Laravel",
"license": "MIT",
"keywords": [
"laravel",
"php",
"phpspreadsheet",
"phpexcel",
"excel",
"csv",
"export",
"import",
"batch"
],
"authors": [
{
"name": "Patrick Brouwers",
"email": "patrick@spartner.nl"
}
],
"require": {
"ext-json": "*",
"php": "^7.0||^8.0",
"phpoffice/phpspreadsheet": "^1.30.0",
"illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0||^12.0||^13.0",
"psr/simple-cache": "^1.0||^2.0||^3.0",
"composer/semver": "^3.3"
},
"require-dev": {
"orchestra/testbench": "^6.0||^7.0||^8.0||^9.0||^10.0||^11.0",
"predis/predis": "^1.1",
"laravel/scout": "^7.0||^8.0||^9.0||^10.0||^11.0"
},
"autoload": {
"psr-4": {
"Maatwebsite\\Excel\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Maatwebsite\\Excel\\Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"providers": [
"Maatwebsite\\Excel\\ExcelServiceProvider"
],
"aliases": {
"Excel": "Maatwebsite\\Excel\\Facades\\Excel"
}
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
================================================
FILE: config/excel.php
================================================
<?php
use Maatwebsite\Excel\Excel;
use PhpOffice\PhpSpreadsheet\Reader\Csv;
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,
'output_encoding' => '',
'test_auto_detect' => true,
],
/*
|--------------------------------------------------------------------------
| 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' => null,
'enclosure' => '"',
'escape_character' => '\\',
'contiguous' => false,
'input_encoding' => Csv::GUESS_ENCODING,
],
/*
|--------------------------------------------------------------------------
| Worksheet properties
|--------------------------------------------------------------------------
|
| Configure e.g. default title, creator, subject,...
|
*/
'properties' => [
'creator' => '',
'lastModifiedBy' => '',
'title' => '',
'description' => '',
'subject' => '',
'keywords' => '',
'category' => '',
'manager' => '',
'company' => '',
],
/*
|--------------------------------------------------------------------------
| Cell Middleware
|--------------------------------------------------------------------------
|
| Configure middleware that is executed on getting a cell value
|
*/
'cells' => [
'middleware' => [
//\Maatwebsite\Excel\Middleware\TrimCellValue::class,
//\Maatwebsite\Excel\Middleware\ConvertEmptyCellValuesToNull::class,
],
],
],
/*
|--------------------------------------------------------------------------
| 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 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,
],
/*
|--------------------------------------------------------------------------
| Cache Time-to-live (TTL)
|--------------------------------------------------------------------------
|
| The TTL of items written to cache. If you want to keep the items cached
| indefinitely, set this to null. Otherwise, set a number of seconds,
| a \DateInterval, or a callable.
|
| Allowable types: callable|\DateInterval|int|null
|
*/
'default_ttl' => 10800,
],
/*
|--------------------------------------------------------------------------
| 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',
'db' => [
'connection' => null,
],
],
'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.
| permissions is an array with the permission flags for the directory (dir)
| and the create file (file).
|
*/
'local_path' => storage_path('framework/cache/laravel-excel'),
/*
|--------------------------------------------------------------------------
| Local Temporary Path Permissions
|--------------------------------------------------------------------------
|
| Permissions is an array with the permission flags for the directory (dir)
| and the create file (file).
| If omitted the default permissions of the filesystem will be used.
|
*/
'local_permissions' => [
// 'dir' => 0755,
// 'file' => 0644,
],
/*
|--------------------------------------------------------------------------
| 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,
],
];
================================================
FILE: phpunit.xml.dist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.3/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<coverage/>
<php>
<env name="APP_KEY" value="base64:6igsHe3RYC88h3Wje3VzSNqPwUr7Z5ru+NZw/9qwY5M="/>
<env name="DB_HOST" value="127.0.0.1"/>
<env name="DB_PORT" value="3306"/>
<env name="DB_DATABASE" value="laravel_excel"/>
<env name="DB_USERNAME" value="root"/>
<env name="DB_PASSWORD" value=""/>
</php>
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix="Test.php">./tests/</directory>
</testsuite>
</testsuites>
<source>
<include>
<directory suffix=".php">./src</directory>
</include>
</source>
</phpunit>
================================================
FILE: src/Cache/BatchCache.php
================================================
<?php
namespace Maatwebsite\Excel\Cache;
use Illuminate\Support\Facades\Cache;
use Psr\SimpleCache\CacheInterface;
class BatchCache implements CacheInterface
{
/**
* @var CacheInterface
*/
protected $cache;
/**
* @var MemoryCache
*/
protected $memory;
/**
* @var null|int|\DateInterval|callable
*/
protected $defaultTTL = null;
/**
* @param CacheInterface $cache
* @param MemoryCache $memory
* @param null|int|\DateInterval|callable $defaultTTL
*/
public function __construct(
CacheInterface $cache,
MemoryCache $memory,
null|int|\DateInterval|callable $defaultTTL = null
) {
$this->cache = $cache;
$this->memory = $memory;
$this->defaultTTL = $defaultTTL;
}
public function __sleep()
{
return ['memory'];
}
public function __wakeup()
{
$this->cache = Cache::driver(
config('excel.cache.illuminate.store')
);
}
/**
* {@inheritdoc}
*/
public function get(string $key, mixed $default = null): mixed
{
if ($this->memory->has($key)) {
return $this->memory->get($key);
}
return $this->cache->get($key, $default);
}
/**
* {@inheritdoc}
*/
public function set(string $key, mixed $value, null|int|\DateInterval $ttl = null): bool
{
if (func_num_args() === 2) {
$ttl = value($this->defaultTTL);
}
$this->memory->set($key, $value, $ttl);
if ($this->memory->reachedMemoryLimit()) {
return $this->cache->setMultiple($this->memory->flush(), $ttl);
}
return true;
}
/**
* {@inheritdoc}
*/
public function delete(string $key): bool
{
if ($this->memory->has($key)) {
return $this->memory->delete($key);
}
return $this->cache->delete($key);
}
/**
* {@inheritdoc}
*/
public function clear(): bool
{
$this->memory->clear();
return $this->cache->clear();
}
/**
* {@inheritdoc}
*/
public function getMultiple(iterable $keys, mixed $default = null): iterable
{
// Check if all keys are still in memory
$memory = $this->memory->getMultiple($keys, $default);
$actualItemsInMemory = count(array_filter($memory));
if ($actualItemsInMemory === count($keys)) {
return $memory;
}
// Get all rows from cache if none is hold in memory.
if ($actualItemsInMemory === 0) {
return $this->cache->getMultiple($keys, $default);
}
// Add missing values from cache.
foreach ($this->cache->getMultiple($keys, $default) as $key => $value) {
if (null !== $value) {
$memory[$key] = $value;
}
}
return $memory;
}
/**
* {@inheritdoc}
*/
public function setMultiple(iterable $values, null|int|\DateInterval $ttl = null): bool
{
if (func_num_args() === 1) {
$ttl = value($this->defaultTTL);
}
$this->memory->setMultiple($values, $ttl);
if ($this->memory->reachedMemoryLimit()) {
return $this->cache->setMultiple($this->memory->flush(), $ttl);
}
return true;
}
/**
* {@inheritdoc}
*/
public function deleteMultiple(iterable $keys): bool
{
$keys = is_array($keys) ? $keys : iterator_to_array($keys);
$this->memory->deleteMultiple($keys);
return $this->cache->deleteMultiple($keys);
}
/**
* {@inheritdoc}
*/
public function has(string $key): bool
{
if ($this->memory->has($key)) {
return true;
}
return $this->cache->has($key);
}
}
================================================
FILE: src/Cache/BatchCacheDeprecated.php
================================================
<?php
namespace Maatwebsite\Excel\Cache;
use Illuminate\Support\Facades\Cache;
use Psr\SimpleCache\CacheInterface;
class BatchCacheDeprecated implements CacheInterface
{
/**
* @var CacheInterface
*/
protected $cache;
/**
* @var MemoryCacheDeprecated
*/
protected $memory;
/**
* @var null|int|\DateTimeInterface|callable
*/
protected $defaultTTL = null;
/**
* @param CacheInterface $cache
* @param MemoryCacheDeprecated $memory
* @param int|\DateTimeInterface|callable|null $defaultTTL
*/
public function __construct(
CacheInterface $cache,
MemoryCacheDeprecated $memory,
$defaultTTL = null
) {
$this->cache = $cache;
$this->memory = $memory;
$this->defaultTTL = $defaultTTL;
}
public function __sleep()
{
return ['memory'];
}
public function __wakeup()
{
$this->cache = Cache::driver(
config('excel.cache.illuminate.store')
);
}
/**
* {@inheritdoc}
*/
public function get($key, $default = null)
{
if ($this->memory->has($key)) {
return $this->memory->get($key);
}
return $this->cache->get($key, $default);
}
/**
* {@inheritdoc}
*/
public function set($key, $value, $ttl = null)
{
if (func_num_args() === 2) {
$ttl = value($this->defaultTTL);
}
$this->memory->set($key, $value, $ttl);
if ($this->memory->reachedMemoryLimit()) {
return $this->cache->setMultiple($this->memory->flush(), $ttl);
}
return true;
}
/**
* {@inheritdoc}
*/
public function delete($key)
{
if ($this->memory->has($key)) {
return $this->memory->delete($key);
}
return $this->cache->delete($key);
}
/**
* {@inheritdoc}
*/
public function clear()
{
$this->memory->clear();
return $this->cache->clear();
}
/**
* {@inheritdoc}
*/
public function getMultiple($keys, $default = null)
{
// Check if all keys are still in memory
$memory = $this->memory->getMultiple($keys, $default);
$actualItemsInMemory = count(array_filter($memory));
if ($actualItemsInMemory === count($keys)) {
return $memory;
}
// Get all rows from cache if none is hold in memory.
if ($actualItemsInMemory === 0) {
return $this->cache->getMultiple($keys, $default);
}
// Add missing values from cache.
foreach ($this->cache->getMultiple($keys, $default) as $key => $value) {
if (null !== $value) {
$memory[$key] = $value;
}
}
return $memory;
}
/**
* {@inheritdoc}
*/
public function setMultiple($values, $ttl = null)
{
if (func_num_args() === 1) {
$ttl = value($this->defaultTTL);
}
$this->memory->setMultiple($values, $ttl);
if ($this->memory->reachedMemoryLimit()) {
return $this->cache->setMultiple($this->memory->flush(), $ttl);
}
return true;
}
/**
* {@inheritdoc}
*/
public function deleteMultiple($keys)
{
$keys = is_array($keys) ? $keys : iterator_to_array($keys);
$this->memory->deleteMultiple($keys);
return $this->cache->deleteMultiple($keys);
}
/**
* {@inheritdoc}
*/
public function has($key)
{
if ($this->memory->has($key)) {
return true;
}
return $this->cache->has($key);
}
}
================================================
FILE: src/Cache/CacheManager.php
================================================
<?php
namespace Maatwebsite\Excel\Cache;
use Composer\InstalledVersions;
use Composer\Semver\VersionParser;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Manager;
use Psr\SimpleCache\CacheInterface;
class CacheManager extends Manager
{
/**
* @const string
*/
public const DRIVER_BATCH = 'batch';
/**
* @const string
*/
public const DRIVER_MEMORY = 'memory';
/**
* @const string
*/
public const DRIVER_ILLUMINATE = 'illuminate';
/**
* Get the default driver name.
*
* @return string
*/
public function getDefaultDriver(): string
{
return config('excel.cache.driver', 'memory');
}
/**
* @return MemoryCache
*/
public function createMemoryDriver(): CacheInterface
{
if (!InstalledVersions::satisfies(new VersionParser, 'psr/simple-cache', '^3.0')) {
return new MemoryCacheDeprecated(
config('excel.cache.batch.memory_limit', 60000)
);
}
return new MemoryCache(
config('excel.cache.batch.memory_limit', 60000)
);
}
/**
* @return BatchCache
*/
public function createBatchDriver(): CacheInterface
{
if (!InstalledVersions::satisfies(new VersionParser, 'psr/simple-cache', '^3.0')) {
return new BatchCacheDeprecated(
$this->createIlluminateDriver(),
$this->createMemoryDriver(),
config('excel.cache.default_ttl')
);
}
return new BatchCache(
$this->createIlluminateDriver(),
$this->createMemoryDriver(),
config('excel.cache.default_ttl')
);
}
/**
* @return CacheInterface
*/
public function createIlluminateDriver(): CacheInterface
{
return Cache::driver(
config('excel.cache.illuminate.store')
);
}
public function flush()
{
$this->driver()->clear();
}
public function isInMemory(): bool
{
return $this->getDefaultDriver() === self::DRIVER_MEMORY;
}
}
================================================
FILE: src/Cache/MemoryCache.php
================================================
<?php
namespace Maatwebsite\Excel\Cache;
use PhpOffice\PhpSpreadsheet\Cell\Cell;
use Psr\SimpleCache\CacheInterface;
class MemoryCache implements CacheInterface
{
/**
* @var int|null
*/
protected $memoryLimit;
/**
* @var array
*/
protected $cache = [];
/**
* @param int|null $memoryLimit
*/
public function __construct(?int $memoryLimit = null)
{
$this->memoryLimit = $memoryLimit;
}
/**
* {@inheritdoc}
*/
public function clear(): bool
{
$this->cache = [];
return true;
}
/**
* {@inheritdoc}
*/
public function delete(string $key): bool
{
unset($this->cache[$key]);
return true;
}
/**
* {@inheritdoc}
*/
public function deleteMultiple($keys): bool
{
foreach ($keys as $key) {
$this->delete($key);
}
return true;
}
/**
* {@inheritdoc}
*/
public function get(string $key, mixed $default = null): mixed
{
if ($this->has($key)) {
return $this->cache[$key];
}
return $default;
}
/**
* {@inheritdoc}
*/
public function getMultiple(iterable $keys, mixed $default = null): iterable
{
$results = [];
foreach ($keys as $key) {
$results[$key] = $this->get($key, $default);
}
return $results;
}
/**
* {@inheritdoc}
*/
public function has($key): bool
{
return isset($this->cache[$key]);
}
/**
* {@inheritdoc}
*/
public function set(string $key, mixed $value, null|int|\DateInterval $ttl = null): bool
{
$this->cache[$key] = $value;
return true;
}
/**
* {@inheritdoc}
*/
public function setMultiple($values, $ttl = null): bool
{
foreach ($values as $key => $value) {
$this->set($key, $value);
}
return true;
}
/**
* @return bool
*/
public function reachedMemoryLimit(): bool
{
// When no limit is given, we'll never reach any limit.
if (null === $this->memoryLimit) {
return false;
}
return count($this->cache) >= $this->memoryLimit;
}
/**
* @return array
*/
public function flush(): array
{
$memory = $this->cache;
foreach ($memory as $cell) {
if ($cell instanceof Cell) {
$cell->detach();
}
}
$this->clear();
return $memory;
}
}
================================================
FILE: src/Cache/MemoryCacheDeprecated.php
================================================
<?php
namespace Maatwebsite\Excel\Cache;
use PhpOffice\PhpSpreadsheet\Cell\Cell;
use Psr\SimpleCache\CacheInterface;
class MemoryCacheDeprecated implements CacheInterface
{
/**
* @var int|null
*/
protected $memoryLimit;
/**
* @var array
*/
protected $cache = [];
/**
* @param int|null $memoryLimit
*/
public function __construct(?int $memoryLimit = null)
{
$this->memoryLimit = $memoryLimit;
}
/**
* {@inheritdoc}
*/
public function clear()
{
$this->cache = [];
return true;
}
/**
* {@inheritdoc}
*/
public function delete($key)
{
unset($this->cache[$key]);
return true;
}
/**
* {@inheritdoc}
*/
public function deleteMultiple($keys)
{
foreach ($keys as $key) {
$this->delete($key);
}
return true;
}
/**
* {@inheritdoc}
*/
public function get($key, $default = null)
{
if ($this->has($key)) {
return $this->cache[$key];
}
return $default;
}
/**
* {@inheritdoc}
*/
public function getMultiple($keys, $default = null)
{
$results = [];
foreach ($keys as $key) {
$results[$key] = $this->get($key, $default);
}
return $results;
}
/**
* {@inheritdoc}
*/
public function has($key)
{
return isset($this->cache[$key]);
}
/**
* {@inheritdoc}
*/
public function set($key, $value, $ttl = null)
{
$this->cache[$key] = $value;
return true;
}
/**
* {@inheritdoc}
*/
public function setMultiple($values, $ttl = null)
{
foreach ($values as $key => $value) {
$this->set($key, $value);
}
return true;
}
/**
* @return bool
*/
public function reachedMemoryLimit(): bool
{
// When no limit is given, we'll never reach any limit.
if (null === $this->memoryLimit) {
return false;
}
return count($this->cache) >= $this->memoryLimit;
}
/**
* @return array
*/
public function flush(): array
{
$memory = $this->cache;
foreach ($memory as $cell) {
if ($cell instanceof Cell) {
$cell->detach();
}
}
$this->clear();
return $memory;
}
}
================================================
FILE: src/Cell.php
================================================
<?php
namespace Maatwebsite\Excel;
use Illuminate\Pipeline\Pipeline;
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
use PhpOffice\PhpSpreadsheet\Cell\Cell as SpreadsheetCell;
use PhpOffice\PhpSpreadsheet\RichText\RichText;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
/** @mixin SpreadsheetCell */
class Cell
{
use DelegatedMacroable;
/**
* @var SpreadsheetCell
*/
private $cell;
/**
* @param SpreadsheetCell $cell
*/
public function __construct(SpreadsheetCell $cell)
{
$this->cell = $cell;
}
/**
* @param Worksheet $worksheet
* @param string $coordinate
* @return Cell
*
* @throws \PhpOffice\PhpSpreadsheet\Exception
*/
public static function make(Worksheet $worksheet, string $coordinate)
{
return new static($worksheet->getCell($coordinate));
}
/**
* @return SpreadsheetCell
*/
public function getDelegate(): SpreadsheetCell
{
return $this->cell;
}
/**
* @param null $nullValue
* @param bool $calculateFormulas
* @param bool $formatData
* @return mixed
*/
public function getValue($nullValue = null, $calculateFormulas = false, $formatData = true)
{
$value = $nullValue;
if ($this->cell->getValue() !== null) {
if ($this->cell->getValue() instanceof RichText) {
$value = $this->cell->getValue()->getPlainText();
} elseif ($calculateFormulas) {
try {
$value = $this->cell->getCalculatedValue();
} catch (Exception $e) {
$value = $this->cell->getOldCalculatedValue();
}
} else {
$value = $this->cell->getValue();
}
if ($formatData) {
$style = $this->cell->getWorksheet()->getParent()->getCellXfByIndex($this->cell->getXfIndex());
$value = NumberFormat::toFormattedString(
$value,
($style && $style->getNumberFormat()) ? $style->getNumberFormat()->getFormatCode() : NumberFormat::FORMAT_GENERAL
);
}
}
return app(Pipeline::class)->send($value)->through(config('excel.imports.cells.middleware', []))->thenReturn();
}
}
================================================
FILE: src/ChunkReader.php
================================================
<?php
namespace Maatwebsite\Excel;
use Illuminate\Bus\Queueable;
use Illuminate\Container\Container;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\PendingDispatch;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\Jobs\SyncJob;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ShouldQueueWithoutChain;
use Maatwebsite\Excel\Concerns\WithChunkReading;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithLimit;
use Maatwebsite\Excel\Concerns\WithProgressBar;
use Maatwebsite\Excel\Files\TemporaryFile;
use Maatwebsite\Excel\Imports\HeadingRowExtractor;
use Maatwebsite\Excel\Jobs\AfterImportJob;
use Maatwebsite\Excel\Jobs\QueueImport;
use Maatwebsite\Excel\Jobs\ReadChunk;
use Throwable;
class ChunkReader
{
/**
* @var Container
*/
protected $container;
public function __construct(Container $container)
{
$this->container = $container;
}
/**
* @param WithChunkReading $import
* @param Reader $reader
* @param TemporaryFile $temporaryFile
* @return PendingDispatch|Collection|null
*/
public function read(WithChunkReading $import, Reader $reader, TemporaryFile $temporaryFile)
{
if ($import instanceof WithEvents) {
$reader->beforeImport($import);
}
$chunkSize = $import->chunkSize();
$totalRows = $reader->getTotalRows();
$worksheets = $reader->getWorksheets($import);
$queue = property_exists($import, 'queue') ? $import->queue : null;
$delayCleanup = property_exists($import, 'cleanupInterval') ? $import->cleanupInterval : 60;
if ($import instanceof WithProgressBar) {
$import->getConsoleOutput()->progressStart(array_sum($totalRows));
}
$jobs = new Collection();
foreach ($worksheets as $name => $sheetImport) {
$startRow = HeadingRowExtractor::determineStartRow($sheetImport);
if ($sheetImport instanceof WithLimit) {
$limit = $sheetImport->limit();
if ($limit <= $totalRows[$name]) {
$totalRows[$name] = $sheetImport->limit();
}
}
for ($currentRow = $startRow; $currentRow <= $totalRows[$name]; $currentRow += $chunkSize) {
$jobs->push(new ReadChunk(
$import,
$reader->getPhpSpreadsheetReader(),
$temporaryFile,
$name,
$sheetImport,
$currentRow,
$chunkSize
));
}
}
$afterImportJob = new AfterImportJob($import, $reader);
if ($import instanceof ShouldQueueWithoutChain) {
$afterImportJob->setInterval($delayCleanup);
$afterImportJob->setDependencies($jobs);
$jobs->push($afterImportJob->delay($delayCleanup));
return $jobs->each(function ($job) use ($queue) {
dispatch($job->onQueue($queue));
});
}
$jobs->push($afterImportJob);
if ($import instanceof ShouldQueue) {
return new PendingDispatch(
(new QueueImport($import))->chain($jobs->toArray())
);
}
$jobs->each(function ($job) {
try {
function_exists('dispatch_now')
? dispatch_now($job)
: $this->dispatchNow($job);
} catch (Throwable $e) {
if (method_exists($job, 'failed')) {
$job->failed($e);
}
throw $e;
}
});
if ($import instanceof WithProgressBar) {
$import->getConsoleOutput()->progressFinish();
}
unset($jobs);
return null;
}
/**
* Dispatch a command to its appropriate handler in the current process without using the synchronous queue.
*
* @param object $command
* @param mixed $handler
* @return mixed
*/
protected function dispatchNow($command, $handler = null)
{
$uses = class_uses_recursive($command);
if (in_array(InteractsWithQueue::class, $uses) &&
in_array(Queueable::class, $uses) && !$command->job
) {
$command->setJob(new SyncJob($this->container, json_encode([]), 'sync', 'sync'));
}
$method = method_exists($command, 'handle') ? 'handle' : '__invoke';
return $this->container->call([$command, $method]);
}
}
================================================
FILE: src/Concerns/Exportable.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Foundation\Bus\PendingDispatch;
use Maatwebsite\Excel\Exceptions\NoFilenameGivenException;
use Maatwebsite\Excel\Exceptions\NoFilePathGivenException;
use Maatwebsite\Excel\Exporter;
trait Exportable
{
/**
* @param string $fileName
* @param string|null $writerType
* @param array $headers
* @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\BinaryFileResponse
*
* @throws NoFilenameGivenException
*/
public function download(?string $fileName = null, ?string $writerType = null, ?array $headers = null)
{
$headers = $headers ?? $this->headers ?? [];
$fileName = $fileName ?? $this->fileName ?? null;
$writerType = $writerType ?? $this->writerType ?? null;
if (null === $fileName) {
throw new NoFilenameGivenException();
}
return $this->getExporter()->download($this, $fileName, $writerType, $headers);
}
/**
* @param string $filePath
* @param string|null $disk
* @param string|null $writerType
* @param mixed $diskOptions
* @return bool|PendingDispatch
*
* @throws NoFilePathGivenException
*/
public function store(?string $filePath = null, ?string $disk = null, ?string $writerType = null, $diskOptions = [])
{
$filePath = $filePath ?? $this->filePath ?? null;
if (null === $filePath) {
throw NoFilePathGivenException::export();
}
return $this->getExporter()->store(
$this,
$filePath,
$disk ?? $this->disk ?? null,
$writerType ?? $this->writerType ?? null,
$diskOptions ?: $this->diskOptions ?? []
);
}
/**
* @param string|null $filePath
* @param string|null $disk
* @param string|null $writerType
* @param mixed $diskOptions
* @return PendingDispatch
*
* @throws NoFilePathGivenException
*/
public function queue(?string $filePath = null, ?string $disk = null, ?string $writerType = null, $diskOptions = [])
{
$filePath = $filePath ?? $this->filePath ?? null;
if (null === $filePath) {
throw NoFilePathGivenException::export();
}
return $this->getExporter()->queue(
$this,
$filePath,
$disk ?? $this->disk ?? null,
$writerType ?? $this->writerType ?? null,
$diskOptions ?: $this->diskOptions ?? []
);
}
/**
* @param string|null $writerType
* @return string
*/
public function raw($writerType = null)
{
$writerType = $writerType ?? $this->writerType ?? null;
return $this->getExporter()->raw($this, $writerType);
}
/**
* Create an HTTP response that represents the object.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*
* @throws NoFilenameGivenException
*/
public function toResponse($request)
{
return $this->download();
}
/**
* @return Exporter
*/
private function getExporter(): Exporter
{
return app(Exporter::class);
}
}
================================================
FILE: src/Concerns/FromArray.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
interface FromArray
{
/**
* @return array
*/
public function array(): array;
}
================================================
FILE: src/Concerns/FromCollection.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Support\Collection;
interface FromCollection
{
/**
* @return Collection
*/
public function collection();
}
================================================
FILE: src/Concerns/FromGenerator.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Generator;
interface FromGenerator
{
/**
* @return Generator
*/
public function generator(): Generator;
}
================================================
FILE: src/Concerns/FromIterator.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Iterator;
interface FromIterator
{
/**
* @return Iterator
*/
public function iterator(): Iterator;
}
================================================
FILE: src/Concerns/FromQuery.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Database\Query\Builder;
use Laravel\Scout\Builder as ScoutBuilder;
interface FromQuery
{
/**
* @return Builder|EloquentBuilder|Relation|ScoutBuilder
*/
public function query();
}
================================================
FILE: src/Concerns/FromView.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Contracts\View\View;
interface FromView
{
/**
* @return View
*/
public function view(): View;
}
================================================
FILE: src/Concerns/HasReferencesToOtherSheets.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
interface HasReferencesToOtherSheets
{
}
================================================
FILE: src/Concerns/Importable.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Console\OutputStyle;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\PendingDispatch;
use Illuminate\Support\Collection;
use InvalidArgumentException;
use Maatwebsite\Excel\Exceptions\NoFilePathGivenException;
use Maatwebsite\Excel\Importer;
use Symfony\Component\Console\Input\StringInput;
use Symfony\Component\Console\Output\NullOutput;
use Symfony\Component\HttpFoundation\File\UploadedFile;
trait Importable
{
/**
* @var OutputStyle|null
*/
protected $output;
/**
* @param string|UploadedFile|null $filePath
* @param string|null $disk
* @param string|null $readerType
* @return Importer|PendingDispatch
*
* @throws NoFilePathGivenException
*/
public function import($filePath = null, ?string $disk = null, ?string $readerType = null)
{
$filePath = $this->getFilePath($filePath);
return $this->getImporter()->import(
$this,
$filePath,
$disk ?? $this->disk ?? null,
$readerType ?? $this->readerType ?? null
);
}
/**
* @param string|UploadedFile|null $filePath
* @param string|null $disk
* @param string|null $readerType
* @return array
*
* @throws NoFilePathGivenException
*/
public function toArray($filePath = null, ?string $disk = null, ?string $readerType = null): array
{
$filePath = $this->getFilePath($filePath);
return $this->getImporter()->toArray(
$this,
$filePath,
$disk ?? $this->disk ?? null,
$readerType ?? $this->readerType ?? null
);
}
/**
* @param string|UploadedFile|null $filePath
* @param string|null $disk
* @param string|null $readerType
* @return Collection
*
* @throws NoFilePathGivenException
*/
public function toCollection($filePath = null, ?string $disk = null, ?string $readerType = null): Collection
{
$filePath = $this->getFilePath($filePath);
return $this->getImporter()->toCollection(
$this,
$filePath,
$disk ?? $this->disk ?? null,
$readerType ?? $this->readerType ?? null
);
}
/**
* @param string|UploadedFile|null $filePath
* @param string|null $disk
* @param string|null $readerType
* @return PendingDispatch
*
* @throws NoFilePathGivenException
* @throws InvalidArgumentException
*/
public function queue($filePath = null, ?string $disk = null, ?string $readerType = null)
{
if (!$this instanceof ShouldQueue) {
throw new InvalidArgumentException('Importable should implement ShouldQueue to be queued.');
}
return $this->import($filePath, $disk, $readerType);
}
/**
* @param OutputStyle $output
* @return $this
*/
public function withOutput(OutputStyle $output)
{
$this->output = $output;
return $this;
}
/**
* @return OutputStyle
*/
public function getConsoleOutput(): OutputStyle
{
if (!$this->output instanceof OutputStyle) {
$this->output = new OutputStyle(new StringInput(''), new NullOutput());
}
return $this->output;
}
/**
* @param UploadedFile|string|null $filePath
* @return UploadedFile|string
*
* @throws NoFilePathGivenException
*/
private function getFilePath($filePath = null)
{
$filePath = $filePath ?? $this->filePath ?? null;
if (null === $filePath) {
throw NoFilePathGivenException::import();
}
return $filePath;
}
/**
* @return Importer
*/
private function getImporter(): Importer
{
return app(Importer::class);
}
}
================================================
FILE: src/Concerns/MapsCsvSettings.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Illuminate\Support\Arr;
trait MapsCsvSettings
{
/**
* @var string
*/
protected static $delimiter = ',';
/**
* @var string
*/
protected static $enclosure = '"';
/**
* @var string
*/
protected static $lineEnding = PHP_EOL;
/**
* @var bool
*/
protected static $useBom = false;
/**
* @var bool
*/
protected static $includeSeparatorLine = false;
/**
* @var bool
*/
protected static $excelCompatibility = false;
/**
* @var string
*/
protected static $escapeCharacter = '\\';
/**
* @var bool
*/
protected static $contiguous = false;
/**
* @var string
*/
protected static $inputEncoding = 'UTF-8';
/**
* @var string
*/
protected static $outputEncoding = '';
/**
* @var bool
*/
protected static $testAutoDetect = true;
/**
* @param array $config
*/
public static function applyCsvSettings(array $config)
{
static::$delimiter = Arr::get($config, 'delimiter', static::$delimiter);
static::$enclosure = Arr::get($config, 'enclosure', static::$enclosure);
static::$lineEnding = Arr::get($config, 'line_ending', static::$lineEnding);
static::$useBom = Arr::get($config, 'use_bom', static::$useBom);
static::$includeSeparatorLine = Arr::get($config, 'include_separator_line', static::$includeSeparatorLine);
static::$excelCompatibility = Arr::get($config, 'excel_compatibility', static::$excelCompatibility);
static::$escapeCharacter = Arr::get($config, 'escape_character', static::$escapeCharacter);
static::$contiguous = Arr::get($config, 'contiguous', static::$contiguous);
static::$inputEncoding = Arr::get($config, 'input_encoding', static::$inputEncoding);
static::$outputEncoding = Arr::get($config, 'output_encoding', static::$outputEncoding);
static::$testAutoDetect = Arr::get($config, 'test_auto_detect', static::$testAutoDetect);
}
}
================================================
FILE: src/Concerns/OnEachRow.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Maatwebsite\Excel\Row;
interface OnEachRow
{
/**
* @param Row $row
*/
public function onRow(Row $row);
}
================================================
FILE: src/Concerns/PersistRelations.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
interface PersistRelations
{
}
================================================
FILE: src/Concerns/RegistersEventListeners.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
use Maatwebsite\Excel\Events\AfterBatch;
use Maatwebsite\Excel\Events\AfterChunk;
use Maatwebsite\Excel\Events\AfterImport;
use Maatwebsite\Excel\Events\AfterSheet;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Events\BeforeImport;
use Maatwebsite\Excel\Events\BeforeSheet;
use Maatwebsite\Excel\Events\BeforeWriting;
use Maatwebsite\Excel\Events\ImportFailed;
trait RegistersEventListeners
{
/**
* @return array
*/
public function registerEvents(): array
{
$listenersClasses = [
BeforeExport::class => 'beforeExport',
BeforeWriting::class => 'beforeWriting',
BeforeImport::class => 'beforeImport',
AfterImport::class => 'afterImport',
AfterBatch::class => 'afterBatch',
AfterChunk::class => 'afterChunk',
ImportFailed::class => 'importFailed',
BeforeSheet::class => 'beforeSheet',
AfterSheet::class => 'afterSheet',
];
$listeners = [];
foreach ($listenersClasses as $class => $name) {
// Method names are case insensitive in php
if (method_exists($this, $name)) {
// Allow methods to not be static
$listeners[$class] = [$this, $name];
}
}
return $listeners;
}
}
================================================
FILE: src/Concerns/RemembersChunkOffset.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
trait RemembersChunkOffset
{
/**
* @var int|null
*/
protected $chunkOffset;
/**
* @param int $chunkOffset
*/
public function setChunkOffset(int $chunkOffset)
{
$this->chunkOffset = $chunkOffset;
}
/**
* @return int|null
*/
public function getChunkOffset()
{
return $this->chunkOffset;
}
}
================================================
FILE: src/Concerns/RemembersRowNumber.php
================================================
<?php
namespace Maatwebsite\Excel\Concerns;
trait RemembersRowNumber
{
/**
* @var int
*/
protected $rowNumber;
/**
* @param int $rowNumber
*/
public function rememberRowNumber(int $rowNumber)
{
$this->rowNumber = $rowNumber;
}
/**
* @return int|null
*/
public function getRowNumber()
{
return $this->rowNumber;
}
}
================================================
FILE: src/Concerns/ShouldAutoSize.php
================================================
<?php
namespace Maatwebsite\E
gitextract_hvn1oki5/
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── 1_Bug_report.yml
│ │ └── config.yml
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── SUPPORT.md
│ ├── issuecomplete.yml
│ ├── stale.yml
│ └── workflows/
│ └── run-tests.yml
├── .gitignore
├── .phpunit.cache/
│ └── test-results
├── .styleci.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── composer.json
├── config/
│ └── excel.php
├── phpunit.xml.dist
├── src/
│ ├── Cache/
│ │ ├── BatchCache.php
│ │ ├── BatchCacheDeprecated.php
│ │ ├── CacheManager.php
│ │ ├── MemoryCache.php
│ │ └── MemoryCacheDeprecated.php
│ ├── Cell.php
│ ├── ChunkReader.php
│ ├── Concerns/
│ │ ├── Exportable.php
│ │ ├── FromArray.php
│ │ ├── FromCollection.php
│ │ ├── FromGenerator.php
│ │ ├── FromIterator.php
│ │ ├── FromQuery.php
│ │ ├── FromView.php
│ │ ├── HasReferencesToOtherSheets.php
│ │ ├── Importable.php
│ │ ├── MapsCsvSettings.php
│ │ ├── OnEachRow.php
│ │ ├── PersistRelations.php
│ │ ├── RegistersEventListeners.php
│ │ ├── RemembersChunkOffset.php
│ │ ├── RemembersRowNumber.php
│ │ ├── ShouldAutoSize.php
│ │ ├── ShouldQueueWithoutChain.php
│ │ ├── SkipsEmptyRows.php
│ │ ├── SkipsErrors.php
│ │ ├── SkipsFailures.php
│ │ ├── SkipsOnError.php
│ │ ├── SkipsOnFailure.php
│ │ ├── SkipsUnknownSheets.php
│ │ ├── ToArray.php
│ │ ├── ToCollection.php
│ │ ├── ToModel.php
│ │ ├── WithBackgroundColor.php
│ │ ├── WithBatchInserts.php
│ │ ├── WithCalculatedFormulas.php
│ │ ├── WithCharts.php
│ │ ├── WithChunkReading.php
│ │ ├── WithColumnFormatting.php
│ │ ├── WithColumnLimit.php
│ │ ├── WithColumnWidths.php
│ │ ├── WithConditionalSheets.php
│ │ ├── WithCustomChunkSize.php
│ │ ├── WithCustomCsvSettings.php
│ │ ├── WithCustomQuerySize.php
│ │ ├── WithCustomStartCell.php
│ │ ├── WithCustomValueBinder.php
│ │ ├── WithDefaultStyles.php
│ │ ├── WithDrawings.php
│ │ ├── WithEvents.php
│ │ ├── WithFormatData.php
│ │ ├── WithGroupedHeadingRow.php
│ │ ├── WithHeadingRow.php
│ │ ├── WithHeadings.php
│ │ ├── WithLimit.php
│ │ ├── WithMappedCells.php
│ │ ├── WithMapping.php
│ │ ├── WithMultipleSheets.php
│ │ ├── WithPreCalculateFormulas.php
│ │ ├── WithProgressBar.php
│ │ ├── WithProperties.php
│ │ ├── WithReadFilter.php
│ │ ├── WithSkipDuplicates.php
│ │ ├── WithStartRow.php
│ │ ├── WithStrictNullComparison.php
│ │ ├── WithStyles.php
│ │ ├── WithTitle.php
│ │ ├── WithUpsertColumns.php
│ │ ├── WithUpserts.php
│ │ └── WithValidation.php
│ ├── Console/
│ │ ├── ExportMakeCommand.php
│ │ ├── ImportMakeCommand.php
│ │ ├── WithModelStub.php
│ │ └── stubs/
│ │ ├── export.model.stub
│ │ ├── export.plain.stub
│ │ ├── export.query-model.stub
│ │ ├── export.query.stub
│ │ ├── import.collection.stub
│ │ └── import.model.stub
│ ├── DefaultValueBinder.php
│ ├── DelegatedMacroable.php
│ ├── Events/
│ │ ├── AfterBatch.php
│ │ ├── AfterChunk.php
│ │ ├── AfterImport.php
│ │ ├── AfterSheet.php
│ │ ├── BeforeExport.php
│ │ ├── BeforeImport.php
│ │ ├── BeforeSheet.php
│ │ ├── BeforeWriting.php
│ │ ├── Event.php
│ │ └── ImportFailed.php
│ ├── Excel.php
│ ├── ExcelServiceProvider.php
│ ├── Exceptions/
│ │ ├── ConcernConflictException.php
│ │ ├── LaravelExcelException.php
│ │ ├── NoFilePathGivenException.php
│ │ ├── NoFilenameGivenException.php
│ │ ├── NoSheetsFoundException.php
│ │ ├── NoTypeDetectedException.php
│ │ ├── RowSkippedException.php
│ │ ├── SheetNotFoundException.php
│ │ └── UnreadableFileException.php
│ ├── Exporter.php
│ ├── Facades/
│ │ └── Excel.php
│ ├── Factories/
│ │ ├── ReaderFactory.php
│ │ └── WriterFactory.php
│ ├── Fakes/
│ │ ├── ExcelFake.php
│ │ └── fake_file
│ ├── Files/
│ │ ├── Disk.php
│ │ ├── Filesystem.php
│ │ ├── LocalTemporaryFile.php
│ │ ├── RemoteTemporaryFile.php
│ │ ├── TemporaryFile.php
│ │ └── TemporaryFileFactory.php
│ ├── Filters/
│ │ ├── ChunkReadFilter.php
│ │ └── LimitFilter.php
│ ├── HasEventBus.php
│ ├── HeadingRowImport.php
│ ├── Helpers/
│ │ ├── ArrayHelper.php
│ │ ├── CellHelper.php
│ │ └── FileTypeDetector.php
│ ├── Importer.php
│ ├── Imports/
│ │ ├── EndRowFinder.php
│ │ ├── HeadingRowExtractor.php
│ │ ├── HeadingRowFormatter.php
│ │ ├── ModelImporter.php
│ │ ├── ModelManager.php
│ │ └── Persistence/
│ │ └── CascadePersistManager.php
│ ├── Jobs/
│ │ ├── AfterImportJob.php
│ │ ├── AppendDataToSheet.php
│ │ ├── AppendPaginatedToSheet.php
│ │ ├── AppendQueryToSheet.php
│ │ ├── AppendViewToSheet.php
│ │ ├── CloseSheet.php
│ │ ├── ExtendedQueueable.php
│ │ ├── Middleware/
│ │ │ └── LocalizeJob.php
│ │ ├── ProxyFailures.php
│ │ ├── QueueExport.php
│ │ ├── QueueImport.php
│ │ ├── ReadChunk.php
│ │ └── StoreQueuedExport.php
│ ├── MappedReader.php
│ ├── Middleware/
│ │ ├── CellMiddleware.php
│ │ ├── ConvertEmptyCellValuesToNull.php
│ │ └── TrimCellValue.php
│ ├── Mixins/
│ │ ├── DownloadCollectionMixin.php
│ │ ├── DownloadQueryMacro.php
│ │ ├── ImportAsMacro.php
│ │ ├── ImportMacro.php
│ │ ├── StoreCollectionMixin.php
│ │ └── StoreQueryMacro.php
│ ├── QueuedWriter.php
│ ├── Reader.php
│ ├── RegistersCustomConcerns.php
│ ├── Row.php
│ ├── SettingsProvider.php
│ ├── Sheet.php
│ ├── Transactions/
│ │ ├── DbTransactionHandler.php
│ │ ├── NullTransactionHandler.php
│ │ ├── TransactionHandler.php
│ │ └── TransactionManager.php
│ ├── Validators/
│ │ ├── Failure.php
│ │ ├── RowValidator.php
│ │ └── ValidationException.php
│ └── Writer.php
└── tests/
├── Cache/
│ └── BatchCacheTest.php
├── CellTest.php
├── Concerns/
│ ├── ExportableTest.php
│ ├── FromArrayTest.php
│ ├── FromCollectionTest.php
│ ├── FromGeneratorTest.php
│ ├── FromIteratorTest.php
│ ├── FromQueryTest.php
│ ├── FromViewTest.php
│ ├── ImportableTest.php
│ ├── OnEachRowTest.php
│ ├── RegistersEventListenersTest.php
│ ├── RemembersChunkOffsetTest.php
│ ├── RemembersRowNumberTest.php
│ ├── ShouldQueueWithoutChainTest.php
│ ├── SkipsEmptyRowsTest.php
│ ├── SkipsOnErrorTest.php
│ ├── SkipsOnFailureTest.php
│ ├── ToArrayTest.php
│ ├── ToCollectionTest.php
│ ├── ToModelTest.php
│ ├── WithBackgroundColorTest.php
│ ├── WithBatchInsertsTest.php
│ ├── WithCalculatedFormulasTest.php
│ ├── WithChunkReadingTest.php
│ ├── WithColumnFormattingTest.php
│ ├── WithColumnLimitTest.php
│ ├── WithColumnWidthsTest.php
│ ├── WithConditionalSheetsTest.php
│ ├── WithCustomCsvSettingsTest.php
│ ├── WithCustomQuerySizeTest.php
│ ├── WithCustomStartCellTest.php
│ ├── WithCustomValueBinderTest.php
│ ├── WithDefaultStylesTest.php
│ ├── WithEventsTest.php
│ ├── WithFormatDataTest.php
│ ├── WithGroupedHeadingRowTest.php
│ ├── WithHeadingRowTest.php
│ ├── WithHeadingsTest.php
│ ├── WithLimitTest.php
│ ├── WithMappedCellsTest.php
│ ├── WithMappingTest.php
│ ├── WithMultipleSheetsTest.php
│ ├── WithPropertiesTest.php
│ ├── WithReadFilterTest.php
│ ├── WithSkipDuplicatesTest.php
│ ├── WithStartRowTest.php
│ ├── WithStrictNullComparisonTest.php
│ ├── WithStylesTest.php
│ ├── WithTitleTest.php
│ ├── WithUpsertsTest.php
│ └── WithValidationTest.php
├── Data/
│ ├── Disks/
│ │ └── .gitignore
│ └── Stubs/
│ ├── AfterQueueExportJob.php
│ ├── AfterQueueImportJob.php
│ ├── BeforeExportListener.php
│ ├── ChainedJobStub.php
│ ├── CustomConcern.php
│ ├── CustomSheetConcern.php
│ ├── CustomTransactionHandler.php
│ ├── Database/
│ │ ├── Factories/
│ │ │ ├── GroupFactory.php
│ │ │ └── UserFactory.php
│ │ ├── Group.php
│ │ ├── Migrations/
│ │ │ ├── 0000_00_00_000000_create_groups_table.php
│ │ │ ├── 0000_00_00_000001_create_group_user_table.php
│ │ │ ├── 0000_00_00_000002_add_group_id_to_users_table.php
│ │ │ └── 0000_00_00_000002_add_options_to_users.php
│ │ └── User.php
│ ├── EloquentCollectionWithMappingExport.php
│ ├── EloquentLazyCollectionExport.php
│ ├── EloquentLazyCollectionQueuedExport.php
│ ├── EmptyExport.php
│ ├── ExportWithEvents.php
│ ├── ExportWithEventsChunks.php
│ ├── ExportWithRegistersEventListeners.php
│ ├── FromGroupUsersQueuedQueryExport.php
│ ├── FromNestedArraysQueryExport.php
│ ├── FromNonEloquentQueryExport.php
│ ├── FromQueryWithCustomQuerySize.php
│ ├── FromUsersQueryExport.php
│ ├── FromUsersQueryExportWithEagerLoad.php
│ ├── FromUsersQueryExportWithMapping.php
│ ├── FromUsersQueryExportWithPrepareRows.php
│ ├── FromUsersQueryWithJoinExport.php
│ ├── FromUsersScoutExport.php
│ ├── FromViewExportWithMultipleSheets.php
│ ├── ImportWithEvents.php
│ ├── ImportWithEventsChunksAndBatches.php
│ ├── ImportWithRegistersEventListeners.php
│ ├── QueueImportWithoutJobChaining.php
│ ├── QueuedExport.php
│ ├── QueuedExportWithFailedEvents.php
│ ├── QueuedExportWithFailedHook.php
│ ├── QueuedExportWithLocalePreferences.php
│ ├── QueuedImport.php
│ ├── QueuedImportWithFailure.php
│ ├── QueuedImportWithMiddleware.php
│ ├── QueuedImportWithRetryUntil.php
│ ├── SheetForUsersFromView.php
│ ├── SheetWith100Rows.php
│ ├── ShouldQueueExport.php
│ ├── Views/
│ │ └── users.blade.php
│ ├── WithMappingExport.php
│ └── WithTitleExport.php
├── DelegatedMacroableTest.php
├── ExcelFakeTest.php
├── ExcelServiceProviderTest.php
├── ExcelTest.php
├── HeadingRowImportTest.php
├── Helpers/
│ └── FileHelper.php
├── InteractsWithQueueTest.php
├── Mixins/
│ ├── DownloadCollectionTest.php
│ ├── DownloadQueryMacroTest.php
│ ├── ImportAsMacroTest.php
│ ├── ImportMacroTest.php
│ ├── StoreCollectionTest.php
│ └── StoreQueryMacroTest.php
├── QueuedExportTest.php
├── QueuedImportTest.php
├── QueuedQueryExportTest.php
├── QueuedViewExportTest.php
├── TemporaryFileTest.php
├── TestCase.php
└── Validators/
└── RowValidatorTest.php
SYMBOL INDEX (1251 symbols across 278 files)
FILE: src/Cache/BatchCache.php
class BatchCache (line 8) | class BatchCache implements CacheInterface
method __construct (line 30) | public function __construct(
method __sleep (line 40) | public function __sleep()
method __wakeup (line 45) | public function __wakeup()
method get (line 55) | public function get(string $key, mixed $default = null): mixed
method set (line 67) | public function set(string $key, mixed $value, null|int|\DateInterval ...
method delete (line 85) | public function delete(string $key): bool
method clear (line 97) | public function clear(): bool
method getMultiple (line 107) | public function getMultiple(iterable $keys, mixed $default = null): it...
method setMultiple (line 135) | public function setMultiple(iterable $values, null|int|\DateInterval $...
method deleteMultiple (line 153) | public function deleteMultiple(iterable $keys): bool
method has (line 165) | public function has(string $key): bool
FILE: src/Cache/BatchCacheDeprecated.php
class BatchCacheDeprecated (line 8) | class BatchCacheDeprecated implements CacheInterface
method __construct (line 30) | public function __construct(
method __sleep (line 40) | public function __sleep()
method __wakeup (line 45) | public function __wakeup()
method get (line 55) | public function get($key, $default = null)
method set (line 67) | public function set($key, $value, $ttl = null)
method delete (line 85) | public function delete($key)
method clear (line 97) | public function clear()
method getMultiple (line 107) | public function getMultiple($keys, $default = null)
method setMultiple (line 135) | public function setMultiple($values, $ttl = null)
method deleteMultiple (line 153) | public function deleteMultiple($keys)
method has (line 165) | public function has($key)
FILE: src/Cache/CacheManager.php
class CacheManager (line 11) | class CacheManager extends Manager
method getDefaultDriver (line 33) | public function getDefaultDriver(): string
method createMemoryDriver (line 41) | public function createMemoryDriver(): CacheInterface
method createBatchDriver (line 57) | public function createBatchDriver(): CacheInterface
method createIlluminateDriver (line 77) | public function createIlluminateDriver(): CacheInterface
method flush (line 84) | public function flush()
method isInMemory (line 89) | public function isInMemory(): bool
FILE: src/Cache/MemoryCache.php
class MemoryCache (line 8) | class MemoryCache implements CacheInterface
method __construct (line 23) | public function __construct(?int $memoryLimit = null)
method clear (line 31) | public function clear(): bool
method delete (line 41) | public function delete(string $key): bool
method deleteMultiple (line 51) | public function deleteMultiple($keys): bool
method get (line 63) | public function get(string $key, mixed $default = null): mixed
method getMultiple (line 75) | public function getMultiple(iterable $keys, mixed $default = null): it...
method has (line 88) | public function has($key): bool
method set (line 96) | public function set(string $key, mixed $value, null|int|\DateInterval ...
method setMultiple (line 106) | public function setMultiple($values, $ttl = null): bool
method reachedMemoryLimit (line 118) | public function reachedMemoryLimit(): bool
method flush (line 131) | public function flush(): array
FILE: src/Cache/MemoryCacheDeprecated.php
class MemoryCacheDeprecated (line 8) | class MemoryCacheDeprecated implements CacheInterface
method __construct (line 23) | public function __construct(?int $memoryLimit = null)
method clear (line 31) | public function clear()
method delete (line 41) | public function delete($key)
method deleteMultiple (line 51) | public function deleteMultiple($keys)
method get (line 63) | public function get($key, $default = null)
method getMultiple (line 75) | public function getMultiple($keys, $default = null)
method has (line 88) | public function has($key)
method set (line 96) | public function set($key, $value, $ttl = null)
method setMultiple (line 106) | public function setMultiple($values, $ttl = null)
method reachedMemoryLimit (line 118) | public function reachedMemoryLimit(): bool
method flush (line 131) | public function flush(): array
FILE: src/Cell.php
class Cell (line 13) | class Cell
method __construct (line 25) | public function __construct(SpreadsheetCell $cell)
method make (line 37) | public static function make(Worksheet $worksheet, string $coordinate)
method getDelegate (line 45) | public function getDelegate(): SpreadsheetCell
method getValue (line 56) | public function getValue($nullValue = null, $calculateFormulas = false...
FILE: src/ChunkReader.php
class ChunkReader (line 24) | class ChunkReader
method __construct (line 31) | public function __construct(Container $container)
method read (line 42) | public function read(WithChunkReading $import, Reader $reader, Tempora...
method dispatchNow (line 132) | protected function dispatchNow($command, $handler = null)
FILE: src/Concerns/Exportable.php
type Exportable (line 10) | trait Exportable
method download (line 20) | public function download(?string $fileName = null, ?string $writerType...
method store (line 42) | public function store(?string $filePath = null, ?string $disk = null, ...
method queue (line 68) | public function queue(?string $filePath = null, ?string $disk = null, ...
method raw (line 89) | public function raw($writerType = null)
method toResponse (line 104) | public function toResponse($request)
method getExporter (line 112) | private function getExporter(): Exporter
FILE: src/Concerns/FromArray.php
type FromArray (line 5) | interface FromArray
method array (line 10) | public function array(): array;
FILE: src/Concerns/FromCollection.php
type FromCollection (line 7) | interface FromCollection
method collection (line 12) | public function collection();
FILE: src/Concerns/FromGenerator.php
type FromGenerator (line 7) | interface FromGenerator
method generator (line 12) | public function generator(): Generator;
FILE: src/Concerns/FromIterator.php
type FromIterator (line 7) | interface FromIterator
method iterator (line 12) | public function iterator(): Iterator;
FILE: src/Concerns/FromQuery.php
type FromQuery (line 10) | interface FromQuery
method query (line 15) | public function query();
FILE: src/Concerns/FromView.php
type FromView (line 7) | interface FromView
method view (line 12) | public function view(): View;
FILE: src/Concerns/HasReferencesToOtherSheets.php
type HasReferencesToOtherSheets (line 5) | interface HasReferencesToOtherSheets
FILE: src/Concerns/Importable.php
type Importable (line 16) | trait Importable
method import (line 31) | public function import($filePath = null, ?string $disk = null, ?string...
method toArray (line 51) | public function toArray($filePath = null, ?string $disk = null, ?strin...
method toCollection (line 71) | public function toCollection($filePath = null, ?string $disk = null, ?...
method queue (line 92) | public function queue($filePath = null, ?string $disk = null, ?string ...
method withOutput (line 105) | public function withOutput(OutputStyle $output)
method getConsoleOutput (line 115) | public function getConsoleOutput(): OutputStyle
method getFilePath (line 130) | private function getFilePath($filePath = null)
method getImporter (line 144) | private function getImporter(): Importer
FILE: src/Concerns/MapsCsvSettings.php
type MapsCsvSettings (line 7) | trait MapsCsvSettings
method applyCsvSettings (line 67) | public static function applyCsvSettings(array $config)
FILE: src/Concerns/OnEachRow.php
type OnEachRow (line 7) | interface OnEachRow
method onRow (line 12) | public function onRow(Row $row);
FILE: src/Concerns/PersistRelations.php
type PersistRelations (line 5) | interface PersistRelations
FILE: src/Concerns/RegistersEventListeners.php
type RegistersEventListeners (line 15) | trait RegistersEventListeners
method registerEvents (line 20) | public function registerEvents(): array
FILE: src/Concerns/RemembersChunkOffset.php
type RemembersChunkOffset (line 5) | trait RemembersChunkOffset
method setChunkOffset (line 15) | public function setChunkOffset(int $chunkOffset)
method getChunkOffset (line 23) | public function getChunkOffset()
FILE: src/Concerns/RemembersRowNumber.php
type RemembersRowNumber (line 5) | trait RemembersRowNumber
method rememberRowNumber (line 15) | public function rememberRowNumber(int $rowNumber)
method getRowNumber (line 23) | public function getRowNumber()
FILE: src/Concerns/ShouldAutoSize.php
type ShouldAutoSize (line 5) | interface ShouldAutoSize
FILE: src/Concerns/ShouldQueueWithoutChain.php
type ShouldQueueWithoutChain (line 7) | interface ShouldQueueWithoutChain extends ShouldQueue
FILE: src/Concerns/SkipsEmptyRows.php
type SkipsEmptyRows (line 5) | interface SkipsEmptyRows
FILE: src/Concerns/SkipsErrors.php
type SkipsErrors (line 8) | trait SkipsErrors
method onError (line 18) | public function onError(Throwable $e)
method errors (line 26) | public function errors(): Collection
FILE: src/Concerns/SkipsFailures.php
type SkipsFailures (line 8) | trait SkipsFailures
method onFailure (line 18) | public function onFailure(Failure ...$failures)
method failures (line 26) | public function failures(): Collection
FILE: src/Concerns/SkipsOnError.php
type SkipsOnError (line 7) | interface SkipsOnError
method onError (line 12) | public function onError(Throwable $e);
FILE: src/Concerns/SkipsOnFailure.php
type SkipsOnFailure (line 7) | interface SkipsOnFailure
method onFailure (line 12) | public function onFailure(Failure ...$failures);
FILE: src/Concerns/SkipsUnknownSheets.php
type SkipsUnknownSheets (line 5) | interface SkipsUnknownSheets
method onUnknownSheet (line 10) | public function onUnknownSheet($sheetName);
FILE: src/Concerns/ToArray.php
type ToArray (line 5) | interface ToArray
method array (line 10) | public function array(array $array);
FILE: src/Concerns/ToCollection.php
type ToCollection (line 7) | interface ToCollection
method collection (line 12) | public function collection(Collection $collection);
FILE: src/Concerns/ToModel.php
type ToModel (line 7) | interface ToModel
method model (line 13) | public function model(array $row);
FILE: src/Concerns/WithBackgroundColor.php
type WithBackgroundColor (line 7) | interface WithBackgroundColor
method backgroundColor (line 12) | public function backgroundColor();
FILE: src/Concerns/WithBatchInserts.php
type WithBatchInserts (line 5) | interface WithBatchInserts
method batchSize (line 10) | public function batchSize(): int;
FILE: src/Concerns/WithCalculatedFormulas.php
type WithCalculatedFormulas (line 5) | interface WithCalculatedFormulas
FILE: src/Concerns/WithCharts.php
type WithCharts (line 7) | interface WithCharts
method charts (line 12) | public function charts();
FILE: src/Concerns/WithChunkReading.php
type WithChunkReading (line 5) | interface WithChunkReading
method chunkSize (line 10) | public function chunkSize(): int;
FILE: src/Concerns/WithColumnFormatting.php
type WithColumnFormatting (line 5) | interface WithColumnFormatting
method columnFormats (line 10) | public function columnFormats(): array;
FILE: src/Concerns/WithColumnLimit.php
type WithColumnLimit (line 5) | interface WithColumnLimit
method endColumn (line 7) | public function endColumn(): string;
FILE: src/Concerns/WithColumnWidths.php
type WithColumnWidths (line 5) | interface WithColumnWidths
method columnWidths (line 7) | public function columnWidths(): array;
FILE: src/Concerns/WithConditionalSheets.php
type WithConditionalSheets (line 5) | trait WithConditionalSheets
method onlySheets (line 16) | public function onlySheets($sheets)
method sheets (line 26) | public function sheets(): array
method conditionalSheets (line 36) | abstract public function conditionalSheets(): array;
FILE: src/Concerns/WithCustomChunkSize.php
type WithCustomChunkSize (line 5) | interface WithCustomChunkSize
method chunkSize (line 10) | public function chunkSize(): int;
FILE: src/Concerns/WithCustomCsvSettings.php
type WithCustomCsvSettings (line 5) | interface WithCustomCsvSettings
method getCsvSettings (line 10) | public function getCsvSettings(): array;
FILE: src/Concerns/WithCustomQuerySize.php
type WithCustomQuerySize (line 5) | interface WithCustomQuerySize
method querySize (line 16) | public function querySize(): int;
FILE: src/Concerns/WithCustomStartCell.php
type WithCustomStartCell (line 5) | interface WithCustomStartCell
method startCell (line 10) | public function startCell(): string;
FILE: src/Concerns/WithCustomValueBinder.php
type WithCustomValueBinder (line 7) | interface WithCustomValueBinder extends IValueBinder
FILE: src/Concerns/WithDefaultStyles.php
type WithDefaultStyles (line 7) | interface WithDefaultStyles
method defaultStyles (line 12) | public function defaultStyles(Style $defaultStyle);
FILE: src/Concerns/WithDrawings.php
type WithDrawings (line 7) | interface WithDrawings
method drawings (line 12) | public function drawings();
FILE: src/Concerns/WithEvents.php
type WithEvents (line 5) | interface WithEvents
method registerEvents (line 10) | public function registerEvents(): array;
FILE: src/Concerns/WithFormatData.php
type WithFormatData (line 5) | interface WithFormatData
FILE: src/Concerns/WithGroupedHeadingRow.php
type WithGroupedHeadingRow (line 5) | interface WithGroupedHeadingRow extends WithHeadingRow
FILE: src/Concerns/WithHeadingRow.php
type WithHeadingRow (line 5) | interface WithHeadingRow
FILE: src/Concerns/WithHeadings.php
type WithHeadings (line 5) | interface WithHeadings
method headings (line 10) | public function headings(): array;
FILE: src/Concerns/WithLimit.php
type WithLimit (line 5) | interface WithLimit
method limit (line 10) | public function limit(): int;
FILE: src/Concerns/WithMappedCells.php
type WithMappedCells (line 5) | interface WithMappedCells
method mapping (line 10) | public function mapping(): array;
FILE: src/Concerns/WithMapping.php
type WithMapping (line 8) | interface WithMapping
method map (line 14) | public function map($row): array;
FILE: src/Concerns/WithMultipleSheets.php
type WithMultipleSheets (line 5) | interface WithMultipleSheets
method sheets (line 10) | public function sheets(): array;
FILE: src/Concerns/WithPreCalculateFormulas.php
type WithPreCalculateFormulas (line 5) | interface WithPreCalculateFormulas
FILE: src/Concerns/WithProgressBar.php
type WithProgressBar (line 7) | interface WithProgressBar
method getConsoleOutput (line 12) | public function getConsoleOutput(): OutputStyle;
FILE: src/Concerns/WithProperties.php
type WithProperties (line 5) | interface WithProperties
method properties (line 7) | public function properties(): array;
FILE: src/Concerns/WithReadFilter.php
type WithReadFilter (line 7) | interface WithReadFilter
method readFilter (line 12) | public function readFilter(): IReadFilter;
FILE: src/Concerns/WithSkipDuplicates.php
type WithSkipDuplicates (line 5) | interface WithSkipDuplicates
FILE: src/Concerns/WithStartRow.php
type WithStartRow (line 5) | interface WithStartRow
method startRow (line 10) | public function startRow(): int;
FILE: src/Concerns/WithStrictNullComparison.php
type WithStrictNullComparison (line 5) | interface WithStrictNullComparison
FILE: src/Concerns/WithStyles.php
type WithStyles (line 7) | interface WithStyles
method styles (line 9) | public function styles(Worksheet $sheet);
FILE: src/Concerns/WithTitle.php
type WithTitle (line 5) | interface WithTitle
method title (line 10) | public function title(): string;
FILE: src/Concerns/WithUpsertColumns.php
type WithUpsertColumns (line 5) | interface WithUpsertColumns
method upsertColumns (line 10) | public function upsertColumns();
FILE: src/Concerns/WithUpserts.php
type WithUpserts (line 5) | interface WithUpserts
method uniqueBy (line 10) | public function uniqueBy();
FILE: src/Concerns/WithValidation.php
type WithValidation (line 5) | interface WithValidation
method rules (line 10) | public function rules(): array;
FILE: src/Console/ExportMakeCommand.php
class ExportMakeCommand (line 8) | class ExportMakeCommand extends GeneratorCommand
method getStub (line 38) | protected function getStub()
method getDefaultNamespace (line 57) | protected function getDefaultNamespace($rootNamespace)
method buildClass (line 69) | protected function buildClass($name)
method getOptions (line 86) | protected function getOptions()
FILE: src/Console/ImportMakeCommand.php
class ImportMakeCommand (line 8) | class ImportMakeCommand extends GeneratorCommand
method getStub (line 38) | protected function getStub()
method getDefaultNamespace (line 51) | protected function getDefaultNamespace($rootNamespace)
method buildClass (line 63) | protected function buildClass($name)
method getOptions (line 80) | protected function getOptions()
FILE: src/Console/WithModelStub.php
type WithModelStub (line 8) | trait WithModelStub
method buildModelReplacements (line 16) | protected function buildModelReplacements(array $replace): array
method parseModel (line 32) | protected function parseModel($model): string
method resolveStubPath (line 61) | protected function resolveStubPath($stub)
FILE: src/DefaultValueBinder.php
class DefaultValueBinder (line 8) | class DefaultValueBinder extends PhpSpreadsheetDefaultValueBinder
method bindValue (line 15) | public function bindValue(Cell $cell, $value)
FILE: src/DelegatedMacroable.php
type DelegatedMacroable (line 7) | trait DelegatedMacroable
method __call (line 20) | public function __call($method, $parameters)
method getDelegate (line 34) | abstract public function getDelegate();
FILE: src/Events/AfterBatch.php
class AfterBatch (line 7) | class AfterBatch extends Event
method __construct (line 30) | public function __construct(ModelManager $manager, $importable, int $b...
method getManager (line 38) | public function getManager(): ModelManager
method getDelegate (line 46) | public function getDelegate()
method getBatchSize (line 51) | public function getBatchSize(): int
method getStartRow (line 56) | public function getStartRow(): int
FILE: src/Events/AfterChunk.php
class AfterChunk (line 7) | class AfterChunk extends Event
method __construct (line 19) | public function __construct(Sheet $sheet, $importable, int $startRow)
method getSheet (line 26) | public function getSheet(): Sheet
method getDelegate (line 31) | public function getDelegate()
method getStartRow (line 36) | public function getStartRow(): int
FILE: src/Events/AfterImport.php
class AfterImport (line 7) | class AfterImport extends Event
method __construct (line 18) | public function __construct(Reader $reader, $importable)
method getReader (line 27) | public function getReader(): Reader
method getDelegate (line 35) | public function getDelegate()
FILE: src/Events/AfterSheet.php
class AfterSheet (line 7) | class AfterSheet extends Event
method __construct (line 18) | public function __construct(Sheet $sheet, $exportable)
method getSheet (line 27) | public function getSheet(): Sheet
method getDelegate (line 35) | public function getDelegate()
FILE: src/Events/BeforeExport.php
class BeforeExport (line 7) | class BeforeExport extends Event
method __construct (line 18) | public function __construct(Writer $writer, $exportable)
method getWriter (line 27) | public function getWriter(): Writer
method getDelegate (line 35) | public function getDelegate()
FILE: src/Events/BeforeImport.php
class BeforeImport (line 7) | class BeforeImport extends Event
method __construct (line 18) | public function __construct(Reader $reader, $importable)
method getReader (line 27) | public function getReader(): Reader
method getDelegate (line 35) | public function getDelegate()
FILE: src/Events/BeforeSheet.php
class BeforeSheet (line 7) | class BeforeSheet extends Event
method __construct (line 18) | public function __construct(Sheet $sheet, $exportable)
method getSheet (line 27) | public function getSheet(): Sheet
method getDelegate (line 35) | public function getDelegate()
FILE: src/Events/BeforeWriting.php
class BeforeWriting (line 7) | class BeforeWriting extends Event
method __construct (line 23) | public function __construct(Writer $writer, $exportable)
method getWriter (line 32) | public function getWriter(): Writer
method getDelegate (line 40) | public function getDelegate()
FILE: src/Events/Event.php
class Event (line 8) | abstract class Event
method __construct (line 18) | public function __construct($concernable)
method getConcernable (line 26) | public function getConcernable()
method getDelegate (line 34) | abstract public function getDelegate();
method appliesToConcern (line 40) | public function appliesToConcern(string $concern): bool
FILE: src/Events/ImportFailed.php
class ImportFailed (line 7) | class ImportFailed
method __construct (line 17) | public function __construct(Throwable $e)
method getException (line 25) | public function getException(): Throwable
FILE: src/Excel.php
class Excel (line 13) | class Excel implements Exporter, Importer
method __construct (line 67) | public function __construct(
method download (line 82) | public function download($export, string $fileName, ?string $writerTyp...
method store (line 102) | public function store($export, string $filePath, ?string $diskName = n...
method queue (line 123) | public function queue($export, string $filePath, ?string $disk = null,...
method raw (line 139) | public function raw($export, string $writerType)
method import (line 152) | public function import($import, $filePath, ?string $disk = null, ?stri...
method toArray (line 167) | public function toArray($import, $filePath, ?string $disk = null, ?str...
method toCollection (line 177) | public function toCollection($import, $filePath, ?string $disk = null,...
method queueImport (line 187) | public function queueImport(ShouldQueue $import, $filePath, ?string $d...
method export (line 200) | protected function export($export, string $fileName, ?string $writerTy...
FILE: src/ExcelServiceProvider.php
class ExcelServiceProvider (line 23) | class ExcelServiceProvider extends ServiceProvider
method boot (line 28) | public function boot()
method register (line 63) | public function register()
method getConfigFile (line 122) | protected function getConfigFile(): string
FILE: src/Exceptions/ConcernConflictException.php
class ConcernConflictException (line 7) | class ConcernConflictException extends LogicException implements Laravel...
method queryOrCollectionAndView (line 12) | public static function queryOrCollectionAndView()
FILE: src/Exceptions/LaravelExcelException.php
type LaravelExcelException (line 7) | interface LaravelExcelException extends Throwable
FILE: src/Exceptions/NoFilePathGivenException.php
class NoFilePathGivenException (line 8) | class NoFilePathGivenException extends InvalidArgumentException implemen...
method __construct (line 15) | public function __construct(
method import (line 26) | public static function import()
method export (line 34) | public static function export()
FILE: src/Exceptions/NoFilenameGivenException.php
class NoFilenameGivenException (line 8) | class NoFilenameGivenException extends InvalidArgumentException implemen...
method __construct (line 15) | public function __construct(
FILE: src/Exceptions/NoSheetsFoundException.php
class NoSheetsFoundException (line 7) | class NoSheetsFoundException extends LogicException implements LaravelEx...
FILE: src/Exceptions/NoTypeDetectedException.php
class NoTypeDetectedException (line 8) | class NoTypeDetectedException extends Exception implements LaravelExcelE...
method __construct (line 15) | public function __construct(
FILE: src/Exceptions/RowSkippedException.php
class RowSkippedException (line 9) | class RowSkippedException extends Exception
method __construct (line 19) | public function __construct(Failure ...$failures)
method failures (line 29) | public function failures(): Collection
method skippedRows (line 37) | public function skippedRows(): array
FILE: src/Exceptions/SheetNotFoundException.php
class SheetNotFoundException (line 5) | class SheetNotFoundException extends \Exception implements LaravelExcelE...
method byName (line 11) | public static function byName(string $name): SheetNotFoundException
method byIndex (line 21) | public static function byIndex(int $index, int $sheetCount): SheetNotF...
FILE: src/Exceptions/UnreadableFileException.php
class UnreadableFileException (line 8) | class UnreadableFileException extends Exception implements LaravelExcelE...
method __construct (line 15) | public function __construct(
FILE: src/Exporter.php
type Exporter (line 5) | interface Exporter
method download (line 17) | public function download($export, string $fileName, ?string $writerTyp...
method store (line 30) | public function store($export, string $filePath, ?string $diskName = n...
method queue (line 40) | public function queue($export, string $filePath, ?string $disk = null,...
method raw (line 47) | public function raw($export, string $writerType);
FILE: src/Facades/Excel.php
class Excel (line 31) | class Excel extends Facade
method fake (line 38) | public static function fake()
method getFacadeAccessor (line 48) | protected static function getFacadeAccessor()
FILE: src/Factories/ReaderFactory.php
class ReaderFactory (line 18) | class ReaderFactory
method make (line 30) | public static function make($import, TemporaryFile $file, ?string $rea...
method identify (line 79) | private static function identify(TemporaryFile $temporaryFile): string
FILE: src/Factories/WriterFactory.php
class WriterFactory (line 17) | class WriterFactory
method make (line 30) | public static function make(string $writerType, Spreadsheet $spreadshe...
method includesCharts (line 82) | private static function includesCharts($export): bool
method isTsvFile (line 103) | private static function isTsvFile(string $filePath): bool
FILE: src/Fakes/ExcelFake.php
class ExcelFake (line 18) | class ExcelFake implements Exporter, Importer
method download (line 60) | public function download($export, string $fileName, ?string $writerTyp...
method store (line 72) | public function store($export, string $filePath, ?string $disk = null,...
method queue (line 86) | public function queue($export, string $filePath, ?string $disk = null,...
method raw (line 113) | public function raw($export, string $writerType)
method import (line 127) | public function import($import, $file, ?string $disk = null, ?string $...
method toArray (line 147) | public function toArray($import, $file, ?string $disk = null, ?string ...
method toCollection (line 163) | public function toCollection($import, $file, ?string $disk = null, ?st...
method queueImport (line 179) | public function queueImport(ShouldQueue $import, $file, ?string $disk ...
method matchByRegex (line 209) | public function matchByRegex()
method doNotMatchByRegex (line 220) | public function doNotMatchByRegex()
method assertDownloaded (line 229) | public function assertDownloaded(string $fileName, $callback = null)
method assertStored (line 248) | public function assertStored(string $filePath, $disk = null, $callback...
method assertQueued (line 279) | public function assertQueued(string $filePath, $disk = null, $callback...
method assertQueuedWithChain (line 305) | public function assertQueuedWithChain($chain): void
method assertExportedInRaw (line 314) | public function assertExportedInRaw(string $classname, $callback = null)
method assertImported (line 333) | public function assertImported(string $filePath, $disk = null, $callba...
method assertArrayHasKey (line 373) | protected function assertArrayHasKey(string $key, array $disk, string ...
FILE: src/Files/Disk.php
class Disk (line 13) | class Disk
method __construct (line 35) | public function __construct(IlluminateFilesystem $disk, ?string $name ...
method __call (line 47) | public function __call($name, $arguments)
method put (line 57) | public function put(string $destination, $contents): bool
method copy (line 67) | public function copy(TemporaryFile $source, string $destination): bool
method touch (line 96) | public function touch(string $filename)
FILE: src/Files/Filesystem.php
class Filesystem (line 7) | class Filesystem
method __construct (line 17) | public function __construct(Factory $filesystem)
method disk (line 27) | public function disk(?string $disk = null, array $diskOptions = []): Disk
FILE: src/Files/LocalTemporaryFile.php
class LocalTemporaryFile (line 5) | class LocalTemporaryFile extends TemporaryFile
method __construct (line 15) | public function __construct(string $filePath)
method getLocalPath (line 28) | public function getLocalPath(): string
method exists (line 36) | public function exists(): bool
method delete (line 44) | public function delete(): bool
method readStream (line 56) | public function readStream()
method contents (line 64) | public function contents(): string
method put (line 72) | public function put($contents)
FILE: src/Files/RemoteTemporaryFile.php
class RemoteTemporaryFile (line 7) | class RemoteTemporaryFile extends TemporaryFile
method __construct (line 34) | public function __construct(string $disk, string $filename, LocalTempo...
method __sleep (line 43) | public function __sleep()
method getLocalPath (line 51) | public function getLocalPath(): string
method existsLocally (line 59) | public function existsLocally(): bool
method exists (line 67) | public function exists(): bool
method deleteLocalCopy (line 75) | public function deleteLocalCopy(): bool
method delete (line 83) | public function delete(): bool
method sync (line 96) | public function sync(bool $copy = true): TemporaryFile
method updateRemote (line 114) | public function updateRemote()
method readStream (line 125) | public function readStream()
method contents (line 133) | public function contents(): string
method put (line 141) | public function put($contents)
method disk (line 149) | public function disk(): Disk
FILE: src/Files/TemporaryFile.php
class TemporaryFile (line 8) | abstract class TemporaryFile
method getLocalPath (line 13) | abstract public function getLocalPath(): string;
method exists (line 18) | abstract public function exists(): bool;
method put (line 23) | abstract public function put($contents);
method delete (line 28) | abstract public function delete(): bool;
method readStream (line 33) | abstract public function readStream();
method contents (line 38) | abstract public function contents(): string;
method sync (line 43) | public function sync(): TemporaryFile
method copyFrom (line 53) | public function copyFrom($filePath, ?string $disk = null): TemporaryFile
FILE: src/Files/TemporaryFileFactory.php
class TemporaryFileFactory (line 7) | class TemporaryFileFactory
method __construct (line 23) | public function __construct(?string $temporaryPath = null, ?string $te...
method make (line 33) | public function make(?string $fileExtension = null): TemporaryFile
method makeLocal (line 47) | public function makeLocal(?string $fileName = null, ?string $fileExten...
method makeRemote (line 62) | private function makeRemote(?string $fileExtension = null): RemoteTemp...
method generateFilename (line 77) | private function generateFilename(?string $fileExtension = null): string
FILE: src/Filters/ChunkReadFilter.php
class ChunkReadFilter (line 7) | class ChunkReadFilter implements IReadFilter
method __construct (line 35) | public function __construct(int $headingRow, int $startRow, int $chunk...
method readCell (line 49) | public function readCell($column, $row, $worksheetName = '')
FILE: src/Filters/LimitFilter.php
class LimitFilter (line 7) | class LimitFilter implements IReadFilter
method __construct (line 23) | public function __construct(int $startRow, int $limit)
method readCell (line 35) | public function readCell($column, $row, $worksheetName = '')
FILE: src/HasEventBus.php
type HasEventBus (line 5) | trait HasEventBus
method registerListeners (line 22) | public function registerListeners(array $listeners)
method clearListeners (line 29) | public function clearListeners()
method listen (line 40) | public static function listen(string $event, callable $listener)
method raise (line 48) | public function raise($event)
method listeners (line 59) | public function listeners($event): array
FILE: src/HeadingRowImport.php
class HeadingRowImport (line 11) | class HeadingRowImport implements WithStartRow, WithLimit, WithMapping
method __construct (line 23) | public function __construct(int $headingRow = 1)
method startRow (line 31) | public function startRow(): int
method limit (line 39) | public function limit(): int
method map (line 48) | public function map($row): array
FILE: src/Helpers/ArrayHelper.php
class ArrayHelper (line 5) | class ArrayHelper
method ensureMultipleRows (line 11) | public static function ensureMultipleRows(array $array): array
method hasMultipleRows (line 27) | public static function hasMultipleRows(array $array): bool
FILE: src/Helpers/CellHelper.php
class CellHelper (line 5) | class CellHelper
method getColumnFromCoordinate (line 11) | public static function getColumnFromCoordinate(string $coordinate): st...
FILE: src/Helpers/FileTypeDetector.php
class FileTypeDetector (line 8) | class FileTypeDetector
method detect (line 17) | public static function detect($filePath, ?string $type = null)
method detectStrict (line 44) | public static function detectStrict(string $filePath, ?string $type = ...
FILE: src/Importer.php
type Importer (line 8) | interface Importer
method import (line 17) | public function import($import, $filePath, ?string $disk = null, ?stri...
method toArray (line 26) | public function toArray($import, $filePath, ?string $disk = null, ?str...
method toCollection (line 35) | public function toCollection($import, $filePath, ?string $disk = null,...
method queueImport (line 44) | public function queueImport(ShouldQueue $import, $filePath, ?string $d...
FILE: src/Imports/EndRowFinder.php
class EndRowFinder (line 7) | class EndRowFinder
method find (line 15) | public static function find($import, ?int $startRow = null, ?int $high...
FILE: src/Imports/HeadingRowExtractor.php
class HeadingRowExtractor (line 12) | class HeadingRowExtractor
method headingRow (line 23) | public static function headingRow($importable): int
method determineStartRow (line 34) | public static function determineStartRow($importable): int
method extract (line 51) | public static function extract(Worksheet $worksheet, $importable): array
method extractGrouping (line 70) | public static function extractGrouping($headingRow, $importable)
FILE: src/Imports/HeadingRowFormatter.php
class HeadingRowFormatter (line 9) | class HeadingRowFormatter
method format (line 43) | public static function format(array $headings): array
method default (line 53) | public static function default(?string $name = null)
method extend (line 66) | public static function extend(string $name, callable $formatter)
method reset (line 74) | public static function reset()
method callFormatter (line 83) | protected static function callFormatter($value, $key=null)
FILE: src/Imports/ModelImporter.php
class ModelImporter (line 20) | class ModelImporter
method __construct (line 32) | public function __construct(ModelManager $manager)
method import (line 45) | public function import(Worksheet $worksheet, ToModel $import, int $sta...
method flush (line 112) | private function flush(ToModel $import, int $batchSize, int $startRow)
FILE: src/Imports/ModelManager.php
class ModelManager (line 20) | class ModelManager
method __construct (line 44) | public function __construct(RowValidator $validator, CascadePersistMan...
method add (line 54) | public function add(int $row, array $attributes)
method setRemembersRowNumber (line 62) | public function setRemembersRowNumber(bool $remembersRowNumber)
method flush (line 73) | public function flush(ToModel $import, bool $massInsert = false)
method toModels (line 94) | public function toModels(ToModel $import, array $attributes, $rowNumbe...
method massFlush (line 106) | private function massFlush(ToModel $import)
method singleFlush (line 143) | private function singleFlush(ToModel $import)
method prepare (line 180) | private function prepare(Model $model): Model
method validateRows (line 208) | private function validateRows(WithValidation $import)
method rows (line 222) | private function rows(): Collection
method handleException (line 227) | private function handleException(ToModel $import, Throwable $e): void
FILE: src/Imports/Persistence/CascadePersistManager.php
class CascadePersistManager (line 12) | class CascadePersistManager
method __construct (line 22) | public function __construct(TransactionHandler $transaction)
method persist (line 31) | public function persist(Model $model): bool
method save (line 42) | private function save(Model $model): bool
method persistBelongsTo (line 80) | private function persistBelongsTo(BelongsTo $relation, array $models):...
method persistBelongsToMany (line 101) | private function persistBelongsToMany(BelongsToMany $relation, array $...
FILE: src/Jobs/AfterImportJob.php
class AfterImportJob (line 15) | class AfterImportJob implements ShouldQueue
method __construct (line 40) | public function __construct($import, Reader $reader)
method setInterval (line 46) | public function setInterval(int $interval)
method setDependencies (line 51) | public function setDependencies(Collection $jobs)
method handle (line 58) | public function handle()
method failed (line 81) | public function failed(Throwable $e)
FILE: src/Jobs/AppendDataToSheet.php
class AppendDataToSheet (line 13) | class AppendDataToSheet implements ShouldQueue
method __construct (line 49) | public function __construct($sheetExport, TemporaryFile $temporaryFile...
method middleware (line 63) | public function middleware()
method handle (line 74) | public function handle(Writer $writer)
FILE: src/Jobs/AppendPaginatedToSheet.php
class AppendPaginatedToSheet (line 18) | class AppendPaginatedToSheet implements ShouldQueue
method __construct (line 60) | public function __construct(
method middleware (line 81) | public function middleware()
method handle (line 92) | public function handle(Writer $writer)
method chunk (line 108) | protected function chunk($query)
FILE: src/Jobs/AppendQueryToSheet.php
class AppendQueryToSheet (line 17) | class AppendQueryToSheet implements ShouldQueue
method __construct (line 59) | public function __construct(
method middleware (line 80) | public function middleware()
method handle (line 91) | public function handle(Writer $writer)
FILE: src/Jobs/AppendViewToSheet.php
class AppendViewToSheet (line 14) | class AppendViewToSheet implements ShouldQueue
method __construct (line 45) | public function __construct(FromView $sheetExport, TemporaryFile $temp...
method middleware (line 58) | public function middleware()
method handle (line 69) | public function handle(Writer $writer)
FILE: src/Jobs/CloseSheet.php
class CloseSheet (line 11) | class CloseSheet implements ShouldQueue
method __construct (line 41) | public function __construct($sheetExport, TemporaryFile $temporaryFile...
method handle (line 55) | public function handle(Writer $writer)
FILE: src/Jobs/ExtendedQueueable.php
type ExtendedQueueable (line 7) | trait ExtendedQueueable
method chain (line 17) | public function chain($chain)
FILE: src/Jobs/Middleware/LocalizeJob.php
class LocalizeJob (line 9) | class LocalizeJob
method __construct (line 23) | public function __construct($localizable)
method handle (line 35) | public function handle($job, Closure $next)
FILE: src/Jobs/ProxyFailures.php
type ProxyFailures (line 7) | trait ProxyFailures
method failed (line 12) | public function failed(Throwable $e)
FILE: src/Jobs/QueueExport.php
class QueueExport (line 15) | class QueueExport implements ShouldQueue
method __construct (line 39) | public function __construct($export, TemporaryFile $temporaryFile, str...
method middleware (line 51) | public function middleware()
method handle (line 61) | public function handle(Writer $writer)
method failed (line 89) | public function failed(Throwable $e)
FILE: src/Jobs/QueueImport.php
class QueueImport (line 8) | class QueueImport implements ShouldQueue
method __construct (line 25) | public function __construct(?ShouldQueue $import = null)
method handle (line 33) | public function handle()
FILE: src/Jobs/ReadChunk.php
class ReadChunk (line 25) | class ReadChunk implements ShouldQueue
method __construct (line 108) | public function __construct(WithChunkReading $import, IReader $reader,...
method getUniqueId (line 125) | public function getUniqueId(): string
method isComplete (line 135) | public static function isComplete(string $id): bool
method middleware (line 145) | public function middleware()
method retryUntil (line 155) | public function retryUntil()
method handle (line 166) | public function handle(TransactionHandler $transaction)
method failed (line 227) | public function failed(Throwable $e)
method cleanUpTempFile (line 241) | private function cleanUpTempFile(bool $force = false): bool
FILE: src/Jobs/StoreQueuedExport.php
class StoreQueuedExport (line 10) | class StoreQueuedExport implements ShouldQueue
method __construct (line 39) | public function __construct(TemporaryFile $temporaryFile, string $file...
method handle (line 50) | public function handle(Filesystem $filesystem)
FILE: src/MappedReader.php
class MappedReader (line 14) | class MappedReader
method map (line 22) | public function map(WithMappedCells $import, Worksheet $worksheet)
FILE: src/Middleware/CellMiddleware.php
class CellMiddleware (line 5) | abstract class CellMiddleware
method __invoke (line 11) | abstract public function __invoke($value, callable $next);
FILE: src/Middleware/ConvertEmptyCellValuesToNull.php
class ConvertEmptyCellValuesToNull (line 5) | class ConvertEmptyCellValuesToNull extends CellMiddleware
method __invoke (line 11) | public function __invoke($value, callable $next)
FILE: src/Middleware/TrimCellValue.php
class TrimCellValue (line 5) | class TrimCellValue extends CellMiddleware
method __invoke (line 11) | public function __invoke($value, callable $next)
FILE: src/Mixins/DownloadCollectionMixin.php
class DownloadCollectionMixin (line 12) | class DownloadCollectionMixin
method downloadExcel (line 17) | public function downloadExcel()
FILE: src/Mixins/DownloadQueryMacro.php
class DownloadQueryMacro (line 11) | class DownloadQueryMacro
method __invoke (line 13) | public function __invoke()
FILE: src/Mixins/ImportAsMacro.php
class ImportAsMacro (line 9) | class ImportAsMacro
method __invoke (line 11) | public function __invoke()
FILE: src/Mixins/ImportMacro.php
class ImportMacro (line 10) | class ImportMacro
method __invoke (line 12) | public function __invoke()
FILE: src/Mixins/StoreCollectionMixin.php
class StoreCollectionMixin (line 10) | class StoreCollectionMixin
method storeExcel (line 15) | public function storeExcel()
FILE: src/Mixins/StoreQueryMacro.php
class StoreQueryMacro (line 11) | class StoreQueryMacro
method __invoke (line 13) | public function __invoke()
FILE: src/QueuedWriter.php
class QueuedWriter (line 25) | class QueuedWriter
method __construct (line 46) | public function __construct(Writer $writer, TemporaryFileFactory $temp...
method store (line 61) | public function store($export, string $filePath, ?string $disk = null,...
method buildExportJobs (line 86) | private function buildExportJobs($export, TemporaryFile $temporaryFile...
method exportCollection (line 116) | private function exportCollection(
method exportQuery (line 147) | private function exportQuery(
method exportScout (line 185) | private function exportScout(
method exportView (line 225) | private function exportView(
method getChunkSize (line 246) | private function getChunkSize($export): int
FILE: src/Reader.php
class Reader (line 33) | class Reader
method __construct (line 71) | public function __construct(TemporaryFileFactory $temporaryFileFactory...
method __sleep (line 79) | public function __sleep()
method __wakeup (line 84) | public function __wakeup()
method read (line 100) | public function read($import, $filePath, ?string $readerType = null, ?...
method toArray (line 154) | public function toArray($import, $filePath, ?string $readerType = null...
method toCollection (line 198) | public function toCollection($import, $filePath, ?string $readerType =...
method getDelegate (line 232) | public function getDelegate()
method setDefaultValueBinder (line 240) | public function setDefaultValueBinder(): self
method loadSpreadsheet (line 252) | public function loadSpreadsheet($import)
method readSpreadsheet (line 267) | public function readSpreadsheet()
method beforeImport (line 277) | public function beforeImport($import)
method afterImport (line 285) | public function afterImport($import)
method getPhpSpreadsheetReader (line 295) | public function getPhpSpreadsheetReader(): IReader
method getWorksheets (line 304) | public function getWorksheets($import): array
method getTotalRows (line 345) | public function getTotalRows(): array
method getSheet (line 366) | protected function getSheet($import, $sheetImport, $index)
method buildSheetImports (line 391) | private function buildSheetImports($import): array
method getReader (line 422) | private function getReader($import, $filePath, ?string $readerType = n...
method garbageCollect (line 454) | private function garbageCollect()
FILE: src/RegistersCustomConcerns.php
type RegistersCustomConcerns (line 11) | trait RegistersCustomConcerns
method extend (line 28) | public static function extend(string $concern, callable $handler, stri...
FILE: src/Row.php
class Row (line 11) | class Row implements ArrayAccess
method __construct (line 55) | public function __construct(SpreadsheetRow $row, array $headingRow = [...
method getDelegate (line 65) | public function getDelegate(): SpreadsheetRow
method toCollection (line 77) | public function toCollection($nullValue = null, $calculateFormulas = f...
method toArray (line 89) | public function toArray($nullValue = null, $calculateFormulas = false,...
method isEmpty (line 130) | public function isEmpty($calculateFormulas = false, ?string $endColumn...
method getIndex (line 138) | public function getIndex(): int
method offsetExists (line 143) | #[\ReturnTypeWillChange]
method offsetGet (line 149) | #[\ReturnTypeWillChange]
method offsetSet (line 155) | #[\ReturnTypeWillChange]
method offsetUnset (line 161) | #[\ReturnTypeWillChange]
method setPreparationCallback (line 172) | public function setPreparationCallback(?Closure $preparationCallback =...
FILE: src/SettingsProvider.php
class SettingsProvider (line 8) | class SettingsProvider
method __construct (line 15) | public function __construct(CacheManager $cache)
method provide (line 23) | public function provide()
method configureCellCaching (line 28) | protected function configureCellCaching()
FILE: src/Sheet.php
class Sheet (line 65) | class Sheet
method __construct (line 92) | public function __construct(Worksheet $worksheet)
method make (line 107) | public static function make(Spreadsheet $spreadsheet, $index)
method byIndex (line 124) | public static function byIndex(Spreadsheet $spreadsheet, int $index): ...
method byName (line 140) | public static function byName(Spreadsheet $spreadsheet, string $name):...
method open (line 154) | public function open($sheetExport)
method export (line 202) | public function export($sheetExport)
method import (line 237) | public function import($import, int $startRow = 1)
method toArray (line 344) | public function toArray($import, ?int $startRow = null, $nullValue = n...
method toCollection (line 395) | public function toCollection($import, ?int $startRow = null, $nullValu...
method close (line 409) | public function close($sheetExport)
method fromView (line 461) | public function fromView(FromView $sheetExport, $sheetIndex = null)
method fromQuery (line 482) | public function fromQuery(FromQuery $sheetExport, Worksheet $worksheet)
method fromScout (line 504) | public function fromScout(FromQuery $sheetExport, Worksheet $worksheet)
method fromCollection (line 522) | public function fromCollection(FromCollection $sheetExport)
method fromArray (line 530) | public function fromArray(FromArray $sheetExport)
method fromIterator (line 538) | public function fromIterator(FromIterator $sheetExport)
method fromGenerator (line 552) | public function fromGenerator(FromGenerator $sheetExport)
method append (line 568) | public function append(array $rows, ?string $startCell = null, bool $s...
method autoSize (line 581) | public function autoSize()
method formatColumn (line 599) | public function formatColumn(string $column, string $format)
method chunkSize (line 619) | public function chunkSize(int $chunkSize)
method getDelegate (line 629) | public function getDelegate()
method addCharts (line 637) | public function addCharts($charts)
method addDrawings (line 649) | public function addDrawings($drawings)
method hasConcern (line 662) | public function hasConcern(string $concern): string
method appendRows (line 671) | public function appendRows($rows, $sheetExport)
method mapArraybleRow (line 704) | public static function mapArraybleRow($row): array
method getStartRow (line 728) | public function getStartRow($sheetImport): int
method disconnect (line 736) | public function disconnect()
method validated (line 745) | protected function validated(WithValidation $import, int $startRow, $r...
method buildColumnRange (line 767) | protected function buildColumnRange(string $lower, string $upper)
method hasRows (line 778) | private function hasRows(): bool
method hasStrictNullComparison (line 792) | private function hasStrictNullComparison($sheetExport): bool
method getChunkSize (line 805) | private function getChunkSize($export): int
method getPreparationCallback (line 818) | private function getPreparationCallback($import)
FILE: src/Transactions/DbTransactionHandler.php
class DbTransactionHandler (line 7) | class DbTransactionHandler implements TransactionHandler
method __construct (line 17) | public function __construct(ConnectionInterface $connection)
method __invoke (line 28) | public function __invoke(callable $callback)
FILE: src/Transactions/NullTransactionHandler.php
class NullTransactionHandler (line 5) | class NullTransactionHandler implements TransactionHandler
method __invoke (line 11) | public function __invoke(callable $callback)
FILE: src/Transactions/TransactionHandler.php
type TransactionHandler (line 5) | interface TransactionHandler
method __invoke (line 11) | public function __invoke(callable $callback);
FILE: src/Transactions/TransactionManager.php
class TransactionManager (line 8) | class TransactionManager extends Manager
method getDefaultDriver (line 13) | public function getDefaultDriver()
method createNullDriver (line 21) | public function createNullDriver()
method createDbDriver (line 29) | public function createDbDriver()
FILE: src/Validators/Failure.php
class Failure (line 8) | class Failure implements Arrayable, JsonSerializable
method __construct (line 36) | public function __construct(int $row, string $attribute, array $errors...
method row (line 47) | public function row(): int
method attribute (line 55) | public function attribute(): string
method errors (line 63) | public function errors(): array
method values (line 71) | public function values(): array
method toArray (line 79) | public function toArray()
method jsonSerialize (line 89) | #[\ReturnTypeWillChange]
FILE: src/Validators/RowValidator.php
class RowValidator (line 12) | class RowValidator
method __construct (line 22) | public function __construct(Factory $validator)
method validate (line 34) | public function validate(array $rows, WithValidation $import)
method messages (line 79) | private function messages(WithValidation $import): array
method attributes (line 90) | private function attributes(WithValidation $import): array
method rules (line 101) | private function rules(WithValidation $import): array
method formatKey (line 110) | private function formatKey(array $elements): array
method formatRule (line 123) | private function formatRule($rules)
FILE: src/Validators/ValidationException.php
class ValidationException (line 7) | class ValidationException extends IlluminateValidationException
method __construct (line 18) | public function __construct(IlluminateValidationException $previous, a...
method errors (line 27) | public function errors(): array
method failures (line 35) | public function failures(): array
FILE: src/Writer.php
class Writer (line 25) | class Writer
method __construct (line 47) | public function __construct(TemporaryFileFactory $temporaryFileFactory)
method export (line 61) | public function export($export, string $writerType): TemporaryFile
method open (line 81) | public function open($export)
method reopen (line 137) | public function reopen(TemporaryFile $tempFile, string $writerType)
method isRunningServerless (line 150) | public function isRunningServerless(): bool
method write (line 164) | public function write($export, TemporaryFile $temporaryFile, string $w...
method addNewSheet (line 207) | public function addNewSheet(?int $sheetIndex = null)
method getDelegate (line 215) | public function getDelegate()
method setDefaultValueBinder (line 223) | public function setDefaultValueBinder()
method getSheetByIndex (line 238) | public function getSheetByIndex(int $sheetIndex)
method hasConcern (line 247) | public function hasConcern($concern): bool
method handleDocumentProperties (line 255) | protected function handleDocumentProperties($export)
FILE: tests/Cache/BatchCacheTest.php
class BatchCacheTest (line 20) | class BatchCacheTest extends TestCase
method test_will_get_multiple_from_memory_if_cells_hold_in_memory (line 32) | public function test_will_get_multiple_from_memory_if_cells_hold_in_me...
method test_will_get_multiple_from_cache_if_cells_are_persisted (line 50) | public function test_will_get_multiple_from_cache_if_cells_are_persist...
method test_will_get_multiple_from_cache_and_persisted (line 69) | public function test_will_get_multiple_from_cache_and_persisted()
method test_it_persists_to_cache_when_memory_limit_reached_on_setting_a_value (line 93) | public function test_it_persists_to_cache_when_memory_limit_reached_on...
method test_it_persists_to_cache_when_memory_limit_reached_on_setting_multiple_values (line 128) | public function test_it_persists_to_cache_when_memory_limit_reached_on...
method test_it_writes_to_cache_with_default_ttl (line 171) | #[DataProvider('defaultTTLDataProvider')]
method test_it_writes_to_cache_with_a_dateinterval_ttl (line 191) | public function test_it_writes_to_cache_with_a_dateinterval_ttl()
method test_it_can_override_default_ttl (line 209) | public function test_it_can_override_default_ttl()
method defaultTTLDataProvider (line 226) | public static function defaultTTLDataProvider(): array
method givenCache (line 246) | private function givenCache(array $memory = [], array $persisted = [],...
FILE: tests/CellTest.php
class CellTest (line 9) | class CellTest extends TestCase
method test_can_get_cell_value (line 11) | public function test_can_get_cell_value()
method test_can_trim_empty_cells (line 23) | public function test_can_trim_empty_cells()
method test_convert_empty_cells_to_null (line 36) | public function test_convert_empty_cells_to_null()
FILE: tests/Concerns/ExportableTest.php
class ExportableTest (line 14) | class ExportableTest extends TestCase
method test_needs_to_have_a_file_name_when_downloading (line 16) | public function test_needs_to_have_a_file_name_when_downloading()
method test_needs_to_have_a_file_name_when_storing (line 29) | public function test_needs_to_have_a_file_name_when_storing()
method test_needs_to_have_a_file_name_when_queuing (line 42) | public function test_needs_to_have_a_file_name_when_queuing()
method test_responsable_needs_to_have_file_name_configured_inside_the_export (line 55) | public function test_responsable_needs_to_have_file_name_configured_in...
method test_is_responsable (line 68) | public function test_is_responsable()
method test_can_have_customized_header (line 84) | public function test_can_have_customized_header()
method test_can_set_custom_headers_in_export_class (line 100) | public function test_can_set_custom_headers_in_export_class()
method test_can_get_raw_export_contents (line 117) | public function test_can_get_raw_export_contents()
method test_can_have_customized_disk_options_when_storing (line 126) | public function test_can_have_customized_disk_options_when_storing()
method test_can_have_customized_disk_options_when_queueing (line 137) | public function test_can_have_customized_disk_options_when_queueing()
method test_can_set_disk_options_in_export_class_when_storing (line 148) | public function test_can_set_disk_options_in_export_class_when_storing()
method test_can_set_disk_options_in_export_class_when_queuing (line 166) | public function test_can_set_disk_options_in_export_class_when_queuing()
method test_can_override_export_class_disk_options_when_calling_store (line 184) | public function test_can_override_export_class_disk_options_when_calli...
method test_can_override_export_class_disk_options_when_calling_queue (line 200) | public function test_can_override_export_class_disk_options_when_calli...
method test_can_have_empty_disk_options_when_storing (line 216) | public function test_can_have_empty_disk_options_when_storing()
method test_can_have_empty_disk_options_when_queueing (line 227) | public function test_can_have_empty_disk_options_when_queueing()
FILE: tests/Concerns/FromArrayTest.php
class FromArrayTest (line 9) | class FromArrayTest extends TestCase
method test_can_export_from_array (line 11) | public function test_can_export_from_array()
FILE: tests/Concerns/FromCollectionTest.php
class FromCollectionTest (line 12) | class FromCollectionTest extends TestCase
method test_can_export_from_collection (line 14) | public function test_can_export_from_collection()
method test_can_export_with_multiple_sheets_from_collection (line 27) | public function test_can_export_with_multiple_sheets_from_collection()
method test_can_export_from_lazy_collection (line 48) | public function test_can_export_from_lazy_collection()
method test_can_export_from_lazy_collection_with_queue (line 72) | public function test_can_export_from_lazy_collection_with_queue()
FILE: tests/Concerns/FromGeneratorTest.php
class FromGeneratorTest (line 10) | class FromGeneratorTest extends TestCase
method test_can_export_from_generator (line 12) | public function test_can_export_from_generator()
FILE: tests/Concerns/FromIteratorTest.php
class FromIteratorTest (line 11) | class FromIteratorTest extends TestCase
method test_can_export_from_iterator (line 13) | public function test_can_export_from_iterator()
FILE: tests/Concerns/FromQueryTest.php
class FromQueryTest (line 18) | class FromQueryTest extends TestCase
method setUp (line 23) | protected function setUp(): void
method test_can_export_from_query (line 48) | public function test_can_export_from_query()
method test_can_export_from_query_with_join (line 65) | public function test_can_export_from_query_with_join()
method test_can_export_from_relation_query_queued (line 82) | public function test_can_export_from_relation_query_queued()
method test_can_export_from_query_with_eager_loads (line 97) | public function test_can_export_from_query_with_eager_loads()
method test_can_export_from_query_with_eager_loads_and_queued (line 121) | public function test_can_export_from_query_with_eager_loads_and_queued()
method test_can_export_from_query_builder_without_using_eloquent (line 144) | public function test_can_export_from_query_builder_without_using_eloqu...
method test_can_export_from_query_builder_without_using_eloquent_and_queued (line 161) | public function test_can_export_from_query_builder_without_using_eloqu...
method test_can_export_from_query_builder_with_nested_arrays (line 176) | public function test_can_export_from_query_builder_with_nested_arrays()
method test_can_export_from_query_builder_with_nested_arrays_queued (line 189) | public function test_can_export_from_query_builder_with_nested_arrays_...
method test_can_export_from_query_with_batch_caching (line 200) | public function test_can_export_from_query_with_batch_caching()
method test_can_export_from_query_with_prepare_rows (line 219) | public function test_can_export_from_query_with_prepare_rows()
method test_can_export_from_scout (line 240) | public function test_can_export_from_scout()
method format_nested_arrays_expected_data (line 263) | protected function format_nested_arrays_expected_data($groups)
FILE: tests/Concerns/FromViewTest.php
class FromViewTest (line 14) | class FromViewTest extends TestCase
method setUp (line 19) | protected function setUp(): void
method test_can_export_from_view (line 26) | public function test_can_export_from_view()
method test_can_export_multiple_sheets_from_view (line 75) | public function test_can_export_multiple_sheets_from_view()
FILE: tests/Concerns/ImportableTest.php
class ImportableTest (line 13) | class ImportableTest extends TestCase
method test_can_import_a_simple_xlsx_file (line 15) | public function test_can_import_a_simple_xlsx_file()
method test_can_import_a_simple_xlsx_file_from_uploaded_file (line 38) | public function test_can_import_a_simple_xlsx_file_from_uploaded_file()
method test_can_import_a_simple_csv_file_with_html_tags_inside (line 59) | public function test_can_import_a_simple_csv_file_with_html_tags_inside()
method test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_true (line 84) | public function test_can_import_a_simple_xlsx_file_with_ignore_empty_s...
method test_can_import_a_simple_xlsx_file_with_ignore_empty_set_to_false (line 109) | public function test_can_import_a_simple_xlsx_file_with_ignore_empty_s...
method test_cannot_import_a_non_existing_xlsx_file (line 136) | public function test_cannot_import_a_non_existing_xlsx_file()
FILE: tests/Concerns/OnEachRowTest.php
class OnEachRowTest (line 11) | class OnEachRowTest extends TestCase
method test_can_import_each_row_individually (line 13) | public function test_can_import_each_row_individually()
method test_it_respects_the_end_column (line 45) | public function test_it_respects_the_end_column()
FILE: tests/Concerns/RegistersEventListenersTest.php
class RegistersEventListenersTest (line 20) | class RegistersEventListenersTest extends TestCase
method test_events_get_called_when_exporting (line 22) | public function test_events_get_called_when_exporting()
method test_events_get_called_when_importing (line 56) | public function test_events_get_called_when_importing()
method test_can_have_invokable_class_as_listener (line 84) | public function test_can_have_invokable_class_as_listener()
FILE: tests/Concerns/RemembersChunkOffsetTest.php
class RemembersChunkOffsetTest (line 11) | class RemembersChunkOffsetTest extends TestCase
method test_can_set_and_get_chunk_offset (line 13) | public function test_can_set_and_get_chunk_offset()
method test_can_access_chunk_offset_on_import_to_array_in_chunks (line 26) | public function test_can_access_chunk_offset_on_import_to_array_in_chu...
FILE: tests/Concerns/RemembersRowNumberTest.php
class RemembersRowNumberTest (line 12) | class RemembersRowNumberTest extends TestCase
method test_can_set_and_get_row_number (line 14) | public function test_can_set_and_get_row_number()
method test_can_access_row_number_on_import_to_model (line 27) | public function test_can_access_row_number_on_import_to_model()
method test_can_access_row_number_on_import_to_array_in_chunks (line 47) | public function test_can_access_row_number_on_import_to_array_in_chunks()
method test_can_access_row_number_on_import_to_array_in_chunks_with_batch_inserts (line 72) | public function test_can_access_row_number_on_import_to_array_in_chunk...
FILE: tests/Concerns/ShouldQueueWithoutChainTest.php
class ShouldQueueWithoutChainTest (line 13) | class ShouldQueueWithoutChainTest extends TestCase
method setUp (line 18) | protected function setUp(): void
method test_can_import_to_model_in_chunks (line 26) | public function test_can_import_to_model_in_chunks()
method test_can_import_to_model_without_job_chaining (line 37) | public function test_can_import_to_model_without_job_chaining()
method test_a_queue_name_can_be_specified_when_importing (line 52) | public function test_a_queue_name_can_be_specified_when_importing()
method test_the_cleanup_only_runs_when_all_jobs_are_done (line 65) | public function test_the_cleanup_only_runs_when_all_jobs_are_done()
FILE: tests/Concerns/SkipsEmptyRowsTest.php
class SkipsEmptyRowsTest (line 16) | class SkipsEmptyRowsTest extends TestCase
method test_skips_empty_rows_when_importing_to_collection (line 18) | public function test_skips_empty_rows_when_importing_to_collection()
method test_skips_empty_rows_when_importing_on_each_row (line 46) | public function test_skips_empty_rows_when_importing_on_each_row()
method test_skips_empty_rows_when_importing_to_model (line 70) | public function test_skips_empty_rows_when_importing_to_model()
method test_custom_skips_rows_when_importing_to_collection (line 95) | public function test_custom_skips_rows_when_importing_to_collection()
method test_custom_skips_rows_when_importing_to_model (line 126) | public function test_custom_skips_rows_when_importing_to_model()
method test_custom_skips_rows_when_using_oneachrow (line 154) | public function test_custom_skips_rows_when_using_oneachrow()
FILE: tests/Concerns/SkipsOnErrorTest.php
class SkipsOnErrorTest (line 21) | class SkipsOnErrorTest extends TestCase
method setUp (line 26) | protected function setUp(): void
method test_can_skip_on_error (line 33) | public function test_can_skip_on_error()
method test_can_skip_errors_and_collect_all_errors_at_the_end (line 81) | public function test_can_skip_errors_and_collect_all_errors_at_the_end()
method test_can_skip_on_error_when_using_oneachrow_with_validation (line 122) | public function test_can_skip_on_error_when_using_oneachrow_with_valid...
method test_can_skip_errors_and_collect_all_errors_when_using_oneachrow_with_validation (line 186) | public function test_can_skip_errors_and_collect_all_errors_when_using...
method test_can_skip_on_error_when_exception_thrown_in_onrow (line 244) | public function test_can_skip_on_error_when_exception_thrown_in_onrow()
method test_can_skip_errors_and_collect_all_errors_when_exception_thrown_in_onrow (line 302) | public function test_can_skip_errors_and_collect_all_errors_when_excep...
FILE: tests/Concerns/SkipsOnFailureTest.php
class SkipsOnFailureTest (line 22) | class SkipsOnFailureTest extends TestCase
method setUp (line 27) | protected function setUp(): void
method test_can_skip_on_error (line 34) | public function test_can_skip_on_error()
method test_skips_only_failed_rows_in_batch (line 100) | public function test_skips_only_failed_rows_in_batch()
method test_can_skip_failures_and_collect_all_failures_at_the_end (line 169) | public function test_can_skip_failures_and_collect_all_failures_at_the...
method test_can_validate_using_oneachrow_and_skipsonfailure (line 221) | public function test_can_validate_using_oneachrow_and_skipsonfailure()
method test_can_validate_using_tocollection_and_skipsonfailure (line 269) | public function test_can_validate_using_tocollection_and_skipsonfailure()
FILE: tests/Concerns/ToArrayTest.php
class ToArrayTest (line 10) | class ToArrayTest extends TestCase
method test_can_import_to_array (line 12) | public function test_can_import_to_array()
method test_can_import_multiple_sheets_to_array (line 39) | public function test_can_import_multiple_sheets_to_array()
FILE: tests/Concerns/ToCollectionTest.php
class ToCollectionTest (line 11) | class ToCollectionTest extends TestCase
method test_can_import_to_collection (line 13) | public function test_can_import_to_collection()
method test_can_import_multiple_sheets_to_collection (line 40) | public function test_can_import_multiple_sheets_to_collection()
FILE: tests/Concerns/ToModelTest.php
class ToModelTest (line 16) | class ToModelTest extends TestCase
method setUp (line 21) | protected function setUp(): void
method test_can_import_each_row_to_model (line 29) | public function test_can_import_each_row_to_model()
method test_has_timestamps_when_imported_single_model (line 67) | public function test_has_timestamps_when_imported_single_model()
method test_can_import_multiple_models_in_single_to_model (line 95) | public function test_can_import_multiple_models_in_single_to_model()
method test_can_import_multiple_different_types_of_models_in_single_to_model (line 133) | public function test_can_import_multiple_different_types_of_models_in_...
method test_can_import_models_with_belongs_to_relations (line 169) | public function test_can_import_models_with_belongs_to_relations()
method test_can_import_models_with_belongs_to_many_relations (line 217) | public function test_can_import_models_with_belongs_to_many_relations()
FILE: tests/Concerns/WithBackgroundColorTest.php
class WithBackgroundColorTest (line 11) | class WithBackgroundColorTest extends TestCase
method test_can_configure_background_color_from_rgb_string (line 13) | public function test_can_configure_background_color_from_rgb_string()
method test_can_configure_background_color_as_array (line 34) | public function test_can_configure_background_color_as_array()
method test_can_configure_background_color_with_color_instance (line 58) | public function test_can_configure_background_color_with_color_instance()
FILE: tests/Concerns/WithBatchInsertsTest.php
class WithBatchInsertsTest (line 14) | class WithBatchInsertsTest extends TestCase
method setUp (line 19) | protected function setUp(): void
method test_can_import_to_model_in_batches (line 27) | public function test_can_import_to_model_in_batches()
method test_can_import_to_model_in_batches_bigger_file (line 73) | public function test_can_import_to_model_in_batches_bigger_file()
method test_can_import_multiple_different_types_of_models_in_single_to_model (line 107) | public function test_can_import_multiple_different_types_of_models_in_...
method test_has_timestamps_when_imported_in_batches (line 154) | public function test_has_timestamps_when_imported_in_batches()
FILE: tests/Concerns/WithCalculatedFormulasTest.php
class WithCalculatedFormulasTest (line 17) | class WithCalculatedFormulasTest extends TestCase
method test_by_default_does_not_calculate_formulas (line 19) | public function test_by_default_does_not_calculate_formulas()
method test_can_import_to_array_with_calculated_formulas (line 43) | public function test_can_import_to_array_with_calculated_formulas()
method test_can_import_to_model_with_calculated_formulas (line 67) | public function test_can_import_to_model_with_calculated_formulas()
method can_import_with_formulas_and_reference (line 94) | public function can_import_with_formulas_and_reference()
method test_can_import_to_array_with_calculated_formulas_and_multi_sheet_references (line 126) | public function test_can_import_to_array_with_calculated_formulas_and_...
method test_can_import_to_array_with_calculated_formulas_and_skips_empty (line 166) | public function test_can_import_to_array_with_calculated_formulas_and_...
method test_can_import_to_model_with_calculated_formulas_and_skips_empty (line 190) | public function test_can_import_to_model_with_calculated_formulas_and_...
FILE: tests/Concerns/WithChunkReadingTest.php
class WithChunkReadingTest (line 29) | class WithChunkReadingTest extends TestCase
method setUp (line 34) | protected function setUp(): void
method test_can_import_to_model_in_chunks_un (line 42) | public function test_can_import_to_model_in_chunks_un()
method test_can_import_to_model_in_chunks_and_insert_in_batches (line 101) | public function test_can_import_to_model_in_chunks_and_insert_in_batch...
method test_can_import_to_model_in_chunks_and_insert_in_batches_with_heading_row (line 143) | public function test_can_import_to_model_in_chunks_and_insert_in_batch...
method test_can_import_csv_in_chunks_and_insert_in_batches (line 185) | public function test_can_import_csv_in_chunks_and_insert_in_batches()
method test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets (line 227) | public function test_can_import_to_model_in_chunks_and_insert_in_batch...
method test_can_import_to_array_in_chunks (line 269) | public function test_can_import_to_array_in_chunks()
method test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_index (line 301) | public function test_can_import_to_model_in_chunks_and_insert_in_batch...
method test_can_import_to_model_in_chunks_and_insert_in_batches_with_multiple_sheets_objects_by_name (line 376) | public function test_can_import_to_model_in_chunks_and_insert_in_batch...
method test_can_catch_job_failed_in_chunks (line 451) | public function test_can_catch_job_failed_in_chunks()
method test_can_import_to_array_and_format_in_chunks (line 502) | public function test_can_import_to_array_and_format_in_chunks()
method test_can_import_to_array_in_chunks_without_formatting (line 536) | public function test_can_import_to_array_in_chunks_without_formatting()
FILE: tests/Concerns/WithColumnFormattingTest.php
class WithColumnFormattingTest (line 17) | class WithColumnFormattingTest extends TestCase
method test_can_export_with_column_formatting (line 19) | public function test_can_export_with_column_formatting()
FILE: tests/Concerns/WithColumnLimitTest.php
class WithColumnLimitTest (line 12) | class WithColumnLimitTest extends TestCase
method setUp (line 17) | protected function setUp(): void
method test_can_import_to_array_with_column_limit (line 24) | public function test_can_import_to_array_with_column_limit()
method test_can_import_to_array_with_column_limit_and_skips_empty_rows (line 54) | public function test_can_import_to_array_with_column_limit_and_skips_e...
FILE: tests/Concerns/WithColumnWidthsTest.php
class WithColumnWidthsTest (line 10) | class WithColumnWidthsTest extends TestCase
method test_can_set_column_width (line 12) | public function test_can_set_column_width()
FILE: tests/Concerns/WithConditionalSheetsTest.php
class WithConditionalSheetsTest (line 11) | class WithConditionalSheetsTest extends TestCase
method setUp (line 16) | protected function setUp(): void
method test_can_select_which_sheets_will_be_imported (line 23) | public function test_can_select_which_sheets_will_be_imported()
FILE: tests/Concerns/WithCustomCsvSettingsTest.php
class WithCustomCsvSettingsTest (line 14) | class WithCustomCsvSettingsTest extends TestCase
method setUp (line 21) | protected function setUp(): void
method test_can_store_csv_export_with_custom_settings (line 28) | public function test_can_store_csv_export_with_custom_settings()
method test_can_store_csv_export_with_custom_encoding (line 70) | public function test_can_store_csv_export_with_custom_encoding()
method test_can_read_csv_with_auto_detecting_delimiter_semicolon (line 116) | public function test_can_read_csv_with_auto_detecting_delimiter_semico...
method test_can_read_csv_with_auto_detecting_delimiter_comma (line 125) | public function test_can_read_csv_with_auto_detecting_delimiter_comma()
method test_can_read_csv_import_with_custom_settings (line 134) | public function test_can_read_csv_import_with_custom_settings()
method test_cannot_read_with_wrong_delimiter (line 167) | public function test_cannot_read_with_wrong_delimiter()
FILE: tests/Concerns/WithCustomQuerySizeTest.php
class WithCustomQuerySizeTest (line 11) | class WithCustomQuerySizeTest extends TestCase
method setUp (line 16) | protected function setUp(): void
method test_can_export_with_custom_count (line 31) | public function test_can_export_with_custom_count()
FILE: tests/Concerns/WithCustomStartCellTest.php
class WithCustomStartCellTest (line 11) | class WithCustomStartCellTest extends TestCase
method setUp (line 18) | protected function setUp(): void
method test_can_store_collection_with_custom_start_cell (line 25) | public function test_can_store_collection_with_custom_start_cell()
FILE: tests/Concerns/WithCustomValueBinderTest.php
class WithCustomValueBinderTest (line 20) | class WithCustomValueBinderTest extends TestCase
method test_can_set_a_value_binder_on_export (line 22) | public function test_can_set_a_value_binder_on_export()
method test_can_set_a_value_binder_on_import (line 98) | public function test_can_set_a_value_binder_on_import()
FILE: tests/Concerns/WithDefaultStylesTest.php
class WithDefaultStylesTest (line 12) | class WithDefaultStylesTest extends TestCase
method test_can_configure_default_styles (line 14) | public function test_can_configure_default_styles()
FILE: tests/Concerns/WithEventsTest.php
class WithEventsTest (line 31) | class WithEventsTest extends TestCase
method test_export_events_get_called (line 35) | public function test_export_events_get_called()
method test_import_events_get_called (line 69) | public function test_import_events_get_called()
method test_import_chunked_events_get_called (line 103) | public function test_import_chunked_events_get_called()
method test_can_have_invokable_class_as_listener (line 165) | public function test_can_have_invokable_class_as_listener()
method test_can_have_global_event_listeners (line 177) | public function test_can_have_global_event_listeners()
method test_can_have_custom_concern_handlers (line 212) | public function test_can_have_custom_concern_handlers()
method test_can_have_custom_sheet_concern_handlers (line 250) | public function test_can_have_custom_sheet_concern_handlers()
method test_export_chunked_events_get_called (line 288) | public function test_export_chunked_events_get_called()
FILE: tests/Concerns/WithFormatDataTest.php
class WithFormatDataTest (line 15) | class WithFormatDataTest extends TestCase
method test_by_default_import_to_array (line 17) | public function test_by_default_import_to_array()
method test_can_import_to_array_with_format_data (line 41) | public function test_can_import_to_array_with_format_data()
method test_can_import_to_array_with_format_data_and_skips_empty_rows (line 66) | public function test_can_import_to_array_with_format_data_and_skips_em...
method test_by_default_import_to_collection (line 91) | public function test_by_default_import_to_collection()
method test_can_import_to_collection_with_format_data (line 118) | public function test_can_import_to_collection_with_format_data()
method test_by_default_import_to_model (line 146) | public function test_by_default_import_to_model()
method test_can_import_to_model_with_format_data (line 173) | public function test_can_import_to_model_with_format_data()
FILE: tests/Concerns/WithGroupedHeadingRowTest.php
class WithGroupedHeadingRowTest (line 18) | class WithGroupedHeadingRowTest extends TestCase
method setUp (line 23) | protected function setUp(): void
method test_can_import_to_array_with_grouped_headers (line 31) | public function test_can_import_to_array_with_grouped_headers()
method test_can_import_oneachrow_with_grouped_headers (line 58) | public function test_can_import_oneachrow_with_grouped_headers()
method test_can_import_to_collection_with_grouped_headers (line 85) | public function test_can_import_to_collection_with_grouped_headers()
method test_can_import_each_row_to_model_with_grouped_headers (line 118) | public function test_can_import_each_row_to_model_with_grouped_headers()
FILE: tests/Concerns/WithHeadingRowTest.php
class WithHeadingRowTest (line 16) | class WithHeadingRowTest extends TestCase
method setUp (line 21) | protected function setUp(): void
method test_can_import_each_row_to_model_with_heading_row (line 28) | public function test_can_import_each_row_to_model_with_heading_row()
method test_can_import_each_row_to_model_with_different_heading_row (line 61) | public function test_can_import_each_row_to_model_with_different_headi...
method test_can_import_to_array_with_heading_row (line 102) | public function test_can_import_to_array_with_heading_row()
method test_can_import_empty_rows_with_header (line 129) | public function test_can_import_empty_rows_with_header()
method test_can_import_empty_models_with_header (line 147) | public function test_can_import_empty_models_with_header()
method test_can_cast_empty_headers_to_indexed_int (line 171) | public function test_can_cast_empty_headers_to_indexed_int()
FILE: tests/Concerns/WithHeadingsTest.php
class WithHeadingsTest (line 12) | class WithHeadingsTest extends TestCase
method test_can_export_from_collection_with_heading_row (line 14) | public function test_can_export_from_collection_with_heading_row()
method test_can_export_from_collection_with_multiple_heading_rows (line 55) | public function test_can_export_from_collection_with_multiple_heading_...
method test_can_export_from_collection_with_heading_row_with_custom_start_cell (line 100) | public function test_can_export_from_collection_with_heading_row_with_...
FILE: tests/Concerns/WithLimitTest.php
class WithLimitTest (line 16) | class WithLimitTest extends TestCase
method setUp (line 21) | protected function setUp(): void
method test_can_import_a_limited_section_of_rows_to_model_with_different_start_row (line 28) | public function test_can_import_a_limited_section_of_rows_to_model_wit...
method test_can_import_to_array_with_limit (line 77) | public function test_can_import_to_array_with_limit()
method test_can_import_single_with_heading_row (line 108) | public function test_can_import_single_with_heading_row()
method test_can_import_multiple_with_heading_row (line 139) | public function test_can_import_multiple_with_heading_row()
method test_can_set_limit_bigger_than_row_size (line 174) | public function test_can_set_limit_bigger_than_row_size()
FILE: tests/Concerns/WithMappedCellsTest.php
class WithMappedCellsTest (line 14) | class WithMappedCellsTest extends TestCase
method setUp (line 19) | protected function setUp(): void
method test_can_import_with_references_to_cells (line 26) | public function test_can_import_with_references_to_cells()
method test_can_import_with_nested_references_to_cells (line 58) | public function test_can_import_with_nested_references_to_cells()
method test_can_import_with_references_to_cells_to_model (line 102) | public function test_can_import_with_references_to_cells_to_model()
FILE: tests/Concerns/WithMappingTest.php
class WithMappingTest (line 11) | class WithMappingTest extends TestCase
method test_can_export_with_heading (line 13) | public function test_can_export_with_heading()
method test_can_return_multiple_rows_in_map (line 39) | public function test_can_return_multiple_rows_in_map()
method test_json_array_columns_shouldnt_be_detected_as_multiple_rows (line 79) | public function test_json_array_columns_shouldnt_be_detected_as_multip...
FILE: tests/Concerns/WithMultipleSheetsTest.php
class WithMultipleSheetsTest (line 17) | class WithMultipleSheetsTest extends TestCase
method setUp (line 22) | protected function setUp(): void
method test_can_export_with_multiple_sheets_using_collections (line 29) | public function test_can_export_with_multiple_sheets_using_collections()
method test_can_export_multiple_sheets_from_view (line 55) | public function test_can_export_multiple_sheets_from_view()
method test_unknown_sheet_index_will_throw_sheet_not_found_exception (line 97) | public function test_unknown_sheet_index_will_throw_sheet_not_found_ex...
method test_unknown_sheet_name_will_throw_sheet_not_found_exception (line 118) | public function test_unknown_sheet_name_will_throw_sheet_not_found_exc...
method test_unknown_sheet_name_can_be_ignored (line 139) | public function test_unknown_sheet_name_can_be_ignored()
method test_unknown_sheet_indices_can_be_ignored_per_name (line 169) | public function test_unknown_sheet_indices_can_be_ignored_per_name()
method test_unknown_sheet_indices_can_be_ignored (line 195) | public function test_unknown_sheet_indices_can_be_ignored()
method test_unknown_sheet_indices_can_be_ignored_per_sheet (line 225) | public function test_unknown_sheet_indices_can_be_ignored_per_sheet()
method test_can_import_multiple_sheets (line 251) | public function test_can_import_multiple_sheets()
method test_can_import_multiple_sheets_by_sheet_name (line 287) | public function test_can_import_multiple_sheets_by_sheet_name()
method test_can_import_multiple_sheets_by_sheet_index_and_name (line 323) | public function test_can_import_multiple_sheets_by_sheet_index_and_name()
method test_can_import_multiple_sheets_by_sheet_name_and_index (line 376) | public function test_can_import_multiple_sheets_by_sheet_name_and_index()
FILE: tests/Concerns/WithPropertiesTest.php
class WithPropertiesTest (line 9) | class WithPropertiesTest extends TestCase
method test_can_set_custom_document_properties (line 11) | public function test_can_set_custom_document_properties()
method test_it_merges_with_default_properties (line 49) | public function test_it_merges_with_default_properties()
method test_it_ignores_empty_properties (line 75) | public function test_it_ignores_empty_properties()
FILE: tests/Concerns/WithReadFilterTest.php
class WithReadFilterTest (line 11) | class WithReadFilterTest extends TestCase
method test_can_register_custom_read_filter (line 13) | public function test_can_register_custom_read_filter()
FILE: tests/Concerns/WithSkipDuplicatesTest.php
class WithSkipDuplicatesTest (line 14) | class WithSkipDuplicatesTest extends TestCase
method setUp (line 19) | protected function setUp(): void
method test_can_skip_duplicate_models_in_batches (line 26) | public function test_can_skip_duplicate_models_in_batches()
method test_can_skip_duplicate_models_in_rows (line 90) | public function test_can_skip_duplicate_models_in_rows()
FILE: tests/Concerns/WithStartRowTest.php
class WithStartRowTest (line 14) | class WithStartRowTest extends TestCase
method setUp (line 19) | protected function setUp(): void
method test_can_import_each_row_to_model_with_different_start_row (line 26) | public function test_can_import_each_row_to_model_with_different_start...
method test_can_import_to_array_with_start_row (line 67) | public function test_can_import_to_array_with_start_row()
FILE: tests/Concerns/WithStrictNullComparisonTest.php
class WithStrictNullComparisonTest (line 12) | class WithStrictNullComparisonTest extends TestCase
method test_exported_zero_values_are_not_null_when_exporting_with_strict_null_comparison (line 14) | public function test_exported_zero_values_are_not_null_when_exporting_...
method test_exported_zero_values_are_null_when_not_exporting_with_strict_null_comparison (line 53) | public function test_exported_zero_values_are_null_when_not_exporting_...
method test_exports_trailing_empty_cells (line 92) | public function test_exports_trailing_empty_cells()
method test_exports_trailing_empty_cells_by_setting_config_strict_null_comparison (line 129) | public function test_exports_trailing_empty_cells_by_setting_config_st...
FILE: tests/Concerns/WithStylesTest.php
class WithStylesTest (line 11) | class WithStylesTest extends TestCase
method test_can_configure_styles (line 13) | public function test_can_configure_styles()
FILE: tests/Concerns/WithTitleTest.php
class WithTitleTest (line 11) | class WithTitleTest extends TestCase
method test_can_export_with_title (line 13) | public function test_can_export_with_title()
method test_can_export_sheet_title_when_longer_than_max_length (line 27) | public function test_can_export_sheet_title_when_longer_than_max_length()
FILE: tests/Concerns/WithUpsertsTest.php
class WithUpsertsTest (line 16) | class WithUpsertsTest extends TestCase
method setUp (line 21) | protected function setUp(): void
method test_can_upsert_models_in_batches (line 32) | public function test_can_upsert_models_in_batches()
method test_can_upsert_models_in_rows (line 96) | public function test_can_upsert_models_in_rows()
method test_can_upsert_models_in_batches_with_defined_upsert_columns (line 152) | public function test_can_upsert_models_in_batches_with_defined_upsert_...
method test_can_upsert_models_in_rows_with_defined_upsert_columns (line 224) | public function test_can_upsert_models_in_rows_with_defined_upsert_col...
FILE: tests/Concerns/WithValidationTest.php
class WithValidationTest (line 24) | class WithValidationTest extends TestCase
method setUp (line 29) | protected function setUp(): void
method test_can_validate_rows (line 37) | public function test_can_validate_rows()
method test_can_validate_rows_with_closure_validation_rules (line 83) | public function test_can_validate_rows_with_closure_validation_rules()
method test_can_validate_rows_with_custom_validation_rule_objects (line 133) | public function test_can_validate_rows_with_custom_validation_rule_obj...
method test_can_validate_rows_with_conditionality (line 200) | public function test_can_validate_rows_with_conditionality()
method test_can_validate_rows_with_unless_conditionality (line 241) | public function test_can_validate_rows_with_unless_conditionality()
method test_can_validate_rows_with_combined_rules_with_colons (line 282) | public function test_can_validate_rows_with_combined_rules_with_colons()
method test_can_validate_with_custom_attributes (line 329) | public function test_can_validate_with_custom_attributes()
method test_can_validate_with_custom_attributes_pointing_to_another_attribute (line 378) | public function test_can_validate_with_custom_attributes_pointing_to_a...
method test_can_validate_with_custom_message (line 428) | public function test_can_validate_with_custom_message()
method test_can_validate_rows_with_headings (line 479) | public function test_can_validate_rows_with_headings()
method test_can_validate_rows_with_grouped_headings (line 520) | public function test_can_validate_rows_with_grouped_headings()
method test_can_validate_rows_in_batches (line 579) | public function test_can_validate_rows_in_batches()
method test_can_validate_using_oneachrow (line 628) | public function test_can_validate_using_oneachrow()
method test_can_validate_using_collection (line 671) | public function test_can_validate_using_collection()
method test_can_validate_using_array (line 704) | public function test_can_validate_using_array()
method test_can_configure_validator (line 737) | public function test_can_configure_validator()
method test_can_prepare_using_toarray (line 796) | public function test_can_prepare_using_toarray()
method test_can_prepare_using_tocollection (line 854) | public function test_can_prepare_using_tocollection()
method test_can_prepare_using_tomodel (line 912) | public function test_can_prepare_using_tomodel()
method test_can_prepare_using_oneachrow (line 974) | public function test_can_prepare_using_oneachrow()
method test_can_prepare_using_skipsemptyrows (line 1036) | public function test_can_prepare_using_skipsemptyrows()
method validateFailure (line 1104) | private function validateFailure(ValidationException $e, int $row, str...
FILE: tests/Data/Stubs/AfterQueueExportJob.php
class AfterQueueExportJob (line 9) | class AfterQueueExportJob implements ShouldQueue
method __construct (line 21) | public function __construct(string $filePath)
method handle (line 26) | public function handle()
FILE: tests/Data/Stubs/AfterQueueImportJob.php
class AfterQueueImportJob (line 10) | class AfterQueueImportJob implements ShouldQueue
method __construct (line 22) | public function __construct(int $totalRows)
method handle (line 27) | public function handle()
FILE: tests/Data/Stubs/BeforeExportListener.php
class BeforeExportListener (line 5) | class BeforeExportListener
method __construct (line 15) | public function __construct(callable $assertions)
method __invoke (line 20) | public function __invoke()
FILE: tests/Data/Stubs/ChainedJobStub.php
class ChainedJobStub (line 8) | class ChainedJobStub implements ShouldQueue
FILE: tests/Data/Stubs/CustomConcern.php
type CustomConcern (line 5) | interface CustomConcern
method custom (line 7) | public function custom();
FILE: tests/Data/Stubs/CustomSheetConcern.php
type CustomSheetConcern (line 5) | interface CustomSheetConcern
method custom (line 7) | public function custom();
FILE: tests/Data/Stubs/CustomTransactionHandler.php
class CustomTransactionHandler (line 7) | class CustomTransactionHandler implements TransactionHandler
method __invoke (line 9) | public function __invoke(callable $callback)
FILE: tests/Data/Stubs/Database/Group.php
class Group (line 8) | class Group extends Model
method users (line 17) | public function users(): BelongsToMany
FILE: tests/Data/Stubs/Database/Migrations/0000_00_00_000000_create_groups_table.php
class CreateGroupsTable (line 7) | class CreateGroupsTable extends Migration
method up (line 12) | public function up()
method down (line 24) | public function down()
FILE: tests/Data/Stubs/Database/Migrations/0000_00_00_000001_create_group_user_table.php
class CreateGroupUserTable (line 7) | class CreateGroupUserTable extends Migration
method up (line 12) | public function up()
method down (line 24) | public function down()
FILE: tests/Data/Stubs/Database/Migrations/0000_00_00_000002_add_group_id_to_users_table.php
class AddGroupIdToUsersTable (line 7) | class AddGroupIdToUsersTable extends Migration
method up (line 12) | public function up()
method down (line 22) | public function down()
FILE: tests/Data/Stubs/Database/Migrations/0000_00_00_000002_add_options_to_users.php
class AddOptionsToUsers (line 7) | class AddOptionsToUsers extends Migration
method up (line 12) | public function up()
method down (line 22) | public function down()
FILE: tests/Data/Stubs/Database/User.php
class User (line 15) | class User extends Model
method groups (line 36) | public function groups(): BelongsToMany
method group (line 41) | public function group(): BelongsTo
method searchableUsing (line 58) | public function searchableUsing(): Engine
FILE: tests/Data/Stubs/EloquentCollectionWithMappingExport.php
class EloquentCollectionWithMappingExport (line 11) | class EloquentCollectionWithMappingExport implements FromCollection, Wit...
method collection (line 18) | public function collection()
method map (line 32) | public function map($user): array
FILE: tests/Data/Stubs/EloquentLazyCollectionExport.php
class EloquentLazyCollectionExport (line 9) | class EloquentLazyCollectionExport implements FromCollection
method collection (line 13) | public function collection(): LazyCollection
FILE: tests/Data/Stubs/EloquentLazyCollectionQueuedExport.php
class EloquentLazyCollectionQueuedExport (line 10) | class EloquentLazyCollectionQueuedExport implements FromCollection, Shou...
method collection (line 14) | public function collection(): LazyCollection
FILE: tests/Data/Stubs/EmptyExport.php
class EmptyExport (line 7) | class EmptyExport
FILE: tests/Data/Stubs/ExportWithEvents.php
class ExportWithEvents (line 12) | class ExportWithEvents implements WithEvents
method registerEvents (line 39) | public function registerEvents(): array
FILE: tests/Data/Stubs/ExportWithEventsChunks.php
class ExportWithEventsChunks (line 15) | class ExportWithEventsChunks implements WithEvents, FromQuery, ShouldQue...
method registerEvents (line 21) | public function registerEvents(): array
method query (line 31) | public function query(): Builder
method chunkSize (line 36) | public function chunkSize(): int
FILE: tests/Data/Stubs/ExportWithRegistersEventListeners.php
class ExportWithRegistersEventListeners (line 9) | class ExportWithRegistersEventListeners implements WithEvents
method beforeExport (line 33) | public static function beforeExport()
method beforeWriting (line 38) | public static function beforeWriting()
method beforeSheet (line 43) | public static function beforeSheet()
method afterSheet (line 48) | public static function afterSheet()
FILE: tests/Data/Stubs/FromGroupUsersQueuedQueryExport.php
class FromGroupUsersQueuedQueryExport (line 15) | class FromGroupUsersQueuedQueryExport implements FromQuery, WithCustomCh...
method query (line 22) | public function query()
method map (line 31) | public function map($row): array
method chunkSize (line 42) | public function chunkSize(): int
FILE: tests/Data/Stubs/FromNestedArraysQueryExport.php
class FromNestedArraysQueryExport (line 13) | class FromNestedArraysQueryExport implements FromQuery, WithMapping
method query (line 20) | public function query()
method map (line 31) | public function map($row): array
FILE: tests/Data/Stubs/FromNonEloquentQueryExport.php
class FromNonEloquentQueryExport (line 13) | class FromNonEloquentQueryExport implements FromQuery, WithCustomChunkSize
method query (line 20) | public function query()
method chunkSize (line 28) | public function chunkSize(): int
FILE: tests/Data/Stubs/FromQueryWithCustomQuerySize.php
class FromQueryWithCustomQuerySize (line 16) | class FromQueryWithCustomQuerySize implements FromQuery, WithCustomQuery...
method query (line 23) | public function query()
method querySize (line 37) | public function querySize(): int
method map (line 46) | public function map($row): array
FILE: tests/Data/Stubs/FromUsersQueryExport.php
class FromUsersQueryExport (line 13) | class FromUsersQueryExport implements FromQuery, WithCustomChunkSize
method query (line 20) | public function query()
method chunkSize (line 28) | public function chunkSize(): int
FILE: tests/Data/Stubs/FromUsersQueryExportWithEagerLoad.php
class FromUsersQueryExportWithEagerLoad (line 13) | class FromUsersQueryExportWithEagerLoad implements FromQuery, WithMapping
method query (line 20) | public function query()
method map (line 33) | public function map($row): array
FILE: tests/Data/Stubs/FromUsersQueryExportWithMapping.php
class FromUsersQueryExportWithMapping (line 15) | class FromUsersQueryExportWithMapping implements FromQuery, WithMapping,...
method query (line 22) | public function query()
method registerEvents (line 30) | public function registerEvents(): array
method map (line 43) | public function map($row): array
FILE: tests/Data/Stubs/FromUsersQueryExportWithPrepareRows.php
class FromUsersQueryExportWithPrepareRows (line 14) | class FromUsersQueryExportWithPrepareRows implements FromQuery, WithCust...
method query (line 21) | public function query()
method chunkSize (line 29) | public function chunkSize(): int
method prepareRows (line 38) | public function prepareRows($rows)
FILE: tests/Data/Stubs/FromUsersQueryWithJoinExport.php
class FromUsersQueryWithJoinExport (line 13) | class FromUsersQueryWithJoinExport implements FromQuery, WithCustomChunk...
method __construct (line 19) | public function __construct()
method query (line 27) | public function query()
method chunkSize (line 42) | public function chunkSize(): int
FILE: tests/Data/Stubs/FromUsersScoutExport.php
class FromUsersScoutExport (line 14) | class FromUsersScoutExport implements FromQuery, WithCustomChunkSize
method query (line 21) | public function query()
method chunkSize (line 29) | public function chunkSize(): int
FILE: tests/Data/Stubs/FromViewExportWithMultipleSheets.php
class FromViewExportWithMultipleSheets (line 9) | class FromViewExportWithMultipleSheets implements WithMultipleSheets
method __construct (line 21) | public function __construct(Collection $users)
method sheets (line 29) | public function sheets(): array
FILE: tests/Data/Stubs/ImportWithEvents.php
class ImportWithEvents (line 12) | class ImportWithEvents implements WithEvents
method registerEvents (line 39) | public function registerEvents(): array
FILE: tests/Data/Stubs/ImportWithEventsChunksAndBatches.php
class ImportWithEventsChunksAndBatches (line 11) | class ImportWithEventsChunksAndBatches extends ImportWithEvents implemen...
method registerEvents (line 26) | public function registerEvents(): array
method model (line 36) | public function model(array $row)
method batchSize (line 40) | public function batchSize(): int
method chunkSize (line 45) | public function chunkSize(): int
FILE: tests/Data/Stubs/ImportWithRegistersEventListeners.php
class ImportWithRegistersEventListeners (line 9) | class ImportWithRegistersEventListeners implements WithEvents
method beforeImport (line 28) | public static function beforeImport()
method beforeSheet (line 33) | public static function beforeSheet()
method afterSheet (line 38) | public static function afterSheet()
FILE: tests/Data/Stubs/QueueImportWithoutJobChaining.php
class QueueImportWithoutJobChaining (line 16) | class QueueImportWithoutJobChaining implements ToModel, WithChunkReading...
method model (line 28) | public function model(array $row)
method chunkSize (line 40) | public function chunkSize(): int
method registerEvents (line 48) | public function registerEvents(): array
FILE: tests/Data/Stubs/QueuedExport.php
class QueuedExport (line 8) | class QueuedExport implements WithMultipleSheets
method sheets (line 15) | public function sheets(): array
FILE: tests/Data/Stubs/QueuedExportWithFailedEvents.php
class QueuedExportWithFailedEvents (line 13) | class QueuedExportWithFailedEvents implements WithMultipleSheets, WithEv...
method sheets (line 20) | public function sheets(): array
method failed (line 32) | public function failed(Throwable $exception)
method registerEvents (line 44) | public function registerEvents(): array
FILE: tests/Data/Stubs/QueuedExportWithFailedHook.php
class QueuedExportWithFailedHook (line 13) | class QueuedExportWithFailedHook implements FromCollection, WithMapping
method collection (line 25) | public function collection()
method map (line 39) | public function map($user): array
method failed (line 47) | public function failed(Exception $exception)
FILE: tests/Data/Stubs/QueuedExportWithLocalePreferences.php
class QueuedExportWithLocalePreferences (line 12) | class QueuedExportWithLocalePreferences implements FromCollection, HasLo...
method __construct (line 26) | public function __construct(string $locale)
method collection (line 34) | public function collection()
method preferredLocale (line 47) | public function preferredLocale()
method prepareRows (line 56) | public function prepareRows($rows)
FILE: tests/Data/Stubs/QueuedImport.php
class QueuedImport (line 13) | class QueuedImport implements ShouldQueue, ToModel, WithChunkReading, Wi...
method model (line 21) | public function model(array $row)
method batchSize (line 31) | public function batchSize(): int
method chunkSize (line 39) | public function chunkSize(): int
FILE: tests/Data/Stubs/QueuedImportWithFailure.php
class QueuedImportWithFailure (line 12) | class QueuedImportWithFailure implements ShouldQueue, ToModel, WithChunk...
method model (line 20) | public function model(array $row)
method chunkSize (line 32) | public function chunkSize(): int
FILE: tests/Data/Stubs/QueuedImportWithMiddleware.php
class QueuedImportWithMiddleware (line 12) | class QueuedImportWithMiddleware implements ShouldQueue, ToModel, WithCh...
method model (line 20) | public function model(array $row)
method middleware (line 27) | public function middleware()
method chunkSize (line 37) | public function chunkSize(): int
FILE: tests/Data/Stubs/QueuedImportWithRetryUntil.php
class QueuedImportWithRetryUntil (line 12) | class QueuedImportWithRetryUntil implements ShouldQueue, ToModel, WithCh...
method model (line 20) | public function model(array $row)
method chunkSize (line 30) | public function chunkSize(): int
method retryUntil (line 40) | public function retryUntil()
FILE: tests/Data/Stubs/SheetForUsersFromView.php
class SheetForUsersFromView (line 10) | class SheetForUsersFromView implements FromView
method __construct (line 22) | public function __construct(Collection $users)
method view (line 30) | public function view(): View
FILE: tests/Data/Stubs/SheetWith100Rows.php
class SheetWith100Rows (line 16) | class SheetWith100Rows implements FromCollection, WithTitle, ShouldAutoS...
method __construct (line 28) | public function __construct(string $title)
method collection (line 36) | public function collection()
method title (line 54) | public function title(): string
method beforeWriting (line 62) | public static function beforeWriting(BeforeWriting $event)
FILE: tests/Data/Stubs/ShouldQueueExport.php
class ShouldQueueExport (line 9) | class ShouldQueueExport implements WithMultipleSheets, ShouldQueue
method sheets (line 16) | public function sheets(): array
FILE: tests/Data/Stubs/WithMappingExport.php
class WithMappingExport (line 10) | class WithMappingExport implements FromCollection, WithMapping
method collection (line 17) | public function collection()
method map (line 29) | public function map($row): array
FILE: tests/Data/Stubs/WithTitleExport.php
class WithTitleExport (line 8) | class WithTitleExport implements WithTitle
method title (line 15) | public function title(): string
FILE: tests/DelegatedMacroableTest.php
class DelegatedMacroableTest (line 14) | class DelegatedMacroableTest extends TestCase
method test_can_call_methods_from_delegate (line 16) | public function test_can_call_methods_from_delegate()
method test_can_use_writer_macros (line 32) | public function test_can_use_writer_macros()
method test_can_use_sheet_macros (line 55) | public function test_can_use_sheet_macros()
FILE: tests/ExcelFakeTest.php
class ExcelFakeTest (line 17) | class ExcelFakeTest extends TestCase
method test_can_fake_an_export (line 19) | public function test_can_fake_an_export()
method test_can_assert_against_a_fake_downloaded_export (line 27) | public function test_can_assert_against_a_fake_downloaded_export()
method test_can_assert_against_a_fake_stored_export (line 43) | public function test_can_assert_against_a_fake_stored_export()
method test_can_assert_regex_against_a_fake_stored_export_with_multiple_files (line 59) | public function test_can_assert_regex_against_a_fake_stored_export_wit...
method test_a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_stored_export (line 76) | public function test_a_callback_can_be_passed_as_the_second_argument_w...
method test_can_assert_against_a_fake_queued_export (line 92) | public function test_can_assert_against_a_fake_queued_export()
method test_can_assert_against_a_fake_implicitly_queued_export (line 108) | public function test_can_assert_against_a_fake_implicitly_queued_export()
method test_can_assert_against_a_fake_queued_export_with_chain (line 125) | public function test_can_assert_against_a_fake_queued_export_with_chain()
method test_can_assert_against_a_fake_raw_export (line 140) | public function test_can_assert_against_a_fake_raw_export()
method test_can_assert_against_a_fake_import (line 154) | public function test_can_assert_against_a_fake_import()
method test_can_assert_against_a_fake_import_with_uploaded_file (line 168) | public function test_can_assert_against_a_fake_import_with_uploaded_fi...
method test_can_assert_against_a_fake_queued_import (line 182) | public function test_can_assert_against_a_fake_queued_import()
method test_can_assert_against_a_fake_implicitly_queued_import (line 199) | public function test_can_assert_against_a_fake_implicitly_queued_import()
method test_can_assert_against_a_fake_queued_import_with_chain (line 216) | public function test_can_assert_against_a_fake_queued_import_with_chain()
method test_a_callback_can_be_passed_as_the_second_argument_when_asserting_against_a_faked_queued_export (line 231) | public function test_a_callback_can_be_passed_as_the_second_argument_w...
method givenExport (line 250) | private function givenExport()
method givenQueuedExport (line 267) | private function givenQueuedExport()
method givenImport (line 284) | private function givenImport()
method givenQueuedImport (line 302) | private function givenQueuedImport()
FILE: tests/ExcelServiceProviderTest.php
class ExcelServiceProviderTest (line 15) | class ExcelServiceProviderTest extends TestCase
method test_custom_transaction_handler_is_bound (line 17) | public function test_custom_transaction_handler_is_bound()
method test_is_bound (line 26) | public function test_is_bound()
method test_has_aliased (line 31) | public function test_has_aliased()
method test_registers_console_commands (line 37) | public function test_registers_console_commands()
method test_sets_php_spreadsheet_settings (line 47) | public function test_sets_php_spreadsheet_settings()
FILE: tests/ExcelTest.php
class ExcelTest (line 24) | class ExcelTest extends TestCase
method setUp (line 31) | protected function setUp(): void
method test_can_download_an_export_object_with_facade (line 38) | public function test_can_download_an_export_object_with_facade()
method test_can_download_an_export_object (line 48) | public function test_can_download_an_export_object()
method test_can_store_an_export_object_on_default_disk (line 58) | public function test_can_store_an_export_object_on_default_disk()
method test_can_store_an_export_object_on_another_disk (line 74) | public function test_can_store_an_export_object_on_another_disk()
method test_can_store_csv_export_with_default_settings (line 90) | public function test_can_store_csv_export_with_default_settings()
method test_can_get_raw_export_contents (line 106) | public function test_can_get_raw_export_contents()
method test_can_store_tsv_export_with_default_settings (line 115) | public function test_can_store_tsv_export_with_default_settings()
method test_can_store_csv_export_with_custom_settings (line 131) | public function test_can_store_csv_export_with_custom_settings()
method test_cannot_use_from_collection_and_from_view_on_same_export (line 172) | public function test_cannot_use_from_collection_and_from_view_on_same_...
method test_can_import_a_simple_xlsx_file_to_array (line 201) | public function test_can_import_a_simple_xlsx_file_to_array()
method test_can_import_a_simple_xlsx_file_to_collection (line 216) | public function test_can_import_a_simple_xlsx_file_to_collection()
method test_can_import_a_simple_xlsx_file_to_collection_without_import_object (line 231) | public function test_can_import_a_simple_xlsx_file_to_collection_witho...
method test_can_import_a_simple_xlsx_file (line 241) | public function test_can_import_a_simple_xlsx_file()
method test_can_import_a_tsv_file (line 262) | public function test_can_import_a_tsv_file()
method test_can_chain_imports (line 300) | public function test_can_chain_imports()
method test_can_import_a_simple_xlsx_file_from_uploaded_file (line 337) | public function test_can_import_a_simple_xlsx_file_from_uploaded_file()
method test_can_import_a_simple_xlsx_file_from_real_path (line 356) | public function test_can_import_a_simple_xlsx_file_from_real_path()
method test_import_will_throw_error_when_no_reader_type_could_be_detected_when_no_extension (line 375) | public function test_import_will_throw_error_when_no_reader_type_could...
method test_import_will_throw_error_when_no_reader_type_could_be_detected_with_unknown_extension (line 396) | public function test_import_will_throw_error_when_no_reader_type_could...
method test_can_import_without_extension_with_explicit_reader_type (line 414) | public function test_can_import_without_extension_with_explicit_reader...
FILE: tests/HeadingRowImportTest.php
class HeadingRowImportTest (line 8) | class HeadingRowImportTest extends TestCase
method tearDown (line 10) | protected function tearDown(): void
method test_can_import_only_heading_row (line 16) | public function test_can_import_only_heading_row()
method test_can_import_only_heading_row_with_custom_heading_row_formatter (line 29) | public function test_can_import_only_heading_row_with_custom_heading_r...
method test_can_import_only_heading_row_with_custom_heading_row_formatter_with_key (line 48) | public function test_can_import_only_heading_row_with_custom_heading_r...
method test_can_import_only_heading_row_with_custom_row_number (line 67) | public function test_can_import_only_heading_row_with_custom_row_number()
method test_can_import_only_heading_row_for_multiple_sheets (line 80) | public function test_can_import_only_heading_row_for_multiple_sheets()
method test_can_import_only_heading_row_for_multiple_sheets_with_key (line 96) | public function test_can_import_only_heading_row_for_multiple_sheets_w...
method test_can_import_only_heading_row_for_multiple_sheets_with_custom_row_number (line 117) | public function test_can_import_only_heading_row_for_multiple_sheets_w...
method test_can_import_heading_row_with_custom_formatter_defined_in_config (line 133) | public function test_can_import_heading_row_with_custom_formatter_defi...
FILE: tests/Helpers/FileHelper.php
class FileHelper (line 5) | class FileHelper
method absolutePath (line 7) | public static function absolutePath($fileName, $diskName)
method recursiveDelete (line 12) | public static function recursiveDelete($fileName)
FILE: tests/InteractsWithQueueTest.php
class InteractsWithQueueTest (line 12) | class InteractsWithQueueTest extends TestCase
method setUp (line 17) | protected function setUp(): void
method test_read_chunk_job_can_interact_with_queue (line 22) | public function test_read_chunk_job_can_interact_with_queue()
method test_append_data_to_sheet_job_can_interact_with_queue (line 27) | public function test_append_data_to_sheet_job_can_interact_with_queue()
method test_append_query_to_sheet_job_can_interact_with_queue (line 32) | public function test_append_query_to_sheet_job_can_interact_with_queue()
method test_append_view_to_sheet_job_can_interact_with_queue (line 37) | public function test_append_view_to_sheet_job_can_interact_with_queue()
method test_queue_export_job_can_interact_with_queue (line 42) | public function test_queue_export_job_can_interact_with_queue()
FILE: tests/Mixins/DownloadCollectionTest.php
class DownloadCollectionTest (line 11) | class DownloadCollectionTest extends TestCase
method test_can_download_a_collection_as_excel (line 13) | public function test_can_download_a_collection_as_excel()
method test_can_download_a_collection_with_headers_as_excel (line 35) | public function test_can_download_a_collection_with_headers_as_excel()
method test_can_download_collection_with_headers_with_hidden_eloquent_attributes (line 49) | public function test_can_download_collection_with_headers_with_hidden_...
method test_can_download_collection_with_headers_when_making_attributes_visible (line 62) | public function test_can_download_collection_with_headers_when_making_...
method test_can_set_custom_response_headers (line 78) | public function test_can_set_custom_response_headers()
FILE: tests/Mixins/DownloadQueryMacroTest.php
class DownloadQueryMacroTest (line 10) | class DownloadQueryMacroTest extends TestCase
method setUp (line 15) | protected function setUp(): void
method test_can_download_a_query_as_excel (line 25) | public function test_can_download_a_query_as_excel()
method test_can_download_a_collection_with_headers_as_excel (line 39) | public function test_can_download_a_collection_with_headers_as_excel()
FILE: tests/Mixins/ImportAsMacroTest.php
class ImportAsMacroTest (line 8) | class ImportAsMacroTest extends TestCase
method setUp (line 13) | protected function setUp(): void
method test_can_import_directly_into_a_model_with_mapping (line 20) | public function test_can_import_directly_into_a_model_with_mapping()
FILE: tests/Mixins/ImportMacroTest.php
class ImportMacroTest (line 8) | class ImportMacroTest extends TestCase
method setUp (line 13) | protected function setUp(): void
method test_can_import_directly_into_a_model (line 20) | public function test_can_import_directly_into_a_model()
FILE: tests/Mixins/StoreCollectionTest.php
class StoreCollectionTest (line 10) | class StoreCollectionTest extends TestCase
method test_can_store_a_collection_as_excel (line 12) | public function test_can_store_a_collection_as_excel()
method test_can_store_a_collection_as_excel_on_non_default_disk (line 25) | public function test_can_store_a_collection_as_excel_on_non_default_di...
method test_can_store_a_collection_with_headings_as_excel (line 51) | public function test_can_store_a_collection_with_headings_as_excel()
method test_can_store_a_model_collection_with_headings_as_excel (line 74) | public function test_can_store_a_model_collection_with_headings_as_exc...
FILE: tests/Mixins/StoreQueryMacroTest.php
class StoreQueryMacroTest (line 9) | class StoreQueryMacroTest extends TestCase
method setUp (line 14) | protected function setUp(): void
method test_can_download_a_query_as_excel (line 24) | public function test_can_download_a_query_as_excel()
method test_can_download_a_query_as_excel_on_different_disk (line 35) | public function test_can_download_a_query_as_excel_on_different_disk()
method test_can_store_a_query_with_headers_as_excel (line 46) | public function test_can_store_a_query_with_headers_as_excel()
FILE: tests/QueuedExportTest.php
class QueuedExportTest (line 21) | class QueuedExportTest extends TestCase
method test_can_queue_an_export (line 23) | public function test_can_queue_an_export()
method test_can_queue_an_export_and_store_on_different_disk (line 32) | public function test_can_queue_an_export_and_store_on_different_disk()
method test_can_queue_export_with_remote_temp_disk (line 41) | public function test_can_queue_export_with_remote_temp_disk()
method test_can_queue_export_with_remote_temp_disk_and_prefix (line 82) | public function test_can_queue_export_with_remote_temp_disk_and_prefix()
method test_can_implicitly_queue_an_export (line 94) | public function test_can_implicitly_queue_an_export()
method test_can_queue_export_with_mapping_on_eloquent_models (line 103) | public function test_can_queue_export_with_mapping_on_eloquent_models()
method test_can_catch_failures (line 118) | public function test_can_catch_failures()
method test_can_catch_failures_on_queue_export_job (line 129) | public function test_can_catch_failures_on_queue_export_job()
method test_can_set_locale_on_queue_export_job (line 141) | public function test_can_set_locale_on_queue_export_job()
method test_can_queue_export_not_flushing_the_cache (line 154) | public function test_can_queue_export_not_flushing_the_cache()
FILE: tests/QueuedImportTest.php
class QueuedImportTest (line 24) | class QueuedImportTest extends TestCase
method setUp (line 29) | protected function setUp(): void
method test_cannot_queue_import_that_does_not_implement_should_queue (line 37) | public function test_cannot_queue_import_that_does_not_implement_shoul...
method test_can_queue_an_import (line 50) | public function test_can_queue_an_import()
method test_can_queue_an_import_with_batch_cache_and_file_store (line 61) | public function test_can_queue_an_import_with_batch_cache_and_file_sto...
method test_can_queue_import_with_remote_temp_disk (line 78) | public function test_can_queue_import_with_remote_temp_disk()
method test_can_keep_extension_for_temp_file_on_remote_disk (line 112) | public function test_can_keep_extension_for_temp_file_on_remote_disk()
method test_can_queue_import_with_remote_temp_disk_and_prefix (line 127) | public function test_can_queue_import_with_remote_temp_disk_and_prefix()
method test_can_automatically_delete_temp_file_on_failure_when_using_remote_disk (line 141) | public function test_can_automatically_delete_temp_file_on_failure_whe...
method test_cannot_automatically_delete_temp_file_on_failure_when_using_local_disk (line 162) | public function test_cannot_automatically_delete_temp_file_on_failure_...
method test_can_force_remote_download_and_deletion_for_each_chunk_on_queue (line 181) | public function test_can_force_remote_download_and_deletion_for_each_c...
method test_can_define_middleware_method_on_queued_import (line 201) | public function test_can_define_middleware_method_on_queued_import()
method test_can_define_retry_until_method_on_queued_import (line 210) | public function test_can_define_retry_until_method_on_queued_import()
method test_can_define_max_exceptions_property_on_queued_import (line 219) | public function test_can_define_max_exceptions_property_on_queued_impo...
FILE: tests/QueuedQueryExportTest.php
class QueuedQueryExportTest (line 12) | class QueuedQueryExportTest extends TestCase
method setUp (line 17) | protected function setUp(): void
method test_can_queue_an_export (line 27) | public function test_can_queue_an_export()
method test_can_queue_an_export_with_batch_cache_and_file_store (line 43) | public function test_can_queue_an_export_with_batch_cache_and_file_sto...
method test_can_queue_an_export_with_mapping (line 64) | public function test_can_queue_an_export_with_mapping()
method test_can_queue_scout_export (line 81) | public function test_can_queue_scout_export()
FILE: tests/QueuedViewExportTest.php
class QueuedViewExportTest (line 11) | class QueuedViewExportTest extends TestCase
method setUp (line 16) | protected function setUp(): void
method test_can_queue_an_export (line 24) | public function test_can_queue_an_export()
method test_can_export_multiple_sheets_from_view (line 38) | public function test_can_export_multiple_sheets_from_view()
FILE: tests/TemporaryFileTest.php
class TemporaryFileTest (line 8) | class TemporaryFileTest extends TestCase
method setUp (line 16) | protected function setUp(): void
method test_can_use_default_rights (line 32) | public function test_can_use_default_rights()
method test_can_use_dir_rights (line 49) | public function test_can_use_dir_rights()
method test_can_use_file_rights (line 67) | public function test_can_use_file_rights()
FILE: tests/TestCase.php
class TestCase (line 12) | class TestCase extends OrchestraTestCase
method read (line 21) | public function read(string $filePath, string $writerType)
method givenUploadedFile (line 33) | public function givenUploadedFile(string $filePath, ?string $filename ...
method readAsArray (line 54) | protected function readAsArray(string $filePath, string $writerType, ?...
method getPackageProviders (line 71) | protected function getPackageProviders($app)
method getEnvironmentSetUp (line 81) | protected function getEnvironmentSetUp($app)
method inspectJobProperty (line 109) | protected function inspectJobProperty(Job $job, string $property)
method assertStringContains (line 122) | protected function assertStringContains(string $needle, string $haysta...
method assertFileMissing (line 134) | protected function assertFileMissing(string $path)
method assertRegex (line 143) | protected function assertRegex(string $pattern, string $string)
FILE: tests/Validators/RowValidatorTest.php
class RowValidatorTest (line 9) | class RowValidatorTest extends TestCase
method setUp (line 19) | public function setUp(): void
method test_format_rule_with_array_input (line 26) | public function test_format_rule_with_array_input()
method test_format_rule_with_object_input (line 35) | public function test_format_rule_with_object_input()
method test_format_rule_with_callable_input (line 44) | public function test_format_rule_with_callable_input()
method test_format_rule_with_required_without_all (line 55) | public function test_format_rule_with_required_without_all()
method test_format_rule_with_required_without (line 64) | public function test_format_rule_with_required_without()
method test_format_rule_with_string_input_not_matching_pattern (line 73) | public function test_format_rule_with_string_input_not_matching_pattern()
method callPrivateMethod (line 89) | public function callPrivateMethod(string $name, array $args)
Condensed preview — 311 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (833K chars).
[
{
"path": ".gitattributes",
"chars": 170,
"preview": "* text eol=lf\n\n/.github export-ignore\n/tests export-ignore\n.gitattributes export-ignore\n.gitignore export-ignore\n.travis"
},
{
"path": ".github/FUNDING.yml",
"chars": 124,
"preview": "# These are supported funding model platforms\n\ngithub: patrickbrouwers\ncustom: https://laravel-excel.com/commercial-supp"
},
{
"path": ".github/ISSUE_TEMPLATE/1_Bug_report.yml",
"chars": 1770,
"preview": "name: Bug Report\ndescription: Report a general package issue. Filling in the issue template is mandatory, issues without"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 852,
"preview": "blank_issues_enabled: false\ncontact_links:\n - name: 🧐 Questions\n url: https://github.com/SpartnerSoftware/Laravel-Ex"
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 1207,
"preview": "<!--\nPLEASE READ: FILLING IN THE TEMPLATE IS REQUIRED!\nPLEASE ONLY USE THE ISSUE TRACKER FOR REPORTING BUGS. FOR QUESTIO"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 874,
"preview": "Please take note of our contributing guidelines: https://docs.laravel-excel.com/3.1/getting-started/contributing.html\nFi"
},
{
"path": ".github/SUPPORT.md",
"chars": 1095,
"preview": "# Support\n\nThis repository is focused on bugs and issues. We unfortunately can't answer all support questions in a timel"
},
{
"path": ".github/issuecomplete.yml",
"chars": 1062,
"preview": "# The name of the label to apply when an issue does not have all tasks checked\nlabelName: more information needed\n\n# The"
},
{
"path": ".github/stale.yml",
"chars": 689,
"preview": "# Number of days of inactivity before an issue becomes stale\ndaysUntilStale: 60\n# Number of days of inactivity before a "
},
{
"path": ".github/workflows/run-tests.yml",
"chars": 4387,
"preview": "name: Run tests\n\non:\n push:\n pull_request:\n schedule:\n - cron: '0 0 * * *'\n\njobs:\n tests:\n if: \"!contains(gith"
},
{
"path": ".gitignore",
"chars": 85,
"preview": "/vendor\ncomposer.phar\ncomposer.lock\n.DS_Store\n.idea\nphpunit.xml\n.phpunit.result.cache"
},
{
"path": ".phpunit.cache/test-results",
"chars": 110810,
"preview": "{\"version\":1,\"defects\":{\"Maatwebsite\\\\Excel\\\\Tests\\\\QueuedImportTest::can_queue_an_import_with_batch_cache\":5,\"Maatwebsi"
},
{
"path": ".styleci.yml",
"chars": 285,
"preview": "preset: laravel\n\nrisky: false\n\nenabled:\n - align_double_arrow\n - align_equals\n - concat_with_spaces\n - ordered_class"
},
{
"path": "CHANGELOG.md",
"chars": 9379,
"preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nPlease view https://github.com/Spartn"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3216,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "CONTRIBUTING.md",
"chars": 117,
"preview": "# Contributing\n\nFind the contributing guide at: https://docs.laravel-excel.com/3.1/getting-started/contributing.html\n"
},
{
"path": "LICENSE",
"chars": 1060,
"preview": "MIT License\n\nCopyright (c) Spartner\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof thi"
},
{
"path": "README.md",
"chars": 4893,
"preview": "<br />\n<br />\n<p align=\"center\">\n <!-- XMAS: https://user-images.githubusercontent.com/7728097/146406114-a5f5e13a-e2ee-"
},
{
"path": "SECURITY.md",
"chars": 442,
"preview": "# Security Policy\n\n**PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, [SEE BELOW](#reporting-a-vulnerability).**\n"
},
{
"path": "composer.json",
"chars": 1249,
"preview": "{\n \"name\": \"maatwebsite/excel\",\n \"description\": \"Supercharged Excel exports and imports in Laravel\",\n \"license\": \"MIT"
},
{
"path": "config/excel.php",
"chars": 14274,
"preview": "<?php\n\nuse Maatwebsite\\Excel\\Excel;\nuse PhpOffice\\PhpSpreadsheet\\Reader\\Csv;\n\nreturn [\n 'exports' => [\n\n /*\n "
},
{
"path": "phpunit.xml.dist",
"chars": 948,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" backupGlobals=\"fal"
},
{
"path": "src/Cache/BatchCache.php",
"chars": 3899,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Cache;\n\nuse Illuminate\\Support\\Facades\\Cache;\nuse Psr\\SimpleCache\\CacheInterface;\n\ncl"
},
{
"path": "src/Cache/BatchCacheDeprecated.php",
"chars": 3745,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Cache;\n\nuse Illuminate\\Support\\Facades\\Cache;\nuse Psr\\SimpleCache\\CacheInterface;\n\ncl"
},
{
"path": "src/Cache/CacheManager.php",
"chars": 2141,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Cache;\n\nuse Composer\\InstalledVersions;\nuse Composer\\Semver\\VersionParser;\nuse Illumi"
},
{
"path": "src/Cache/MemoryCache.php",
"chars": 2608,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Cache;\n\nuse PhpOffice\\PhpSpreadsheet\\Cell\\Cell;\nuse Psr\\SimpleCache\\CacheInterface;\n\n"
},
{
"path": "src/Cache/MemoryCacheDeprecated.php",
"chars": 2494,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Cache;\n\nuse PhpOffice\\PhpSpreadsheet\\Cell\\Cell;\nuse Psr\\SimpleCache\\CacheInterface;\n\n"
},
{
"path": "src/Cell.php",
"chars": 2397,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Pipeline\\Pipeline;\nuse PhpOffice\\PhpSpreadsheet\\Calculation\\Exceptio"
},
{
"path": "src/ChunkReader.php",
"chars": 4623,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Container\\Container;\nuse Illuminate\\Co"
},
{
"path": "src/Concerns/Exportable.php",
"chars": 3272,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Foundation\\Bus\\PendingDispatch;\nuse Maatwebsite\\Excel\\Excep"
},
{
"path": "src/Concerns/FromArray.php",
"chars": 143,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface FromArray\n{\n /**\n * @return array\n */\n public func"
},
{
"path": "src/Concerns/FromCollection.php",
"chars": 187,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Support\\Collection;\n\ninterface FromCollection\n{\n /**\n "
},
{
"path": "src/Concerns/FromGenerator.php",
"chars": 175,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Generator;\n\ninterface FromGenerator\n{\n /**\n * @return Generator"
},
{
"path": "src/Concerns/FromIterator.php",
"chars": 170,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Iterator;\n\ninterface FromIterator\n{\n /**\n * @return Iterator\n "
},
{
"path": "src/Concerns/FromQuery.php",
"chars": 373,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Database\\Eloquent\\Builder as EloquentBuilder;\nuse Illuminat"
},
{
"path": "src/Concerns/FromView.php",
"chars": 176,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Contracts\\View\\View;\n\ninterface FromView\n{\n /**\n * @"
},
{
"path": "src/Concerns/HasReferencesToOtherSheets.php",
"chars": 87,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface HasReferencesToOtherSheets\n{\n}\n"
},
{
"path": "src/Concerns/Importable.php",
"chars": 3916,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Console\\OutputStyle;\nuse Illuminate\\Contracts\\Queue\\ShouldQ"
},
{
"path": "src/Concerns/MapsCsvSettings.php",
"chars": 2189,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Support\\Arr;\n\ntrait MapsCsvSettings\n{\n /**\n * @var s"
},
{
"path": "src/Concerns/OnEachRow.php",
"chars": 176,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Maatwebsite\\Excel\\Row;\n\ninterface OnEachRow\n{\n /**\n * @param R"
},
{
"path": "src/Concerns/PersistRelations.php",
"chars": 77,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface PersistRelations\n{\n}\n"
},
{
"path": "src/Concerns/RegistersEventListeners.php",
"chars": 1397,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Maatwebsite\\Excel\\Events\\AfterBatch;\nuse Maatwebsite\\Excel\\Events\\Afte"
},
{
"path": "src/Concerns/RemembersChunkOffset.php",
"chars": 425,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ntrait RemembersChunkOffset\n{\n /**\n * @var int|null\n */\n prot"
},
{
"path": "src/Concerns/RemembersRowNumber.php",
"chars": 407,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ntrait RemembersRowNumber\n{\n /**\n * @var int\n */\n protected $"
},
{
"path": "src/Concerns/ShouldAutoSize.php",
"chars": 75,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface ShouldAutoSize\n{\n}\n"
},
{
"path": "src/Concerns/ShouldQueueWithoutChain.php",
"chars": 149,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\n\ninterface ShouldQueueWithoutC"
},
{
"path": "src/Concerns/SkipsEmptyRows.php",
"chars": 75,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface SkipsEmptyRows\n{\n}\n"
},
{
"path": "src/Concerns/SkipsErrors.php",
"chars": 471,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Support\\Collection;\nuse Throwable;\n\ntrait SkipsErrors\n{\n "
},
{
"path": "src/Concerns/SkipsFailures.php",
"chars": 557,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Support\\Collection;\nuse Maatwebsite\\Excel\\Validators\\Failur"
},
{
"path": "src/Concerns/SkipsOnError.php",
"chars": 177,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Throwable;\n\ninterface SkipsOnError\n{\n /**\n * @param Throwable "
},
{
"path": "src/Concerns/SkipsOnFailure.php",
"chars": 223,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Maatwebsite\\Excel\\Validators\\Failure;\n\ninterface SkipsOnFailure\n{\n "
},
{
"path": "src/Concerns/SkipsUnknownSheets.php",
"chars": 181,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface SkipsUnknownSheets\n{\n /**\n * @param string|int $sheetNa"
},
{
"path": "src/Concerns/ToArray.php",
"chars": 154,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface ToArray\n{\n /**\n * @param array $array\n */\n publi"
},
{
"path": "src/Concerns/ToCollection.php",
"chars": 220,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Support\\Collection;\n\ninterface ToCollection\n{\n /**\n "
},
{
"path": "src/Concerns/ToModel.php",
"chars": 225,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\ninterface ToModel\n{\n /**\n "
},
{
"path": "src/Concerns/WithBackgroundColor.php",
"chars": 212,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Style\\Color;\n\ninterface WithBackgroundColor\n{"
},
{
"path": "src/Concerns/WithBatchInserts.php",
"chars": 150,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithBatchInserts\n{\n /**\n * @return int\n */\n public"
},
{
"path": "src/Concerns/WithCalculatedFormulas.php",
"chars": 83,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithCalculatedFormulas\n{\n}\n"
},
{
"path": "src/Concerns/WithCharts.php",
"chars": 189,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Chart\\Chart;\n\ninterface WithCharts\n{\n /**\n"
},
{
"path": "src/Concerns/WithChunkReading.php",
"chars": 150,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithChunkReading\n{\n /**\n * @return int\n */\n public"
},
{
"path": "src/Concerns/WithColumnFormatting.php",
"chars": 162,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithColumnFormatting\n{\n /**\n * @return array\n */\n "
},
{
"path": "src/Concerns/WithColumnLimit.php",
"chars": 117,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithColumnLimit\n{\n public function endColumn(): string;\n}\n"
},
{
"path": "src/Concerns/WithColumnWidths.php",
"chars": 120,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithColumnWidths\n{\n public function columnWidths(): array;\n}\n"
},
{
"path": "src/Concerns/WithConditionalSheets.php",
"chars": 774,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ntrait WithConditionalSheets\n{\n /**\n * @var array\n */\n protec"
},
{
"path": "src/Concerns/WithCustomChunkSize.php",
"chars": 153,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithCustomChunkSize\n{\n /**\n * @return int\n */\n pub"
},
{
"path": "src/Concerns/WithCustomCsvSettings.php",
"chars": 164,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithCustomCsvSettings\n{\n /**\n * @return array\n */\n "
},
{
"path": "src/Concerns/WithCustomQuerySize.php",
"chars": 677,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithCustomQuerySize\n{\n /**\n * Queued exportables are proc"
},
{
"path": "src/Concerns/WithCustomStartCell.php",
"chars": 159,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithCustomStartCell\n{\n /**\n * @return string\n */\n "
},
{
"path": "src/Concerns/WithCustomValueBinder.php",
"chars": 152,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder;\n\ninterface WithCustomValue"
},
{
"path": "src/Concerns/WithDefaultStyles.php",
"chars": 219,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Style\\Style;\n\ninterface WithDefaultStyles\n{\n "
},
{
"path": "src/Concerns/WithDrawings.php",
"chars": 215,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing;\n\ninterface WithDrawing"
},
{
"path": "src/Concerns/WithEvents.php",
"chars": 153,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithEvents\n{\n /**\n * @return array\n */\n public fun"
},
{
"path": "src/Concerns/WithFormatData.php",
"chars": 75,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithFormatData\n{\n}\n"
},
{
"path": "src/Concerns/WithGroupedHeadingRow.php",
"chars": 105,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithGroupedHeadingRow extends WithHeadingRow\n{\n}\n"
},
{
"path": "src/Concerns/WithHeadingRow.php",
"chars": 75,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithHeadingRow\n{\n}\n"
},
{
"path": "src/Concerns/WithHeadings.php",
"chars": 149,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithHeadings\n{\n /**\n * @return array\n */\n public f"
},
{
"path": "src/Concerns/WithLimit.php",
"chars": 139,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithLimit\n{\n /**\n * @return int\n */\n public functi"
},
{
"path": "src/Concerns/WithMappedCells.php",
"chars": 151,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithMappedCells\n{\n /**\n * @return array\n */\n publi"
},
{
"path": "src/Concerns/WithMapping.php",
"chars": 214,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\n/**\n * @template RowType of mixed\n */\ninterface WithMapping\n{\n /**\n "
},
{
"path": "src/Concerns/WithMultipleSheets.php",
"chars": 153,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithMultipleSheets\n{\n /**\n * @return array\n */\n pu"
},
{
"path": "src/Concerns/WithPreCalculateFormulas.php",
"chars": 85,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithPreCalculateFormulas\n{\n}\n"
},
{
"path": "src/Concerns/WithProgressBar.php",
"chars": 209,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse Illuminate\\Console\\OutputStyle;\n\ninterface WithProgressBar\n{\n /**\n "
},
{
"path": "src/Concerns/WithProperties.php",
"chars": 116,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithProperties\n{\n public function properties(): array;\n}\n"
},
{
"path": "src/Concerns/WithReadFilter.php",
"chars": 215,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter;\n\ninterface WithReadFilter"
},
{
"path": "src/Concerns/WithSkipDuplicates.php",
"chars": 79,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithSkipDuplicates\n{\n}\n"
},
{
"path": "src/Concerns/WithStartRow.php",
"chars": 145,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithStartRow\n{\n /**\n * @return int\n */\n public fun"
},
{
"path": "src/Concerns/WithStrictNullComparison.php",
"chars": 85,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithStrictNullComparison\n{\n}\n"
},
{
"path": "src/Concerns/WithStyles.php",
"chars": 168,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\nuse PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet;\n\ninterface WithStyles\n{\n"
},
{
"path": "src/Concerns/WithTitle.php",
"chars": 145,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithTitle\n{\n /**\n * @return string\n */\n public fun"
},
{
"path": "src/Concerns/WithUpsertColumns.php",
"chars": 152,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithUpsertColumns\n{\n /**\n * @return array\n */\n pub"
},
{
"path": "src/Concerns/WithUpserts.php",
"chars": 148,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithUpserts\n{\n /**\n * @return string|array\n */\n pu"
},
{
"path": "src/Concerns/WithValidation.php",
"chars": 148,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Concerns;\n\ninterface WithValidation\n{\n /**\n * @return array\n */\n public"
},
{
"path": "src/Console/ExportMakeCommand.php",
"chars": 2271,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Console;\n\nuse Illuminate\\Console\\GeneratorCommand;\nuse Symfony\\Component\\Console\\Inpu"
},
{
"path": "src/Console/ImportMakeCommand.php",
"chars": 1909,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Console;\n\nuse Illuminate\\Console\\GeneratorCommand;\nuse Symfony\\Component\\Console\\Inpu"
},
{
"path": "src/Console/WithModelStub.php",
"chars": 1626,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Console;\n\nuse Illuminate\\Support\\Str;\nuse InvalidArgumentException;\n\ntrait WithModelS"
},
{
"path": "src/Console/stubs/export.model.stub",
"chars": 298,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse DummyFullModelClass;\nuse Maatwebsite\\Excel\\Concerns\\FromCollection;\n\nclass DummyCl"
},
{
"path": "src/Console/stubs/export.plain.stub",
"chars": 245,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse Maatwebsite\\Excel\\Concerns\\FromCollection;\n\nclass DummyClass implements FromCollec"
},
{
"path": "src/Console/stubs/export.query-model.stub",
"chars": 289,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse DummyFullModelClass;\nuse Maatwebsite\\Excel\\Concerns\\FromQuery;\n\nclass DummyClass i"
},
{
"path": "src/Console/stubs/export.query.stub",
"chars": 234,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse Maatwebsite\\Excel\\Concerns\\FromQuery;\n\nclass DummyClass implements FromQuery\n{\n "
},
{
"path": "src/Console/stubs/import.collection.stub",
"chars": 289,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse Illuminate\\Support\\Collection;\nuse Maatwebsite\\Excel\\Concerns\\ToCollection;\n\nclass"
},
{
"path": "src/Console/stubs/import.model.stub",
"chars": 354,
"preview": "<?php\n\nnamespace DummyNamespace;\n\nuse DummyFullModelClass;\nuse Maatwebsite\\Excel\\Concerns\\ToModel;\n\nclass DummyClass imp"
},
{
"path": "src/DefaultValueBinder.php",
"chars": 573,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse PhpOffice\\PhpSpreadsheet\\Cell\\Cell;\nuse PhpOffice\\PhpSpreadsheet\\Cell\\DefaultVa"
},
{
"path": "src/DelegatedMacroable.php",
"chars": 724,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Support\\Traits\\Macroable;\n\ntrait DelegatedMacroable\n{\n use Macroa"
},
{
"path": "src/Events/AfterBatch.php",
"chars": 1093,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Imports\\ModelManager;\n\nclass AfterBatch extends Event\n"
},
{
"path": "src/Events/AfterChunk.php",
"chars": 661,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Sheet;\n\nclass AfterChunk extends Event\n{\n /**\n "
},
{
"path": "src/Events/AfterImport.php",
"chars": 636,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Reader;\n\nclass AfterImport extends Event\n{\n /**\n "
},
{
"path": "src/Events/AfterSheet.php",
"chars": 622,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Sheet;\n\nclass AfterSheet extends Event\n{\n /**\n "
},
{
"path": "src/Events/BeforeExport.php",
"chars": 637,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Writer;\n\nclass BeforeExport extends Event\n{\n /**\n "
},
{
"path": "src/Events/BeforeImport.php",
"chars": 637,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Reader;\n\nclass BeforeImport extends Event\n{\n /**\n "
},
{
"path": "src/Events/BeforeSheet.php",
"chars": 624,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Sheet;\n\nclass BeforeSheet extends Event\n{\n /**\n "
},
{
"path": "src/Events/BeforeWriting.php",
"chars": 699,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Maatwebsite\\Excel\\Writer;\n\nclass BeforeWriting extends Event\n{\n /**\n "
},
{
"path": "src/Events/Event.php",
"chars": 713,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\n/**\n * @internal\n */\nabstract class Event\n{\n /**\n * @var object\n "
},
{
"path": "src/Events/ImportFailed.php",
"chars": 388,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Events;\n\nuse Throwable;\n\nclass ImportFailed\n{\n /**\n * @var Throwable\n */\n "
},
{
"path": "src/Excel.php",
"chars": 5224,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\PendingDi"
},
{
"path": "src/ExcelServiceProvider.php",
"chars": 4558,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Illuminate\\Support\\Collection;\nuse Il"
},
{
"path": "src/Exceptions/ConcernConflictException.php",
"chars": 394,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse LogicException;\n\nclass ConcernConflictException extends LogicExcepti"
},
{
"path": "src/Exceptions/LaravelExcelException.php",
"chars": 118,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse Throwable;\n\ninterface LaravelExcelException extends Throwable\n{\n}\n"
},
{
"path": "src/Exceptions/NoFilePathGivenException.php",
"chars": 919,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse InvalidArgumentException;\nuse Throwable;\n\nclass NoFilePathGivenExcep"
},
{
"path": "src/Exceptions/NoFilenameGivenException.php",
"chars": 553,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse InvalidArgumentException;\nuse Throwable;\n\nclass NoFilenameGivenExcep"
},
{
"path": "src/Exceptions/NoSheetsFoundException.php",
"chars": 158,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse LogicException;\n\nclass NoSheetsFoundException extends LogicException"
},
{
"path": "src/Exceptions/NoTypeDetectedException.php",
"chars": 593,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse Exception;\nuse Throwable;\n\nclass NoTypeDetectedException extends Exc"
},
{
"path": "src/Exceptions/RowSkippedException.php",
"chars": 739,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse Exception;\nuse Illuminate\\Support\\Collection;\nuse Maatwebsite\\Excel\\"
},
{
"path": "src/Exceptions/SheetNotFoundException.php",
"chars": 729,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nclass SheetNotFoundException extends \\Exception implements LaravelExcelE"
},
{
"path": "src/Exceptions/UnreadableFileException.php",
"chars": 483,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Exceptions;\n\nuse Exception;\nuse Throwable;\n\nclass UnreadableFileException extends Exc"
},
{
"path": "src/Exporter.php",
"chars": 1478,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\ninterface Exporter\n{\n /**\n * @param object $export\n * @param string|n"
},
{
"path": "src/Facades/Excel.php",
"chars": 2382,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Facades;\n\nuse Illuminate\\Foundation\\Bus\\PendingDispatch;\nuse Illuminate\\Http\\Uploaded"
},
{
"path": "src/Factories/ReaderFactory.php",
"chars": 2825,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Factories;\n\nuse Maatwebsite\\Excel\\Concerns\\MapsCsvSettings;\nuse Maatwebsite\\Excel\\Con"
},
{
"path": "src/Factories/WriterFactory.php",
"chars": 3469,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Factories;\n\nuse Maatwebsite\\Excel\\Cache\\CacheManager;\nuse Maatwebsite\\Excel\\Concerns\\"
},
{
"path": "src/Fakes/ExcelFake.php",
"chars": 10399,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Fakes;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse"
},
{
"path": "src/Fakes/fake_file",
"chars": 0,
"preview": ""
},
{
"path": "src/Files/Disk.php",
"chars": 2304,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nuse Illuminate\\Contracts\\Filesystem\\Filesystem as IlluminateFilesystem;\n\n/**\n"
},
{
"path": "src/Files/Filesystem.php",
"chars": 650,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nuse Illuminate\\Contracts\\Filesystem\\Factory;\n\nclass Filesystem\n{\n /**\n "
},
{
"path": "src/Files/LocalTemporaryFile.php",
"chars": 1404,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nclass LocalTemporaryFile extends TemporaryFile\n{\n /**\n * @var string\n "
},
{
"path": "src/Files/RemoteTemporaryFile.php",
"chars": 3150,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nuse Illuminate\\Support\\Arr;\n\nclass RemoteTemporaryFile extends TemporaryFile\n"
},
{
"path": "src/Files/TemporaryFile.php",
"chars": 1942,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nuse Illuminate\\Contracts\\Filesystem\\FileNotFoundException;\nuse Symfony\\Compon"
},
{
"path": "src/Files/TemporaryFileFactory.php",
"chars": 2333,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Files;\n\nuse Illuminate\\Support\\Str;\n\nclass TemporaryFileFactory\n{\n /**\n * @var"
},
{
"path": "src/Filters/ChunkReadFilter.php",
"chars": 1325,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Filters;\n\nuse PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter;\n\nclass ChunkReadFilter imp"
},
{
"path": "src/Filters/LimitFilter.php",
"chars": 750,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Filters;\n\nuse PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter;\n\nclass LimitFilter impleme"
},
{
"path": "src/HasEventBus.php",
"chars": 1357,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\ntrait HasEventBus\n{\n /**\n * @var array\n */\n protected static $globalE"
},
{
"path": "src/HeadingRowImport.php",
"chars": 952,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Maatwebsite\\Excel\\Concerns\\Importable;\nuse Maatwebsite\\Excel\\Concerns\\WithLimit"
},
{
"path": "src/Helpers/ArrayHelper.php",
"chars": 632,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Helpers;\n\nclass ArrayHelper\n{\n /**\n * @param array $array\n * @return arr"
},
{
"path": "src/Helpers/CellHelper.php",
"chars": 287,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Helpers;\n\nclass CellHelper\n{\n /**\n * @param string $coordinate\n * @retur"
},
{
"path": "src/Helpers/FileTypeDetector.php",
"chars": 1327,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Helpers;\n\nuse Maatwebsite\\Excel\\Exceptions\\NoTypeDetectedException;\nuse Symfony\\Compo"
},
{
"path": "src/Importer.php",
"chars": 1572,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Support\\Collection;\n\nint"
},
{
"path": "src/Imports/EndRowFinder.php",
"chars": 822,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports;\n\nuse Maatwebsite\\Excel\\Concerns\\WithLimit;\n\nclass EndRowFinder\n{\n /**\n "
},
{
"path": "src/Imports/HeadingRowExtractor.php",
"chars": 2549,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports;\n\nuse Maatwebsite\\Excel\\Concerns\\WithColumnLimit;\nuse Maatwebsite\\Excel\\Conce"
},
{
"path": "src/Imports/HeadingRowFormatter.php",
"chars": 2366,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports;\n\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Str;\nuse InvalidA"
},
{
"path": "src/Imports/ModelImporter.php",
"chars": 4152,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports;\n\nuse Maatwebsite\\Excel\\Concerns\\SkipsEmptyRows;\nuse Maatwebsite\\Excel\\Concer"
},
{
"path": "src/Imports/ModelManager.php",
"chars": 6754,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Collection;\n"
},
{
"path": "src/Imports/Persistence/CascadePersistManager.php",
"chars": 2879,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Imports\\Persistence;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database"
},
{
"path": "src/Jobs/AfterImportJob.php",
"chars": 2317,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/AppendDataToSheet.php",
"chars": 2176,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/AppendPaginatedToSheet.php",
"chars": 3022,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/AppendQueryToSheet.php",
"chars": 2953,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/AppendViewToSheet.php",
"chars": 2117,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/CloseSheet.php",
"chars": 1738,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/ExtendedQueueable.php",
"chars": 507,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\n\ntrait ExtendedQueueable\n{\n use Queueable {\n "
},
{
"path": "src/Jobs/Middleware/LocalizeJob.php",
"chars": 992,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs\\Middleware;\n\nuse Closure;\nuse Illuminate\\Contracts\\Translation\\HasLocalePreferen"
},
{
"path": "src/Jobs/ProxyFailures.php",
"chars": 293,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Throwable;\n\ntrait ProxyFailures\n{\n /**\n * @param Throwable $e\n "
},
{
"path": "src/Jobs/QueueExport.php",
"chars": 2618,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Disp"
},
{
"path": "src/Jobs/QueueImport.php",
"chars": 643,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Disp"
},
{
"path": "src/Jobs/ReadChunk.php",
"chars": 6618,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/Jobs/StoreQueuedExport.php",
"chars": 1302,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse "
},
{
"path": "src/MappedReader.php",
"chars": 1426,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Support\\Collection;\nuse Maatwebsite\\Excel\\Concerns\\ToArray;\nuse Maat"
},
{
"path": "src/Middleware/CellMiddleware.php",
"chars": 211,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Middleware;\n\nabstract class CellMiddleware\n{\n /**\n * @param mixed $value\n "
},
{
"path": "src/Middleware/ConvertEmptyCellValuesToNull.php",
"chars": 316,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Middleware;\n\nclass ConvertEmptyCellValuesToNull extends CellMiddleware\n{\n /**\n "
},
{
"path": "src/Middleware/TrimCellValue.php",
"chars": 508,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Middleware;\n\nclass TrimCellValue extends CellMiddleware\n{\n /**\n * @param mixe"
},
{
"path": "src/Mixins/DownloadCollectionMixin.php",
"chars": 2183,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Contracts\\Support\\Arrayable;\nuse Illuminate\\Support\\Collectio"
},
{
"path": "src/Mixins/DownloadQueryMacro.php",
"chars": 1888,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Maatwebsite\\Excel\\Concerns\\Exp"
},
{
"path": "src/Mixins/ImportAsMacro.php",
"chars": 1462,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Maatwebsite\\Excel\\Concerns\\Impor"
},
{
"path": "src/Mixins/ImportMacro.php",
"chars": 1208,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Maatwebsite\\Excel\\Concerns\\Impor"
},
{
"path": "src/Mixins/StoreCollectionMixin.php",
"chars": 1970,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Support\\Collection;\nuse Maatwebsite\\Excel\\Concerns\\Exportable"
},
{
"path": "src/Mixins/StoreQueryMacro.php",
"chars": 1911,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Mixins;\n\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Maatwebsite\\Excel\\Concerns\\Exp"
},
{
"path": "src/QueuedWriter.php",
"chars": 7525,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Foundation\\Bus\\PendingDispatch;\nuse Illuminate\\Support\\Collection;\nu"
},
{
"path": "src/Reader.php",
"chars": 14130,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Support\\Collection;\nuse "
},
{
"path": "src/RegistersCustomConcerns.php",
"chars": 1125,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Maatwebsite\\Excel\\Events\\AfterSheet;\nuse Maatwebsite\\Excel\\Events\\BeforeExport;"
},
{
"path": "src/Row.php",
"chars": 4222,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse ArrayAccess;\nuse Closure;\nuse Illuminate\\Support\\Collection;\nuse PhpOffice\\PhpS"
},
{
"path": "src/SettingsProvider.php",
"chars": 575,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Maatwebsite\\Excel\\Cache\\CacheManager;\nuse PhpOffice\\PhpSpreadsheet\\Settings;\n\nc"
},
{
"path": "src/Sheet.php",
"chars": 26456,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Closure;\nuse Illuminate\\Contracts\\Support\\Arrayable;\nuse Illuminate\\Support\\Col"
},
{
"path": "src/Transactions/DbTransactionHandler.php",
"chars": 638,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Transactions;\n\nuse Illuminate\\Database\\ConnectionInterface;\n\nclass DbTransactionHandl"
},
{
"path": "src/Transactions/NullTransactionHandler.php",
"chars": 274,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Transactions;\n\nclass NullTransactionHandler implements TransactionHandler\n{\n /**\n "
},
{
"path": "src/Transactions/TransactionHandler.php",
"chars": 205,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Transactions;\n\ninterface TransactionHandler\n{\n /**\n * @param callable $callb"
},
{
"path": "src/Transactions/TransactionManager.php",
"chars": 681,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Transactions;\n\nuse Illuminate\\Support\\Facades\\DB;\nuse Illuminate\\Support\\Manager;\n\ncl"
},
{
"path": "src/Validators/Failure.php",
"chars": 1846,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Validators;\n\nuse Illuminate\\Contracts\\Support\\Arrayable;\nuse JsonSerializable;\n\nclass"
},
{
"path": "src/Validators/RowValidator.php",
"chars": 4398,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Validators;\n\nuse Illuminate\\Contracts\\Validation\\Factory;\nuse Illuminate\\Support\\Str;"
},
{
"path": "src/Validators/ValidationException.php",
"chars": 870,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Validators;\n\nuse Illuminate\\Validation\\ValidationException as IlluminateValidationExc"
},
{
"path": "src/Writer.php",
"chars": 8576,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel;\n\nuse Maatwebsite\\Excel\\Concerns\\WithBackgroundColor;\nuse Maatwebsite\\Excel\\Concerns\\"
},
{
"path": "tests/Cache/BatchCacheTest.php",
"chars": 8176,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Cache;\n\nuse Composer\\InstalledVersions;\nuse Composer\\Semver\\VersionParser;\nuse "
},
{
"path": "tests/CellTest.php",
"chars": 1573,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests;\n\nuse Maatwebsite\\Excel\\Cell;\nuse Maatwebsite\\Excel\\Middleware\\ConvertEmptyCell"
},
{
"path": "tests/Concerns/ExportableTest.php",
"chars": 6876,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Illuminate\\Contracts\\Support\\Responsable;\nuse Illuminate\\Http\\Re"
},
{
"path": "tests/Concerns/FromArrayTest.php",
"chars": 894,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Maatwebsite\\Excel\\Concerns\\Exportable;\nuse Maatwebsite\\Excel\\Con"
},
{
"path": "tests/Concerns/FromCollectionTest.php",
"chars": 3175,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Illuminate\\Foundation\\Bus\\PendingDispatch;\nuse Maatwebsite\\Excel"
},
{
"path": "tests/Concerns/FromGeneratorTest.php",
"chars": 957,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Generator;\nuse Maatwebsite\\Excel\\Concerns\\Exportable;\nuse Maatwe"
},
{
"path": "tests/Concerns/FromIteratorTest.php",
"chars": 1138,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse ArrayIterator;\nuse Iterator;\nuse Maatwebsite\\Excel\\Concerns\\Expo"
},
{
"path": "tests/Concerns/FromQueryTest.php",
"chars": 9297,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Illuminate\\Support\\Facades\\DB;\nuse Maatwebsite\\Excel\\Tests\\Data\\"
},
{
"path": "tests/Concerns/FromViewTest.php",
"chars": 3898,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Illuminate\\Contracts\\View\\View;\nuse Illuminate\\Support\\Collectio"
},
{
"path": "tests/Concerns/ImportableTest.php",
"chars": 3970,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Illuminate\\Contracts\\Filesystem\\FileNotFoundException;\nuse Maatw"
},
{
"path": "tests/Concerns/OnEachRowTest.php",
"chars": 1773,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Maatwebsite\\Excel\\Concerns\\Importable;\nuse Maatwebsite\\Excel\\Con"
},
{
"path": "tests/Concerns/RegistersEventListenersTest.php",
"chars": 3527,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Maatwebsite\\Excel\\Events\\AfterSheet;\nuse Maatwebsite\\Excel\\Event"
},
{
"path": "tests/Concerns/RemembersChunkOffsetTest.php",
"chars": 1244,
"preview": "<?php\n\nnamespace Maatwebsite\\Excel\\Tests\\Concerns;\n\nuse Maatwebsite\\Excel\\Concerns\\Importable;\nuse Maatwebsite\\Excel\\Con"
}
]
// ... and 111 more files (download for full content)
About this extraction
This page contains the full source code of the SpartnerNL/Laravel-Excel GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 311 files (755.5 KB), approximately 189.5k tokens, and a symbol index with 1251 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.