使用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)导出数据库结构 ...
随机推荐
- php中jpgraph库的使用
用Jpgraph,只要了解它的一些内置函数,可以轻松得画出折线图.柱形图.饼状图等图表. 首先要保证PHP打开了Gd2的扩展: 打开PHP.ini,定位到extension=php_gd2.dll,把 ...
- LeetCode算法题-Binary Tree Level Order Traversal II(Java实现)
这是悦乐书的第165次更新,第167篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第24题(顺位题号是107).给定二叉树,返回其节点值的自下而上级别顺序遍历(即从左到右 ...
- Linux 小知识翻译 - 「补丁」(patch)
这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者 ...
- 《Java大学教程》—第19章 改进用户界面
用户与程序交互的媒介称为用户界面(user interface)或人机界面(human-computer interface). 19.2 Border接口8个实现Border接口的标准边框类: ...
- 为什么react的组件要super(props)
https://segmentfault.com/q/1010000008340434
- 解决:Vue刷新/载入页面,出现双括号闪现后消失
https://cn.vuejs.org/v2/api/#v-cloak v-cloak 不需要表达式 用法: 这个指令保持在元素上直到关联实例结束编译.和 CSS 规则如 [v-cloak] { d ...
- (转)Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
http://www.ityouknow.com/springboot/2018/05/03/spring-boot-commandLineRunner.html 在我们实际工作中,总会遇到这样需求, ...
- node基础—global对象(全局对象)
global对象的__filename属性和__dirname属性 __filename属性:返回当前执行的文件的文件路径,该路径是经过解析后的绝对路径,在模块中,该路径是模块文件的路径,此属性并非全 ...
- nginx + uwsgi 部署 Django+Vue项目
nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...
- DBCA静默方式建库
使用DBCA的图形方式建库实在有诸多不便,但是使用静默方式建库就比较方便了,一个命令即可搞定. 使用dbca安装oracle数据库实例也有差不多两种方法:一种就是根据模板文件进行安装,在上文中提到了在 ...