composer
cd ../../lmb
composer require phpoffice/phpexcel
安装需要花点时间,上个厕所再来吧!
前台部分样例:
<form id="submitForm" method="post" action="import.php" enctype="multipart/form-data">
<input id="importdata" type="file" class="form-control" name="importdata">
<button class="btn btn-primary" type="submit">确认提交</button>
</form>
后台php部分: (无需引入 PHPExcel,thinkphp 已自动加载)
$file = request()->file('importdata');
#保存文件到/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'upload');
if($info){
#文件路径
$filename = ROOT_PATH . 'public' . DS . '/upload' . '/' . date('Ymd') . '/' . $info->getFilename();
#文件后缀
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
#获取文件数据
if($extension == 'xlsx') {
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($filename, $encode = 'utf-8');
}else if($extension == 'xls'){
$objReader =\PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($filename, $encode = 'utf-8');
}
#转换为数组格式
$excel_array = $objPHPExcel->getsheet(0)->toArray();
#去除第一个数组(标题);
array_shift($excel_array);
$data = [];
foreach ($excel_array as $key=>$val) {
$data[$key]['name'] = $val[0];
$data[$key]['mobile'] = $val[1];
}
#批入数据
Db::table('table')->insertAll($data);
如有侵权请邮件通知