搜索
系统检测到您的用户名不符合规范:

thinkphp3.2结合PHPExcel导出数据库里所有表的结构

浏览:2234 发布日期:2014年10月31日 分类:用法示例 关键字: 表结构 数据字典
thinkphp3.2结合PHPExcel导出数据库里所有表的结构,含注释
先看图


一、控制器代码如下: public function out(){
$sql="show tables";//读取库里所有的表

$result=M()->query($sql);

foreach ($result as $k => $v) {
$k++;
$_sql="SHOW FULL COLUMNS FROM ".$v['Tables_in_'.C('DB_NAME')];
$data[][0]=array("表 {$k}.{$v['Tables_in_test']} 表",'','','','','','');
$data[][1]=array("字段","类型","校对","NULL","键","默认","额外","权限","注释");
$data[]=M()->query($_sql);
$data[][]=array();

}

//导入PHPExcel类库
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Writer.Excel5");
import("Org.Util.PHPExcel.IOFactory.php");

$filename="test_excel";
$headArr=array("ID","字段","类型","NULL","键","默认","额外","注释");
$this->getExcel($filename,$headArr,$data);
}


private function getExcel($fileName,$headArr,$data){
//对数据进行检验
if(empty($data) || !is_array($data)){
die("data must be a array");
}
$date = date("Y_m_d",time());
$fileName .= "_{$date}.xls";

//创建PHPExcel对象,注意,不能少了\
$objPHPExcel = new \PHPExcel();
$objProps = $objPHPExcel->getProperties();

//设置表头
$key = ord("A");
$column = 2;
$objActSheet = $objPHPExcel->getActiveSheet();

foreach ($data as $ke => $row) {
foreach($row as $key => $rows){ //行写入
$span = ord("B");
foreach($rows as $keyName=>$value){// 列写入
$j = chr($span);
$objActSheet->setCellValue($j.$column, $value);
$span++;
}
$column++;
}
}

$fileName = iconv("utf-8", "gb2312", $fileName);
//设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=\"$fileName\"");
header('Cache-Control: max-age=0');

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //文件通过浏览器下载
exit;
}
二、下载附件,把里面的文件及文件夹放到tp的核心目录 ThinkPHP\Library\Org\Util 下

三、数据库的配置项自行配置

四、访问out方法,就可以导出excel表了

五、想要更多的功能自行修改. OVER
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
ghzz789
积分:7425 等级:LV5
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /