tp5导入excel表格到数据表

短命女 2023-02-21 06:41 97阅读 0赞

1.先下载 导入excel类(我自己找的)

链接:https://pan.baidu.com/s/1eXkwUV1fI60yq0rSjokbSg 密码:2mo5

放入到think\vendor中

20200629150508979.png

然后html代码

<!DOCTYPE html>




Document




选择文件:




然后接收到excel表格的和处理、添加数据库的方法

public function addexcel()
{
vendor(“PHPExcel.PHPExcel”); //获取PHPExcel类
$excel = new \PHPExcel();

  1. $file = request()->file('file');
  2. $info = $file->validate(\['size'=>15678,'ext'=>'xlsx,xls,csv'\])->move(ROOT\_PATH . 'public' . DS . 'excel');
  3. if($info)\{
  4. $exclePath = $info->getSaveName(); //获取文件名
  5. $file\_name = ROOT\_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址
  6. $objReader =\\PHPExcel\_IOFactory::createReader('Excel2007');
  7. $obj\_PHPExcel =$objReader->load($file\_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
  8. echo "<pre>";
  9. $excel\_array=$obj\_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
  10. // array\_shift($excel\_array); //删除第一个数组(标题);
  11. $arr = reset($excel\_array);
  12. unset($excel\_array\[0\]);
  13. $data = \[\];
  14. $i=0;
  15. foreach($excel\_array as $k=>$v) \{
  16. $data\[$k\]\[title\] = $v\[0\];
  17. $data\[$k\]\['title\] = $v\[1\];
  18. $i++;
  19. \}
  20. $res = Db::table('user')->insertAll($data);
  21. var\_dump($res);
  22. \}

以上时参考方法

以下是我使用的

public function addexcel()
{
if ($this->request->isGet()) {
$this->title = ‘发布活动资讯’;
return $this->fetch(‘addexcel’);

  1. \}
  2. //引入类
  3. require\_once 'vendor/PHPExcel/PHPExcel.php';
  4. // vendor("PHPExcel.PHPExcel"); //获取PHPExcel类
  5. $excel = new \\PHPExcel();
  6. $file = request()->file('file');
  7. // $info = $file->validate(\['size'=>15678,'ext'=>'xlsx,xls,csv'\])->move(ROOT\_PATH . 'public' . DS . 'excel');
  8. header("content-type:text/html;charset=utf-8");
  9. $info = $file->validate(\['ext'=>'xlsx,xls,csv'\])->move('./public/excel');
  10. if($info)\{
  11. $exclePath = $info->getSaveName(); //获取文件名
  12. $file\_name = './public/excel/'.str\_replace("\\\\","/",$exclePath); //上传文件的地址
  13. // $file\_name = ROOT\_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址
  14. //注意 setInputEncoding('GBK') 不设置将导致中文列内容返回boolean(false)或乱码
  15. $objReader =\\PHPExcel\_IOFactory::createReader('CSV')\->setInputEncoding('GBK');
  16. $obj\_PHPExcel =$objReader->load($file\_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
  17. // dump($obj\_PHPExcel);
  18. // echo "<pre>";
  19. $excel\_array=$obj\_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
  20. // dump($excel\_array);
  21. // exit;
  22. // array\_shift($excel\_array); //删除第一个数组(标题);
  23. $arr = reset($excel\_array);
  24. // dump($arr);
  25. // dump($excel\_array);
  26. unset($excel\_array\[0\]);
  27. $data = \[\];
  28. // $i=0;
  29. foreach($excel\_array as $k=>$v) \{
  30. // dump($v);
  31. // exit;
  32. $data\[$k\]\['title'\] = $v\[0\];
  33. $data\[$k\]\['address'\] = $v\[1\];
  34. $data\[$k\]\['province'\] = $v\[2\];
  35. $data\[$k\]\['city'\] = $v\[3\];
  36. $data\[$k\]\['area'\] = $v\[4\];
  37. $data\[$k\]\['jiedao'\] = $v\[5\];
  38. $data\[$k\]\['longitude'\] = $v\[6\];
  39. $data\[$k\]\['latitude'\] = $v\[7\];
  40. $data\[$k\]\['phone'\] = $v\[8\];
  41. // $i++;
  42. \}
  43. // dump($data);
  44. // exit;
  45. $res = Db::table('store\_retail\_stores')->insertAll($data);
  46. var\_dump($res);
  47. \}
  48. \}

参考:https://blog.csdn.net/weixin\_42122979/article/details/80804460

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读