maymeow / excel-importer
一个将 XLSX 文件转换为模型的 PHP 扩展包。
v1.1.1
2022-10-01 19:59 UTC
Requires
- php: 8.*
- meow/hydrator: ^1.0
- phpoffice/phpspreadsheet: ^1.13
- symfony/console: ^5.1
Requires (Dev)
- phpstan/phpstan: ^1.1
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
- dev-master
- v1.1.1
- v1.1.0
- v1.0
- dev-dependabot/composer/phpoffice/phpspreadsheet-1.29.1
- dev-dependabot/composer/phpoffice/phpspreadsheet-2.2.1
- dev-dev/fix-missing-columns-error
- dev-use-hydrator
- dev-implement-code-quality-scanning
- dev-rules-from-attributes
- dev-update-model-writer
- dev-add-locator
- dev-add-testing
- dev-update-dependencies-211110
This package is auto-updated.
Last update: 2024-09-04 14:24:13 UTC
README
一个简单且可扩展的库,用于将 Excel 文件 (.xlsx) 中的数据加载到对象中。
此库使用 phpoffice/phpspreadsheet
从 XLSX 文件中读取。请查看他们的 Github
读取文件 - 命令行示例数据(已弃用)
通过命令行使用示例数据
php application.php app:read-file -f ./path/to/file.xlsx
通过源代码
创建一个新的模型,它扩展了 MayMeow\ExcelImporter\Models\BaseModel
。要将 Excel 中的列映射到属性,请使用 \MayMeow\ExcelImporter\Attributes\Column
属性。
<?php use MayMeow\ExcelImporter\Models\BaseModel; class ExampleModel extends BaseModel { #[\MayMeow\ExcelImporter\Attributes\Column('A')] protected string $property; public function getProperty() { return $this->property; } }
以下示例是从活动工作表读取文件
// ... use MayMeow\ExcelImporter\Models\ExampleModel; use MayMeow\ExcelImporter\Writers\ModelWriter; use PhpOffice\PhpSpreadsheet\Reader\Xlsx; // ... public function testImportingFile() { $xlsxReader = new Xlsx(); $spreadsheet = $xlsxReader->load((new TestingDataLocator())->locateExcelFile()); $writer = new ModelWriter(); /** @var array<TestingModel> $modelArray */ $modelArray = $writer->write(TestingModel::class, $spreadsheet); } // ...
文件
为了获取文件的路径,您可以创建一个通过实现 MayMeow\ExcelImporter\Tools\FileLocatorInterface
的定位器,这不是 XLS 读取器所必需的,但建议使用。
许可 MIT