Laravel 当用户读取Excel文件时获取字段数据
我正在用喷口读取Excel文件。以下是我的Excel格式: 我试着在Spoute文档中使用一些基本代码:Laravel 当用户读取Excel文件时获取字段数据,laravel,spout,Laravel,Spout,我正在用喷口读取Excel文件。以下是我的Excel格式: 我试着在Spoute文档中使用一些基本代码: $filePath = '/Users/nhathao/Desktop/employee-test.xlsx'; $reader = ReaderEntityFactory::createXLSXReader(); //$reader = ReaderFactory::create(Type::XLSX); $reader->open($filePath);
$filePath = '/Users/nhathao/Desktop/employee-test.xlsx';
$reader = ReaderEntityFactory::createXLSXReader();
//$reader = ReaderFactory::create(Type::XLSX);
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
echo "<pre>";
print_r($row->getCells());
echo "</pre>";
}
}
$filePath='/Users/nhathao/Desktop/employee test.xlsx';
$reader=ReaderEntityFactory::createXLSXReader();
//$reader=ReaderFactory::create(类型::XLSX);
$reader->open($filePath);
foreach($reader->getSheetIterator()作为$sheet){
foreach($sheet->getRowIterator()作为$row){
回声“;
$cells = $row->getCells();
$emailCell = $cells[4]; // 4 because first column is at index 0.
$email = $emailCell->getValue();
打印($row->getCells());
回声“;
$cells = $row->getCells();
$emailCell = $cells[4]; // 4 because first column is at index 0.
$email = $emailCell->getValue();
}
}
当我运行时,我得到了单元格的数据:
要访问这些字段吗?比如$row->email?我想得到那个值并存储在一个变量中,与数据库中的值进行比较
希望你能帮助我
多谢各位
$row->getCells
返回一个单元格数组
。您可以通过对每个单元格调用$cell->getValue()
来访问该单元格的值
在您的情况下,如果您想要电子邮件字段,则没有神奇的映射。如果电子邮件列是第5列,则您可以执行以下操作:
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
$value = $row->toArray();
$name = $value[1];
}
}
希望有帮助 您只需将行转换为数组即可获得值。假设您想要获取name的值。如您所见,name的索引是1。你要做的是:
希望它能对您有所帮助。或者我们可以使用$cell[4]->value来缩短时间。我昨晚发现了这个。无论如何,谢谢你的帮助!另一个缩写是:
$row->getCellAtIndex(4)->getValue()