tp5--Excel表格导入导出
阅读原文时间:2022年03月21日阅读:1

来源于:https://www.cnblogs.com/MyIsLu/p/6830579.html

PHPExcel 扩展包下载地址:             https://github.com/PHPOffice/PHPExcel

放在扩展类库目录下。

导出:

控制器代码如下:

 //导出  
 function excel()  
 {  
     $path = dirname(\_\_FILE\_\_);//找到当前脚本所在路径  
     Loader::import('PHPExcel.Classes.PHPExcel');//手动引入PHPExcel.php  
     Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel\_IOFactory');//引入IOFactory.php 文件里面的PHPExcel\_IOFactory这个类  
     $PHPExcel = new \\PHPExcel();//实例化

     $PHPSheet = $PHPExcel->getActiveSheet();  
     $PHPSheet->setTitle("demo");//给当前活动sheet设置名称  
     $PHPSheet->setCellValue("A1","姓名")->setCellValue("B1","分数");//表格数据  
     $PHPSheet->setCellValue("A2","张三")->setCellValue("B2","");//表格数据  
     $PHPWriter = \\PHPExcel\_IOFactory::createWriter($PHPExcel,"Excel2007");//创建生成的格式  
     header('Content-Disposition: attachment;filename="表单数据.xlsx"');//下载下来的表格名  
     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');  
     $PHPWriter->save("php://output");//表示在$path路径下面生成demo.xlsx文件  
 }

调用excel方法就可以生成一个表格了,后续的根据自己的需要自己去写代码.

PHPexcel 表格数据导入数据库 city 表,在这之前自己先创建好表单,我这次用的都是地址数据表做的测试:

导入

我这里导入的之前导出的那个表格:

view:



Title



controller:

//导入  
 public function inserExcel()  
 {  
     if(request() -> isPost())  
     {  
         Loader::import('PHPExcel.Classes.PHPExcel');  
         Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel\_IOFactory');  
         Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5');  
         //获取表单上传文件  
         $file = request()->file('excel');  
         $info = $file->validate(\['ext' => 'xlsx'\])->move(ROOT\_PATH . 'public');  //上传验证后缀名,以及上传之后移动的地址  E:\\wamp\\www\\bick\\public  
         if($info)  
         {  

// echo $info->getFilename();
$exclePath = $info->getSaveName(); //获取文件名
$file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
echo "

";  
$excel_array=$obj_PHPExcel->getsheet()->toArray(); //转换为数组格式
array_shift($excel_array); //删除第一个数组(标题);
$city = [];
foreach($excel_array as $k=>$v) {
$city[$k]['name'] = $v[];
$city[$k]['number'] = $v[];
}
dump($city);
}else
{
echo $file->getError();
}
}else
{
return $this -> fetch();
}

 }

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章