第一,先查出数据库里面要生成Excel的数据,如:

$data= M('User')->findAll();   //查出数据
$name='Excelfile';    //生成的Excel文件文件名
$res=service('ExcelToArrary')->push($data,$name);

 

第二,ExcelToArrary类,用来引用phpExcel并处理数据的   

class ExcelToArrary extends Service{

       public function __construct() {

              /*导入phpExcel核心类    注意 :你的路径跟我不一样就不能直接复制*/
include_once('./Excel/PHPExcel.php');
} /* 导出excel函数*/
public function push($data,$name='Excel'){ error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
$objPHPExcel = new PHPExcel(); /*以下是一些设置 ,什么作者 标题啊之类的*/
$objPHPExcel->getProperties()->setCreator("转弯的阳光")
->setLastModifiedBy("转弯的阳光")
->setTitle("数据EXCEL导出")
->setSubject("数据EXCEL导出")
->setDescription("备份数据")
->setKeywords("excel")
->setCategory("result file");
/*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
foreach($data as $k => $v){ $num=$k+1;
$objPHPExcel->setActiveSheetIndex(0) //Excel的第A列,uid是你查出数组的键值,下面以此类推
->setCellValue('A'.$num, $v['uid'])
->setCellValue('B'.$num, $v['email'])
->setCellValue('C'.$num, $v['password'])
} $objPHPExcel->getActiveSheet()->setTitle('User');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$name.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}

 

第三

最新文章

  1. 机器学习——支持向量机(SVM)之拉格朗日乘子法,KKT条件以及简化版SMO算法分析
  2. 【读书笔记《Bootstrap 实战》】6.单页营销网站
  3. Nancy总结(二)记一次Nancy 框架中遇到的坑
  4. [深入浅出Windows 10]QuickCharts图表控件库解析
  5. setAttribute()和getAttibute(),getParameter()
  6. python遍历数据
  7. Java Web目录
  8. Apache开启Gzip压缩设置(转)
  9. '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "AttentionController" nib but the view outlet was not set.'
  10. window配置临时环境变量
  11. Windows上安装配置SSH教程(3)——在Windows系统上安装与配置WinSCP
  12. with原理__enter__、__exit__
  13. input实现上传
  14. 让windows10的右键菜单既显示传统cmd又显示powershell
  15. 设计模式之状态模式(State )
  16. .NET 控制Windows文件和目录访问权限研究(FileSystemAccessRule)
  17. Linux mmc framework2:基本组件之mmc
  18. 分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
  19. ITIL也玩“太极拳”
  20. IIS7配置伪静态把后缀名映射为html方案

热门文章

  1. ASP.NET MVC 4.0 学习2-留言板實現
  2. Azure上A/D系列虚拟机到DS系列迁移(2)
  3. 51单片机实现对24C02进行页写、顺序读取并显示验证
  4. UESTC_树上的距离 2015 UESTC Training for Graph Theory<Problem E>
  5. javac命令详解(下)
  6. Unity扩展 自定义事件Send组件
  7. 一些常用运行命令和CMD命令
  8. DataReader、Table、DataSet和Entity相互转化
  9. 第一个Spring MVC程序
  10. MPreview.js