从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实现导入导出功能相关推荐

  1. TP5.0 PHPExcel 数据表格导出导入(引)

    TP5.0 PHPExcel 数据表格导出导入(引) 今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExc ...

  2. PHPExcel处理导入导出图片,链接

    PHPExcel是一个非常强大的PHP表格处理模块,提供一组PHP编程语言,它允许您编写和读取不同的电子表格文件格式,如Excel(纸). xls,Excel 2007(OfficeOpenXML). ...

  3. 十分钟看会laravel导入导出功能,就这么简单

    laravel5扩展包excel导入导出功能 一, 简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的 ...

  4. laravel5 Excel Excel/CSV 文件导入导出功能

    在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 Posted on 2015年11月17日 by  学院君   注意版本2.1 1.简介 Lar ...

  5. VUE的Excel导入导出功能

    在做人力资源管理的后台项目时,实现了excel表的导入导出功能.用到了vue-element-admin提供的框架(链接地址 ),我们只需要在自己的项目中封装改造即可. 项目中实现excel表的导入与 ...

  6. 让模块支持“导入”“导出”功能

    让模块支持"导入""导出"功能 DNN模块可以支持导入导出功能,通过将模块内容导入到XML文件可以便于模块内容备份和转移,也可将模块内容事先以XML格式保存通过 ...

  7. easyexcel多个sheet导入_Java中Easypoi实现excel多sheet表导入导出功能

    Easypoi简化了开发中对文档的导入导出实现,并不像poi那样都要写大段工具类来搞定文档的读写. 第一步引入Easypoi依赖 cn.afterturn easypoi-spring-boot-st ...

  8. 安全组规则跨region导入导出功能介绍

    功能介绍 您可以在控制台clone一个安全组,进而快速创建安全组和添加安全组规则,但这个功能有个限制是无法跨region使用.为此ECS控制台开发了安全组规则导入导出功能,使用这个功能您可以把一个安全 ...

  9. SpringBoot 项目实现 Excel 导入导出功能

    背景 Excel 导入与导出是项目中经常用到的功能,在 Java 中常用 poi 实现 Excel 的导入与导出.由于 poi 占用内存较大,在高并发下很容易发生 OOM 或者频繁 fullgc,阿里 ...

最新文章

  1. Oracle Internal Event:10235 Heap Checking诊断事件
  2. linux cp使用注意事项
  3. Visual Basic 永远29岁,Visual Basic 谢幕!
  4. java swing 示例_JAVA简单Swing图形界面应用演示样例
  5. java integer 包_java之学习基本类型包装类的概述及Integer类的概述和构造方法
  6. nginx(五)nginx与php的安装配置
  7. 斐波那契数列连续十项的和
  8. 零基础学python还是c语言-为什么大一先学C语言,而不是Python,你知道为什么吗?...
  9. 制作OTA U盘升级包
  10. 遇到ffmpeg错误:non monotonically increasing dts to muxer in stream
  11. BZOJ4072[Wf2014] baggage
  12. Android:ViewPage使用教程
  13. JWplayer入门及使用
  14. 电动滑板车和电动自行车最新标准CE-EN17128和EN15194区别
  15. win10家庭版调出组策略_正版Win10免费送!支持无限次数重装
  16. 一款捕鱼手游分析 —— 实现无限购买金币
  17. 5G商用元年车联网鏖战升级 谁能掌握最后的话语权?
  18. MMKV数据存储组件的使用介绍
  19. fla转为html canvas,使用html2canvas将html转为图片
  20. JavaWeb (SSM框架)

热门文章

  1. 基于项目的制造 (ETO):SRM更好规划与控制项目业务
  2. 1.机器学习常见模型评价指标
  3. Ubuntu 如何 在线升级系统
  4. ExtJS 动态设置Grid列是否可编辑
  5. godaddy的长期有效优惠码
  6. 计算机平面设计职业兴趣怎么写,中职计算机平面设计教学兴趣激发策略.docx
  7. 倾情力荐,智能访客系统的正确打开方式
  8. Bootstrap图标按钮
  9. 关于laya的声音问题
  10. 非985、211毕业的你,真的找不到好工作吗?