tp5导入excel表格到数据表
1.先下载 导入excel类(我自己找的)
链接:https://pan.baidu.com/s/1eXkwUV1fI60yq0rSjokbSg 密码:2mo5
放入到think\vendor中
然后html代码
<!DOCTYPE html>
然后接收到excel表格的和处理、添加数据库的方法
public function addexcel()
{
vendor(“PHPExcel.PHPExcel”); //获取PHPExcel类
$excel = new \PHPExcel();
$file = request()->file('file');
$info = $file->validate(\['size'=>15678,'ext'=>'xlsx,xls,csv'\])->move(ROOT\_PATH . 'public' . DS . 'excel');
if($info)\{
$exclePath = $info->getSaveName(); //获取文件名
$file\_name = ROOT\_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址
$objReader =\\PHPExcel\_IOFactory::createReader('Excel2007');
$obj\_PHPExcel =$objReader->load($file\_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
echo "<pre>";
$excel\_array=$obj\_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
// array\_shift($excel\_array); //删除第一个数组(标题);
$arr = reset($excel\_array);
unset($excel\_array\[0\]);
$data = \[\];
$i=0;
foreach($excel\_array as $k=>$v) \{
$data\[$k\]\[‘title’\] = $v\[0\];
$data\[$k\]\['title\] = $v\[1\];
$i++;
\}
$res = Db::table('user')->insertAll($data);
var\_dump($res);
\}
以上时参考方法
以下是我使用的
public function addexcel()
{
if ($this->request->isGet()) {
$this->title = ‘发布活动资讯’;
return $this->fetch(‘addexcel’);
\}
//引入类
require\_once 'vendor/PHPExcel/PHPExcel.php';
// vendor("PHPExcel.PHPExcel"); //获取PHPExcel类
$excel = new \\PHPExcel();
$file = request()->file('file');
// $info = $file->validate(\['size'=>15678,'ext'=>'xlsx,xls,csv'\])->move(ROOT\_PATH . 'public' . DS . 'excel');
header("content-type:text/html;charset=utf-8");
$info = $file->validate(\['ext'=>'xlsx,xls,csv'\])->move('./public/excel');
if($info)\{
$exclePath = $info->getSaveName(); //获取文件名
$file\_name = './public/excel/'.str\_replace("\\\\","/",$exclePath); //上传文件的地址
// $file\_name = ROOT\_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址
//注意 setInputEncoding('GBK') 不设置将导致中文列内容返回boolean(false)或乱码
$objReader =\\PHPExcel\_IOFactory::createReader('CSV')\->setInputEncoding('GBK');
$obj\_PHPExcel =$objReader->load($file\_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
// dump($obj\_PHPExcel);
// echo "<pre>";
$excel\_array=$obj\_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
// dump($excel\_array);
// exit;
// array\_shift($excel\_array); //删除第一个数组(标题);
$arr = reset($excel\_array);
// dump($arr);
// dump($excel\_array);
unset($excel\_array\[0\]);
$data = \[\];
// $i=0;
foreach($excel\_array as $k=>$v) \{
// dump($v);
// exit;
$data\[$k\]\['title'\] = $v\[0\];
$data\[$k\]\['address'\] = $v\[1\];
$data\[$k\]\['province'\] = $v\[2\];
$data\[$k\]\['city'\] = $v\[3\];
$data\[$k\]\['area'\] = $v\[4\];
$data\[$k\]\['jiedao'\] = $v\[5\];
$data\[$k\]\['longitude'\] = $v\[6\];
$data\[$k\]\['latitude'\] = $v\[7\];
$data\[$k\]\['phone'\] = $v\[8\];
// $i++;
\}
// dump($data);
// exit;
$res = Db::table('store\_retail\_stores')->insertAll($data);
var\_dump($res);
\}
\}
参考:https://blog.csdn.net/weixin\_42122979/article/details/80804460
还没有评论,来说两句吧...