美文网首页嵌牛IT观察
ThinkPHP3.2+PHPExcel导入、导出Excel

ThinkPHP3.2+PHPExcel导入、导出Excel

作者: 恳请叫我红领巾 | 来源:发表于2017-12-17 13:50 被阅读0次

姓名:齐鹏飞  学号:17021211161

本文为原创,转载请注明出处。

【嵌牛导读】在Web项目中时常会遇到MySQL和Excel的导入、导出,本文基于ThinkPHP框架总结一下相关方法

【嵌牛鼻子】PHP MySQL Excel

【嵌牛提问】如果导入Excel文件过大,导入时间会很慢,甚至会出现超出内存的情况,该怎么办呢????

【嵌牛正文】

下载PHPExcel 解压 放到ThinkPHP目录下 Library/Vendor下 目录结构如图所示

`//导入Excel文件到数据库

Public function daoru(){

$upload=new \Think\Upload();//实例化上传类

$upload->maxSize =3145728;//设置上传文件大小上限

$upload->exts = array('xls','xlsx');//设置上传文件类型

$upload->rootPath = './Uploads/';//上传文件根目录

$unload->savePath = '';//上传文件子目录

$info = $upload->upload();//上传动作

if(!$info){

$this->error($upload->getError());//上传错误提示

}

$file_name= $upload->rootPath.$info['import']['savepath'].$info['import']['savename'];//获取上传文件路径

vendor("PHPExcel.Classes.PHPExcel");//引入PHPExcel扩展类库

$exts=$info['import']['ext'];//获取上传文件格式

if($exts = = "xls"){

$objReader=\PHPExcel_IOFactory::createReader('Excel5');//设置读取文件方式

} if($exts = = "xlsx"){

$objReader=\PHPExcel_IOFactory::createReader('Excel2007');//设置读取文件方式

}

$objPHPExcel = $objReader->load($file_name,$encode='utf-8');//读取文件

$sheet = $objPHPExcel->getSheet(0);//获取Excel第一张表

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumn = $sheet->getHighestColumn(); // 取得总列数

$code=M('code');//实例化数据表

for($i=1;$i<=$highestRow;$i++){//循环

$data['val']= $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//获取A列第一行的值

$code->add($data);//插入数据库

}

$this->success('导入成功!');

} `

//导出数据到Excel

` public function daochu(){

vendor("PHPExcel.Classes.PHPExcel");//引入扩展类库

$objPHPExcel = new \PHPExcel();//实例化类

$objWriter = new \PHPExcelWriterExcel5($objPHPExcel);//设置保存版本格式

//设置单元格宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(30);

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(60);

$objPHPExcel->getActiveSheet()->setCellValue('A1','编号');

$objPHPExcel->getActiveSheet()->setCellValue('B1','服务类型');

$objPHPExcel->getActiveSheet()->setCellValue('C1','服务项目');

$arr=array();//$arr替换成你要输出的数组

foreach ($arr as $key => $value) {//循环输出内容

$i=$key+1;

$a=$i+1;

$objPHPExcel->getActiveSheet()->setCellValue('A'.$a, $value['r_id']);//这里是设置A列单元格的内容

$objPHPExcel->getActiveSheet()->setCellValue('B'.$a, $value['r_name']);

$objPHPExcel->getActiveSheet()->setCellValue('C'.$a, $value['r_age']);

}

header("Pragma: public");

header("Expires: 0");

header("Cache-Control:must-revalidate, post-check=0, pre-check=0");

header("Content-Type:application/force-download");

header("Content-Type:application/vnd.ms-execl");

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");

header('Content-Disposition:attachment;filename=name.xls');

header("Content-Transfer-Encoding:binary");

$objWriter->save('name.xls');

$objWriter->save('php://output'); `

相关文章

  • ThinkPHP3.2+PHPExcel导入、导出Excel

    姓名:齐鹏飞 学号:17021211161 本文为原创,转载请注明出处。 【嵌牛导读】在Web项目中时常会遇到My...

  • DataGrip 导入 Excel 数据

    目前DataGrip不支持导入Excel,可以将Excel导出为csv文件进行导入:文件=>导出=》更改文件类型=...

  • SpringBoot解析Excel

    现在很多web应用中,导入excel导出excel很常见,这篇文章就讲讲导入excel文件。 以批量导入课程为例 ...

  • 2018-04-09 需求整理

    文件下载导出Excel模板导出Excel数据 文件上传导入Excel照片上传 数据管理 学生管理CURD搜索 教师...

  • VUE框架下搭建在线Excel应用

    本项目实现功能:VUE框架中 嵌入表格控件SpreadJS,实现导入Excel、导出Excel、导出PDF、打印表...

  • Excel表格导入数据库及其下载

    Excel表格的导入导出 1.读取指定Excel到数据库 springMvc上传获取文件 //导入excel表格p...

  • 数据导入、导出

    导入csv文件 导入文本文件 导入Excel文件(xls,xlsx) 中文路径问题 数据导出

  • 导出导入excel

  • excel导入导出

    // 导入excelfunction import_excel($file){// 判断文件是什么格式$type ...

  • Excel导入导出

    在后台管理系统中,常遇到Excel导入导出的需求,整理了如下两个工具类。 一、导入 导入工具类 使用方式 二、导出...

网友评论

    本文标题:ThinkPHP3.2+PHPExcel导入、导出Excel

    本文链接:https://www.haomeiwen.com/subject/mobywxtx.html