使用PHPExcel导出数据库表结构及内容
导出表结构:
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导出数据库表结构及内容的更多相关文章
- 利用word宏功能一键导出数据库表结构
前言: 需求是: 为了完成<数据库设计文档>中的表结构展示,需要导出所有的表结构,包括字段名.长度.注释等必要标题. 数据库:MySQL 我选择的方法是——用word的宏功能导出.很多博客 ...
- Sql语句导出数据库表结构及查询表视图储存过程名
--一句Sql把表结构全部查询出来 SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colo ...
- Sql Server 导出数据库表结构的SQL查询语句
--导出数据库所有表 SELECT 表名 Then D.name Else '' End, 表说明 Then isnull(F.value,'') Else '' End, 字段序号 = A.colo ...
- 在sqlserver 中如何导出数据库表结构到excel表格中
先建空白excel--在数据库中的左侧找到该表, 选中需要导出的数据--Ctrl+C复制--打开记事本修改编码格式为Unicode-不自动换行保存--Ctrl+A--Ctrl+C,再打开excel-- ...
- SQLServer2008 导出数据库表结构和数据
很多朋友问到sql server数据库”生成脚本”,只导出了数据库的sql脚本,而表里的数据依然没有导出来.很简单,看教程: 注:我这里用的SQLServer2008,其它版本应该差不多. 一.选中要 ...
- sqlserver 导出数据库表结构
https://www.cnblogs.com/miaomiaoquanfa/p/6909835.html SELECT 表名 = case when a.colorder=1 then d.name ...
- sqlserver 导出数据库表结构和数据生成脚本
- MySQL导出数据库、数据库表结构、存储过程及函数【用】
一.导出数据库 我的mysql安装目录是D:\Program Files\MySQL\MySQL Server 5.5\bin\,导出文件预计放在D:\sql\ 在mysql的安装目录执行命令: my ...
- [mysql] mysqldump 导出数据库表
1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql (2)导出数据库结构 ...
随机推荐
- 负载均衡(nginx、dubbo、zookeeper)
nginx dubbo zookeeper
- 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 ...
- js开发打印证书功能
最近突然被加了要打印证书的功能的需求.其实打印功能很简单,直接调用window.print()就可以打印,只是这是最基本的打印,会打印当前页面的所有元素,而我们要的是局部打印,实现方法: 1.设置好开 ...
- influxdb问题解决
一.influxdb启动不了? 清空数据文件夹: cd /var/lib/influxdb/data rm -rf * 清除完就可以启动了,然后查看/var/lib/influxdb下data和met ...
- Rancher学习笔记-----1.分享链接
http://blog.csdn.net/csdn_duomaomao/article/details/76156334
- centos7下安装docker(15.8docker跨主机容器通信总结)
性能:underlay网络的性能优于overlay.Overlay网络利用隧道技术,将数据包封装到UDP中进行传输,由于涉及数据包的封装和解封,存在额外的CPU和网络的开销,虽然几乎所有overlay ...
- eclipse导入maven项目, A resource exists with a different case: '/xxx'.
eclipse 导入maven 项目出现 这是由于你的workspace里有相同的项目, 这时在metadata里可以看到所有的project信息 只需在eclipse的package explore ...
- 如何征服面试官,拿到Offer [转]
转自 https://my.oschina.net/cccyb/blog/3012768 又到了茶余饭后的时间,想想写点什么,掐指一算,噢呦,快到3月份了,职场的金三银四跳槽季又来了,不同的是今年比往 ...
- C++ 入门[1]
C++编译与执行 主存又称为寄存器,在CPU旁边, 随机访问储存器RAM 即内存
- 转://Oracle undo 自动调优
Oracle 10gr2的后续版本中添加了UNDO信息最短保留时间段自动调优的特性,不再仅仅依据参数UNDO_RETENTION的设定,其调优原则如下:1. 当UNDO TABLESPACE为 fix ...