TP5引用PHPExcel实现导入导出功能
从github下载PHPExcel
PHPExcel
将下载好的PHPExcel文件夹跟PHPExcel放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用
前端代码
<html><head></head><body><div class="panel-heading">Advanced Tables <a href="/daochu" class="btn-succes">导出</a> <form action="/daoru" method="post" enctype="multipart/form-data"> <input name="upload[]" type="file" /> <input type="submit" /> </form> </div></body>
</html>
导出功能控制器的代码
$list = Db::table('product')->select();vendor("PHPExcel176.PHPExcel");$objPHPExcel = new \PHPExcel();$objPHPExcel->getProperties()->setCreator("ctos")->setLastModifiedBy("ctos")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")->setCategory("Test result file");$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10);$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);//设置行高度$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(22);$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);//set font size bold$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);$objPHPExcel->getActiveSheet()->getStyle('A2:E2')->getFont()->setBold(true);$objPHPExcel->getActiveSheet()->getStyle('A2:E2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);$objPHPExcel->getActiveSheet()->getStyle('A2:E2')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);//设置水平居中$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);$objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//合并cell$objPHPExcel->getActiveSheet()->mergeCells('A1:J1');// set table header content$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '订单数据汇总 时间:'.date('Y-m-d H:i:s'))->setCellValue('A2', '订单ID')->setCellValue('B2', '商品名称')->setCellValue('C2', '价格')->setCellValue('D2', '库存')->setCellValue('E2', '图片');// Miscellaneous glyphs, UTF-8for($i=0;$i<count($list)-1;$i++){$objPHPExcel->getActiveSheet(0)->setCellValue('A'.($i+3), $list[$i]['id']);$objPHPExcel->getActiveSheet(0)->setCellValue('B'.($i+3), $list[$i]['name']);$objPHPExcel->getActiveSheet(0)->setCellValue('C'.($i+3), $list[$i]['price']);$objPHPExcel->getActiveSheet(0)->setCellValue('D'.($i+3), $list[$i]['stock']);$objPHPExcel->getActiveSheet(0)->setCellValue('E'.($i+3), $list[$i]['main_img_url']);//$objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':J'.($i+3))->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);//$objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':J'.($i+3))->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);$objPHPExcel->getActiveSheet()->getRowDimension($i+3)->setRowHeight(16);}// sheet命名$objPHPExcel->getActiveSheet()->setTitle('订单汇总表');// Set active sheet index to the first sheet, so Excel opens this as the first sheet$objPHPExcel->setActiveSheetIndex(0);// excel头参数header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="商品表('.date('Ymd-His').').xls"'); //日期为文件名后缀header('Cache-Control: max-age=0');$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel5为xls格式,excel2007为xlsx格式$objWriter->save('php://output');
导入功能控制器的代码
public function daoru(){$file = $_FILES['upload']['tmp_name'][0];$data = $this->import_excel($file);var_dump($data);}private function import_excel($file){// 判断文件是什么格式$type = pathinfo($file);$type = strtolower($type["extension"]);$type=$type==='csv' ? $type : 'Excel5';ini_set('max_execution_time', '0');Vendor('PHPExcel176.PHPExcel');// 判断使用哪种格式$objReader = \PHPExcel_IOFactory::createReader($type);$objPHPExcel = $objReader->load($file);$sheet = $objPHPExcel->getSheet(0);// 取得总行数$highestRow = $sheet->getHighestRow();// 取得总列数$highestColumn = $sheet->getHighestColumn();//循环读取excel文件,读取一条,插入一条$data=array();//从第一行开始读取数据for($j=3;$j<=$highestRow;$j++){//从A列读取数据for($k='A';$k<=$highestColumn;$k++){// 读取单元格$data[$j][]=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();}}return $data;}
这里获得excel文件的数据内容,可以循环插入数据库中
TP5引用PHPExcel实现导入导出功能相关推荐
- TP5.0 PHPExcel 数据表格导出导入(引)
TP5.0 PHPExcel 数据表格导出导入(引) 今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExc ...
- PHPExcel处理导入导出图片,链接
PHPExcel是一个非常强大的PHP表格处理模块,提供一组PHP编程语言,它允许您编写和读取不同的电子表格文件格式,如Excel(纸). xls,Excel 2007(OfficeOpenXML). ...
- 十分钟看会laravel导入导出功能,就这么简单
laravel5扩展包excel导入导出功能 一, 简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的 ...
- laravel5 Excel Excel/CSV 文件导入导出功能
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 Posted on 2015年11月17日 by 学院君 注意版本2.1 1.简介 Lar ...
- VUE的Excel导入导出功能
在做人力资源管理的后台项目时,实现了excel表的导入导出功能.用到了vue-element-admin提供的框架(链接地址 ),我们只需要在自己的项目中封装改造即可. 项目中实现excel表的导入与 ...
- 让模块支持“导入”“导出”功能
让模块支持"导入""导出"功能 DNN模块可以支持导入导出功能,通过将模块内容导入到XML文件可以便于模块内容备份和转移,也可将模块内容事先以XML格式保存通过 ...
- easyexcel多个sheet导入_Java中Easypoi实现excel多sheet表导入导出功能
Easypoi简化了开发中对文档的导入导出实现,并不像poi那样都要写大段工具类来搞定文档的读写. 第一步引入Easypoi依赖 cn.afterturn easypoi-spring-boot-st ...
- 安全组规则跨region导入导出功能介绍
功能介绍 您可以在控制台clone一个安全组,进而快速创建安全组和添加安全组规则,但这个功能有个限制是无法跨region使用.为此ECS控制台开发了安全组规则导入导出功能,使用这个功能您可以把一个安全 ...
- SpringBoot 项目实现 Excel 导入导出功能
背景 Excel 导入与导出是项目中经常用到的功能,在 Java 中常用 poi 实现 Excel 的导入与导出.由于 poi 占用内存较大,在高并发下很容易发生 OOM 或者频繁 fullgc,阿里 ...
最新文章
- Oracle Internal Event:10235 Heap Checking诊断事件
- linux cp使用注意事项
- Visual Basic 永远29岁,Visual Basic 谢幕!
- java swing 示例_JAVA简单Swing图形界面应用演示样例
- java integer 包_java之学习基本类型包装类的概述及Integer类的概述和构造方法
- nginx(五)nginx与php的安装配置
- 斐波那契数列连续十项的和
- 零基础学python还是c语言-为什么大一先学C语言,而不是Python,你知道为什么吗?...
- 制作OTA U盘升级包
- 遇到ffmpeg错误:non monotonically increasing dts to muxer in stream
- BZOJ4072[Wf2014] baggage
- Android:ViewPage使用教程
- JWplayer入门及使用
- 电动滑板车和电动自行车最新标准CE-EN17128和EN15194区别
- win10家庭版调出组策略_正版Win10免费送!支持无限次数重装
- 一款捕鱼手游分析 —— 实现无限购买金币
- 5G商用元年车联网鏖战升级 谁能掌握最后的话语权?
- MMKV数据存储组件的使用介绍
- fla转为html canvas,使用html2canvas将html转为图片
- JavaWeb (SSM框架)