1. 引入 laravel-excel;
2. 添加導入按鈕: // 導入
$grid->tools(function ($tools) {
$tools->append(new ExcelImport());
});
//導出
$grid->exporter(new ExcelExporter('cardnews'));
2. 導入按鈕控制器:
<?php
namespace App\Admin\Extensions\Tools;
use Encore\Admin\Admin;
use Encore\Admin\Grid\Tools\AbstractTool;
use Illuminate\Support\Facades\Request;
class ExcelImport extends AbstractTool
{
public function script()
{
return <<<EOT
$('.file-upload').on('change', function () {
$('.file-upload-form').submit();
});
EOT;
}
public function render()
{
Admin::script($this->script());
if (Request::path() == 'loansarticles'){
$url = 'loansnewsimport';
}else {
$url = 'cardnewsimport';
}
return view('admin.tools.excelimport')->with('url',$url);
}
}
3. 按鈕視圖: \resources\views\admin\tools\excelimport.blade.php
4. 導入的方法:重組數據拼 sql, 插入數據庫
public function import(Request $request)
{
$files = $request->file('files');
$dir = $request->get('dir', '/');
$manager = new MediaManager($dir,'xlsx');
try {
//文件上傳服務器
if ($manager->upload($files)) {
admin_toastr('導入成功');
}
//文件存儲路徑
$filePath = "/data/www/cbb_new/storage/app/public/".$files[0]->getClientOriginalName();
Excel::load($filePath, function($reader) {
$data = $reader->all();
//dd($data);
//批量存儲
$value=[];
$lastid = CardArticle::orderBy('id','desc')->limit(1)->value('id');
foreach ($data as $k => $v ){
$lastid++;
//存儲表格每行的值
$value['title'] =$v['title'];
$value['dt'] =date('Y-m-d Hs');
$value['seotitle'] =$v['seotitle'];
$value['keywords'] =$v['keywords'];
$value['author'] =$v['author'];
$value['class_id'] = intval($v['class_id']);
$value['bank_id'] =intval($v['bank_id']);
$value['content'] =$v['content'];
$value['views'] =intval($v['views']);
$value['order'] =intval($v['order']);
$value['generate_url']= '/cardnews/cardnews_'.$lastid.'.shtml';
$value['status'] =intval($v['status']);
CardArticle::create($value);
}
});
} catch (\Exception $e) {
admin_toastr($e->getMessage(), 'error');
}
return back();
}
5. 寫路由
6. Models 裏面添加要導入的字段: protected $fillable = ['xx','xx',...]
7. 準備表格文件 / 導入數據
轉載:http://www.zongscan.com/demo333/174.html
————————————————
原文作者:houtizong
轉自鏈接:https://www.zongscan.com/demo333/174.html
版權聲明:著作權歸作者所有。轉載請保留以上作者信息和原文鏈接。