前言:对于excel大家肯定熟悉不过了的,那么我们在日常的业务中应该是有对这些文件的导入导出操作的
类的下载:composer require phpoffice/phpexcel,其中Classes文件是核心文件
//导入excel文件文件的读写
//excel导入的方法的后端代码 function import_One() { require "./Classes/PHPExcel/IOFactory.php"; $excelio=PHPExcel_IOFactory::load($_FILES['excel']['tmp_name']); //第一个参数是表单提交的name,第二个是临时名 $sheetcount=$excelio->getSheetCount(); $datas=$excelio->getSheet(0)->toArray(); // 获取第一个sheet数据 unset($datas[0]); // 删除表头名字, echo ""; print_r($datas); //.....接着你就可以操作数据库入库了 } import_One();
//导出前台代码文件的读写
getActiveSheet()->setTitle('sheet_name');//设置表格名称 //设置sheet列头信息 $objPHPExcel->setActiveSheetIndex()->setCellValue('A1', '名字')->setCellValue('B1', '邮箱')->setCellValue('C1', '性别'); //这里是操作数据库查询库中的字段的值(如果数量庞大可以利用框架的批量读取功能) $users=D("User")->limit(10)->Select(); $i=2;//第一行被表头占有了 foreach($users as $v){ //设置单元格的值 $sheets=$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$v['username']); $sheets=$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$v['email']); $sheets=$objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$v['sex']?"男":"女"); $i++; } //整体设置字体和字体大小 $objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial');//整体设置字体 $objPHPExcel->getDefaultStyle()->getFont()->setSize(10);//整体设置字体大小 // $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); //单元格宽度自适应 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); //设置列宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20); //设置列宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20); //设置列宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20); //设置列宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20); //设置列宽度 $objPHPExcel->getActiveSheet()->getStyle('B3')->getFont()->setBold(true); //设置单元格字体加粗 // 输出Excel表格到浏览器下载 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="excel_name.xls"'); //excel表格名称 header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter->save('php://output'); }