TP5引用PHPExcel实现导入导出功能

从php中文网下载phpexcel

PHPExcel

将下载好的PHPExcel文件夹跟PHPExcel放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用

TP5引用PHPExcel实现导入导出功能

前端代码

立即学习PHP免费学习笔记(深入)”;

       <div>     Advanced Tables     <a>导出</a>     <form>      <input>      <input>     </form>    </div>   

导出功能控制器的代码

$list = Db::table('product')-&gt;select();         vendor("PHPExcel176.PHPExcel");         $objPHPExcel = new PHPExcel();         $objPHPExcel-&gt;getProperties()-&gt;setCreator("ctos")             -&gt;setLastModifiedBy("ctos")             -&gt;setTitle("Office 2007 XLSX Test Document")             -&gt;setSubject("Office 2007 XLSX Test Document")             -&gt;setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")             -&gt;setKeywords("office 2007 openxml php")             -&gt;setCategory("Test result file");         $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('A')-&gt;setWidth(8);         $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('B')-&gt;setWidth(20);         $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('C')-&gt;setWidth(10);         $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('D')-&gt;setWidth(10);         $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('E')-&gt;setWidth(50);         //设置行高度         $objPHPExcel-&gt;getActiveSheet()-&gt;getRowDimension('1')-&gt;setRowHeight(22);         $objPHPExcel-&gt;getActiveSheet()-&gt;getRowDimension('2')-&gt;setRowHeight(20);         //set font size bold         $objPHPExcel-&gt;getActiveSheet()-&gt;getDefaultStyle()-&gt;getFont()-&gt;setSize(10);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A2:E2')-&gt;getFont()-&gt;setBold(true);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A2:E2')-&gt;getAlignment()-&gt;setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A2:E2')-&gt;getBorders()-&gt;getAllBorders()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);         //设置水平居中         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A1')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);         $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);         //合并cell         $objPHPExcel-&gt;getActiveSheet()-&gt;mergeCells('A1:J1');         // set table header content         $objPHPExcel-&gt;setActiveSheetIndex(0)             -&gt;setCellValue('A1', '订单数据汇总  时间:'.date('Y-m-d H:i:s'))             -&gt;setCellValue('A2', '订单ID')             -&gt;setCellValue('B2', '商品名称')             -&gt;setCellValue('C2', '价格')             -&gt;setCellValue('D2', '库存')             -&gt;setCellValue('E2', '图片');         // Miscellaneous glyphs, UTF-8         for($i=0;$i<count>getActiveSheet(0)-&gt;setCellValue('A'.($i+3), $list[$i]['id']);             $objPHPExcel-&gt;getActiveSheet(0)-&gt;setCellValue('B'.($i+3), $list[$i]['name']);             $objPHPExcel-&gt;getActiveSheet(0)-&gt;setCellValue('C'.($i+3), $list[$i]['price']);             $objPHPExcel-&gt;getActiveSheet(0)-&gt;setCellValue('D'.($i+3), $list[$i]['stock']);             $objPHPExcel-&gt;getActiveSheet(0)-&gt;setCellValue('E'.($i+3), $list[$i]['main_img_url']);             //$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A'.($i+3).':J'.($i+3))-&gt;getAlignment()-&gt;setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);             //$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A'.($i+3).':J'.($i+3))-&gt;getBorders()-&gt;getAllBorders()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);             $objPHPExcel-&gt;getActiveSheet()-&gt;getRowDimension($i+3)-&gt;setRowHeight(16);         }         //  sheet命名         $objPHPExcel-&gt;getActiveSheet()-&gt;setTitle('订单汇总表');         // Set active sheet index to the first sheet, so Excel opens this as the first sheet         $objPHPExcel-&gt;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-&gt;save('php://output');</count>

TP5引用PHPExcel实现导入导出功能

导入功能控制器的代码

public function daoru(){         $file = $_FILES['upload']['tmp_name'][0];         $data = $this-&gt;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-&gt;load($file);         $sheet = $objPHPExcel-&gt;getSheet(0);         // 取得总行数         $highestRow = $sheet-&gt;getHighestRow();         // 取得总列数         $highestColumn = $sheet-&gt;getHighestColumn();         //循环读取excel文件,读取一条,插入一条         $data=array();         //从第一行开始读取数据         for($j=3;$jgetActiveSheet()-&gt;getCell("$k$j")-&gt;getValue();             }         }         return $data;     }

这里获得excel文件的数据内容,可以循环插入数据库

TP5引用PHPExcel实现导入导出功能

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享