60 lines
1.3 KiB
PHP
60 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
use Excel;
|
|
use DB;
|
|
|
|
class ExcelController extends BaseController
|
|
{
|
|
public function index($type, Request $request)
|
|
{
|
|
switch ($type) {
|
|
|
|
case 'import':
|
|
return $this->import($request);
|
|
break;
|
|
case 'importpost':
|
|
return $this->importPost($request);
|
|
break;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public function import()
|
|
{
|
|
$this->setViewPath('import', 'index');
|
|
return $this->display();
|
|
}
|
|
|
|
//任意导入
|
|
public function importPost(Request $request)
|
|
{
|
|
$table = $request->input('table');
|
|
$delete_all = $request->input('del');
|
|
$file = $request->input('file');
|
|
$file = dir_linux(public_path()) . $file;
|
|
$results = Excel::selectSheetsByIndex(0)->load($file, function ($reader) {
|
|
})->get()->toArray();
|
|
if (count($results) > 0) {
|
|
$data = $results;
|
|
if ($delete_all) {
|
|
DB::table($table)->delete();
|
|
}
|
|
|
|
$r = DB::table($table)->insert($data);
|
|
if ($r) {
|
|
|
|
return $this->saveMessage($r,$request);
|
|
}
|
|
} else {
|
|
return $this->saveMessage(0,$request);
|
|
}
|
|
|
|
|
|
}
|
|
}
|