安装扩展之类的就不说了,直接说怎么使用

读取数据

  1. //首先读取文件 一般这样就可以了
  2. $obj = PHPExcel_IOFactory::Load($file);
  3. //不过有时候会执行到这,卡住运行不下去,可能是在文件里出现了特殊的符号之类的问题,使用下面的
  4. $inputFileType = PHPExcel_IOFactory::identify($file);
  5. $objReader = PHPExcel_IOFactory::createReader($inputFileType);
  6. $objReader->setReadDataOnly(true);
  7. $obj = $objReader->Load($file);
  1. //获取表格的数量
  2. $Sheetcount = $obj->getSheetCount();
  3. //读取表格数据 序号从0开始
  4. $Info = $obj->getSheet(1);
  1. //获取单元表的数据行数
  2. $rows = $Info->getHighestRow();
  3. //获取单元格数据 横纵坐标
  4. //getValue 获取值 不是最终展示的值,可能是公式之类,
  5. //getFormattedValue 获取的是最终值 string 类型的
  6. //getCalculatedValue 获取的是最终值 最终数据的类型
  7. $data=$Info->getCell('A' . 1)->getValue();

导入数据

  1. //一开始的操作 啦啦啦一大堆
  2. $obj = new \PHPExcel();
  3. $obj->getProperties()->setCreator(''); //设置创建者
  4. $obj->getProperties()->setLastModifiedBy(''); //设置修改者
  5. $obj->getProperties()->setTitle(''); //设置标题
  6. $obj->getProperties()->setSubject(''); //设置主题
  7. $obj->getProperties()->setDescription(''); //设置描述
  8. $obj->getProperties()->setKeywords(''); //设置关键词
  9. $obj->getProperties()->setCategory(''); //设置类型
  1. //创建一张工作表
  2. //需要需要从0开始,不能跳着来
  3. $obj->setActiveSheetIndex(0);
  4. //工作表名字
  5. $obj->getActiveSheet()->setTitle('第一张表');
  1. //设置数据 也是横纵坐标
  2. $obj->getActiveSheet()->setCellValue('A'.'1', $value);
  3. //单元格长度 整个A列
  4. $obj->getActiveSheet()->getColumnDimension('A')->setWidth(20);
  5. //设置边框
  6. $border = array(
  7. 'borders' => array(
  8. 'allborders' => array(//设置全部边框
  9. 'style' => \PHPExcel_Style_Border::BORDER_THIN //粗细
  10. ),
  11. ),
  12. );
  13. //初始坐标加最终坐标
  14. $obj->getActiveSheet()->getStyle('A1:W20')->applyFromArray($border);
  15. //自动换行 初始坐标加最终坐标
  16. $obj->getActiveSheet()->getStyle("A1:W1")->getAlignment()->setWrapText(TRUE);
  17. $obj->getActiveSheet()->getStyle('A1:W1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
  18. //加粗
  19. $obj->getActiveSheet()->getStyle('A1:W1')->getFont()->setBold(true);
  20. //填充颜色
  21. $obj->getActiveSheet()->getStyle('A1:W1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  22. $obj->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('87CEFA');
  1. //最后导出数据
  2. //清空缓存区,不知道需要不需要
  3. ob_clean();
  4. //一堆header头 文件名
  5. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  6. header('Content-Disposition: attachment;filename="' . $file . '.xlsx');
  7. header('Cache-Control: max-age=1');
  8. //最后
  9. $objWriter = \PHPExcel_IOFactory::createWriter($obj, 'Excel2007');
  10. $objWriter->save('php://output');
  11. exit;
  12. //这个是直接下载的,不保存,也可以保存在本地,然后返回地址下载