导出表结构:

mysql> desc user ;
+----------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(20) | NO | | NULL | |
| sex | char(10) | YES | | male | |
| intro | varchar(500) | YES | | NULL | |
| birthday | timestamp | NO | | 2018-04-18 08:15:30 | |
+----------+--------------+------+-----+---------------------+----------------+
5 rows in set (0.02 sec)

  要导出上面这种表结构,可以使用如下代码:

<?php
define("DIR",dirname(__FILE__));
include DIR."/PHPExcel/PHPExcel.php"; $mysqli = new Mysqli("127.0.0.1","root","123456","test");
$mysqli_result = $mysqli->query("desc user");
//为了防止取出的数据的字段位置改变,优先使用关联数组形式
$res = $mysqli_result->fetch_all(MYSQLI_ASSOC); $objExcel = new PHPExcel(); $objSheet = $objExcel->getActiveSheet();
$objSheet->setTitle("demo"); $objSheet->setCellValue("A1","Field")->setCellValue("B1","Type")
->setCellValue("C1","Null")->setCellValue("D1","Key")
->setCellValue("E1","Default")->setCellValue("F1","Extra"); foreach($res as $k=>$v){
$index = $k + 2;//注意一下,是从2开始
$objSheet->setCellValue("A".$index,$v["Field"])->setCellValue("B".$index,$v["Type"])
->setCellValue("C".$index,$v["Null"])->setCellValue("D".$index,$v["Key"])
->setCellValue("E".$index,$v["Default"])->setCellValue("F".$index,$v["Extra"]);
} $objWriter = PHPExcel_IOFactory::createWriter($objExcel,"Excel2007"); $objWriter->save(DIR."/demo.xlsx");
?>

  命令行运行之后,Excel表格内容如下:

  有一点要注意,如果一个字段的默认值是NULL,那么上面可以看到,是没有写入的,可以通过下面的方法完成。

  

导出表内容

  其实导出表的内容和导出表的结构,过程是一样的,基本没变化,只需要改一下SQL语句即可。

使用PHPExcel导出数据库表结构及内容的更多相关文章

  1. 利用word宏功能一键导出数据库表结构

    前言: 需求是: 为了完成<数据库设计文档>中的表结构展示,需要导出所有的表结构,包括字段名.长度.注释等必要标题. 数据库:MySQL 我选择的方法是——用word的宏功能导出.很多博客 ...

  2. Sql语句导出数据库表结构及查询表视图储存过程名

    --一句Sql把表结构全部查询出来 SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colo ...

  3. Sql Server 导出数据库表结构的SQL查询语句

    --导出数据库所有表 SELECT 表名 Then D.name Else '' End, 表说明 Then isnull(F.value,'') Else '' End, 字段序号 = A.colo ...

  4. 在sqlserver 中如何导出数据库表结构到excel表格中

    先建空白excel--在数据库中的左侧找到该表, 选中需要导出的数据--Ctrl+C复制--打开记事本修改编码格式为Unicode-不自动换行保存--Ctrl+A--Ctrl+C,再打开excel-- ...

  5. SQLServer2008 导出数据库表结构和数据

    很多朋友问到sql server数据库”生成脚本”,只导出了数据库的sql脚本,而表里的数据依然没有导出来.很简单,看教程: 注:我这里用的SQLServer2008,其它版本应该差不多. 一.选中要 ...

  6. sqlserver 导出数据库表结构

    https://www.cnblogs.com/miaomiaoquanfa/p/6909835.html SELECT 表名 = case when a.colorder=1 then d.name ...

  7. sqlserver 导出数据库表结构和数据生成脚本

  8. MySQL导出数据库、数据库表结构、存储过程及函数【用】

    一.导出数据库 我的mysql安装目录是D:\Program Files\MySQL\MySQL Server 5.5\bin\,导出文件预计放在D:\sql\ 在mysql的安装目录执行命令: my ...

  9. [mysql] mysqldump 导出数据库表

    1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql (2)导出数据库结构 ...

随机推荐

  1. 负载均衡(nginx、dubbo、zookeeper)

    nginx dubbo zookeeper

  2. February 23rd, 2018 Week 8th Friday

    It takes a strong man to save himself, and a great man to save another. 强者自救,圣者渡人. When you are not ...

  3. js开发打印证书功能

    最近突然被加了要打印证书的功能的需求.其实打印功能很简单,直接调用window.print()就可以打印,只是这是最基本的打印,会打印当前页面的所有元素,而我们要的是局部打印,实现方法: 1.设置好开 ...

  4. influxdb问题解决

    一.influxdb启动不了? 清空数据文件夹: cd /var/lib/influxdb/data rm -rf * 清除完就可以启动了,然后查看/var/lib/influxdb下data和met ...

  5. Rancher学习笔记-----1.分享链接

    http://blog.csdn.net/csdn_duomaomao/article/details/76156334

  6. centos7下安装docker(15.8docker跨主机容器通信总结)

    性能:underlay网络的性能优于overlay.Overlay网络利用隧道技术,将数据包封装到UDP中进行传输,由于涉及数据包的封装和解封,存在额外的CPU和网络的开销,虽然几乎所有overlay ...

  7. eclipse导入maven项目, A resource exists with a different case: '/xxx'.

    eclipse 导入maven 项目出现 这是由于你的workspace里有相同的项目, 这时在metadata里可以看到所有的project信息 只需在eclipse的package explore ...

  8. 如何征服面试官,拿到Offer [转]

    转自 https://my.oschina.net/cccyb/blog/3012768 又到了茶余饭后的时间,想想写点什么,掐指一算,噢呦,快到3月份了,职场的金三银四跳槽季又来了,不同的是今年比往 ...

  9. C++ 入门[1]

    C++编译与执行 主存又称为寄存器,在CPU旁边, 随机访问储存器RAM 即内存

  10. 转://Oracle undo 自动调优

    Oracle 10gr2的后续版本中添加了UNDO信息最短保留时间段自动调优的特性,不再仅仅依据参数UNDO_RETENTION的设定,其调优原则如下:1. 当UNDO TABLESPACE为 fix ...