我正在创建一个模块,您可以从excel文件上传数据库中的记录。这些只是电话号码。所以这是我的代码:
$file = Input::file('file');
Excel::load($file, function($reader) {
// Getting all results
$results = $reader->get()->toArray();
//var_dump($results);exit;
foreach ($results as $key => $value) {
$phone = new Phone();
$phone->msisdn = $value['msisdn'];
$phone->save();
}
});
我使用https://github.com/Maatwebsite/Laravel-Excel来阅读excel文件。它工作正常,20分钟上传20,000条记录,我想,有没有办法上传或上传速度更快?我知道这也取决于服务器,但还有其他因素吗?我正在使用MySQL
由于
答案 0 :(得分:0)
从他们的文档中可能会在您使用如此大的文件时将结果分块。这样你就可以读取文件的块,而不是将整个文件加载到内存中。
答案 1 :(得分:0)
你可以试试这个更快的替代方案(https://github.com/rap2hpoutre/fast-excel):
(new FastExcel)->import($file, function ($line) {
$phone = new Phone();
$phone->msisdn = $value['msisdn'];
$phone->save();
});