我尝试使用http://www.maatwebsite.nl/laravel-excel/docs从XLS文档发送562行数据
每一行都是需要保存的用户,但当这个行运行180-200行时,Laravel会崩溃。
这可以是Laravel,我的XAMPP服务器(我运行脚本的地方)还是数据库本身?
$path = Input::file('file')->getRealPath();
Excel::load($path, function($reader) {
$data = $reader->get();
foreach($data as $row) {
$rows = User::where('email', $row['e_postadress'])->count();
if($rows == 0)
{
if($row['status'] == "Administratör")
{
$admin = 1;
}
else
{
$admin = 0;
}
$user = new User;
$user->email = $row['e_postadress'];
$user->fname = $row['fornamn'];
$user->lname = $row['efternamn'];
$user->save();
}
}
}, 'UTF-8');
答案 0 :(得分:0)
嗨:)我用MySQL命令解决了这个问题:LOAD DATA INFILE
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
您可以在几秒钟内添加大文件。但我认为你必须在.csv中改变你的.xls
示例(codeIgniter语法,请适应laravel):
$dataload = 'LOAD DATA LOCAL INFILE "Path_of_the_file"
REPLACE
INTO TABLE gc_csv CHARACTER SET "latin1"
FIELDS TERMINATED BY "\t"
IGNORE 1 LINES
';
return (bool)$this->db->query($dataload);