PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据
现在数据库里面有一组数据,我们将它按照不同的难度进行分sheet.

首先我们需要写一个mysql的配置文件- db.config.php(utf-8编码) :
<?php
$dbconfig= array(
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'database' => 'xxx',
'charset' => 'utf8'
);
?>
再创建一个php操作mysql数据库的文件 db.php(utf-8编码):
<?php
require dirname(__FILE__).'/db.config.php'; //引入配置文件
class db {
public $conn = null;
public function __construct($config){ //构造方法 实例化类时自动调用
$this->conn = mysql_connect($config['host'],$config['username'],$config['password']) or die (mysql_error()); //链接数据库
mysql_select_db($config['database'],$this->conn) or die (mysql_error()); //选择数据库
mysql_query('set names '.$config['charset']) or die (mysql_error()); //设定mysql编码
}
public function getResult($sql){
$resource = mysql_query($sql,$this->conn) or die (mysql_error()); //查询sql语句
$res = array();
while($row=mysql_fetch_assoc($resource)){
$res[] = $row;
}
return $res;
}
public function getDataByApply($n){
$sql = 'select id,name,description from cp_schools where apply='.$n.'order by id desc';
$res = self::getResult($sql);
return $res;
}
}
?>
准备工作差不多了,那么开始编写导出mysql数据的代码。创建文件 export.php(utf-8编码):
<?php
$dir = dirname(__FILE__); //查找当前脚本所在路径
require $dir.'/db.php'; //引入mysql操作类文件
require $dir.'/PHPExcel/PHPExcel.php'; //引入PHPExcel
$db = new db($config); //实例化db类 链接数据库
$objPHPExcel = new PHPExcel(); //实例化PHPExcel类,等同于在桌面上新建一个excel
for($i=0;$i<=3;$i++){
//由于PHPExcel默认会创建一个序号为0的内置Sheet
if($i>0){
$objPHPExcel->createSheet(); //创建新的内置表
}
$objPHPExcel->setActiveSheetIndex($i); //把新创建的sheet设定为当前活动sheet
$objSheet = $objPHPExcel->getActiveSheet(); //获取当前活动sheet
$objSheet->setTitle('难度'.$i); //给当前活动sheet取个名称
$data = $db->getDataByApply($i); //查询不同难度的院校
$objSheet->setCellValue('A1','编号')->setCellValue('B1','名称')->setCellValue('C1','描述'); //填充数据
$j=2;
foreach($data as $key=>$val){
$objSheet->setCellValue('A'.$j,$val['id'])->setCellValue('B'.$j,$val['name'])->setCellValue('C'.$j,$val['description']);
$j++;
}
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); //生成excel文件
$objWriter->save($dir.'/export_mysql.xls'); //保存文件
?>
最后,输出至浏览器:
<?php
require dirname(__FILE__).'db.config.php'; //引入配置文件
class db {
public $conn = null;
public function __construct($config){ //构造方法 实例化类时自动调用
$this->conn = mysql_connect($config['host'],$config['username'],$config['password']) or die (mysql_error()); //链接数据库
mysql_select_db($config['database'],$this->conn) or die (mysql_error()); //选择数据库
mysql_query('set names'.$config['charset']) or die (mysql_error()); //设定mysql编码
}
public function getResult($sql){
$resource = mysql_query($sql,$this->conn) or die (mysql_error()); //查询sql语句
$res = array();
while($row=mysql_fetch_assoc($resource)){
$res[] = $row;
}
return $res;
}
public function getDataByApply($n){
$sql = 'select id,name,description from cp_schools where apply='.$n.'order by id desc';
$res = self::getResult($sql);
return $res;
}
}
?>
准备工作差不多了,那么开始编写导出mysql数据的代码。创建文件 export.php(utf-8编码):
<?php
$dir = dirname(__FILE__); //查找当前脚本所在路径
require $dir.'/db.php'; //引入mysql操作类文件
require $dir.'/PHPExcel/PHPExcel.php'; //引入PHPExcel
$db = new db($config); //实例化db类 链接数据库
$objPHPExcel = new PHPExcel(); //实例化PHPExcel类,等同于在桌面上新建一个excel
for($i=0;$i<=3;$i++){
//由于PHPExcel默认会创建一个序号为0的内置Sheet
if($i>0){
$objPHPExcel->createSheet(); //创建新的内置表
}
$objPHPExcel->setActiveSheetIndex($i); //把新创建的sheet设定为当前活动sheet
$objSheet = $objPHPExcel->getActiveSheet(); //获取当前活动sheet
$objSheet->setTitle('难度'.$i); //给当前活动sheet取个名称
$data = $db->getDataByApply($i); //查询不同难度的院校
$objSheet->setCellValue('A1','编号')->setCellValue('B1','名称')->setCellValue('C1','描述'); //填充数据
$j=2;
foreach($data as $key=>$val){
$objSheet->setCellValue('A'.$j,$val['id'])->setCellValue('B'.$j,$val['name'])->setCellValue('C'.$j,$val['description']);
$j++;
}
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); //生成excel文件
browser_export('Excel5','brower_excel03.xls'); //输出到浏览器
$objWriter->save('php://output');
//输出至浏览器 代码 首先找到下载的PHPExcel->Examples->01simple-download-xls.php 或者 01simple-download-xlsx.php
//这里的两个文件分别是教会我们如何将 Excel5 和 Excel2007 输出至浏览器的代码
function browser_export($type,$filename){
if($type == 'Excel5'){
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel'); //告诉浏览器将要输出excel03文件
header('Content-Disposition: attachment;filename="'.$filename.'"'); //告诉浏览器将要输出文件的名称
header('Cache-Control: max-age=0'); //禁止浏览器缓存
} else if($type == 'Excel2007') {
// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //告诉浏览器将要输出excel07文件
header('Content-Disposition: attachment;filename="'.$filename.'"'); //告诉浏览器将要输出文件的名称
header('Cache-Control: max-age=0'); //禁止浏览器缓存
}
}
?>
PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据的更多相关文章
- PHP导出MySQL数据到Excel文件
PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存 ...
- linux下导入、导出mysql数据库命令 下载文件到本地
一.下载到本地 yum install lrzsz sz filename 下载 rz filename 上传 linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命 ...
- navicat如何导出mysql数据表结构
我们在创建数据库时会对字段进行设置,比如类型.长度等,如果字段多的话一个个设置非常麻烦,可以从其他地方已有的表导入数据表结构,怎么操作呢?我们拿navicat导出mysql数据表结构为例: 1.点击“ ...
- PHP导出MySQL数据到Excel
经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CS ...
- linux、windows下导入、导出mysql数据库命令
一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构:[不是mysql里的命令]mysqldump -u用户名 -p密码 数据库名 > 数据 ...
- linux下导入、导出mysql数据库命令
一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr ...
- (转)linux下导入、导出mysql数据库命令
原文链接:http://www.xiaohuai.com/2902 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用 ...
- linux下导入、导出mysql数据库命令的实现方法
首先建空数据库 mysql>create database abc; 导入数据库 mysql>use abc; 设置数据库编码 mysql>set names utf8; 导入数据( ...
- linux下导入、导出mysql 数据库命令
一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/lo ...
随机推荐
- 简单的Excel导入(上传、解析、持久化)
/** * excel导入 * @param req * @param resp * @return */ public void excelImport(){ //先将要上传的Excel文件上传到项 ...
- iOS - 代码规范的提示
我们在些程序时会发现苹果里面有好多非常好的提示 比如: 1.每次SDK升级后 一些方法的方法已经过时了,这时候会给你提示描述该方法已经过期(作用:1.兼顾老版本 2.给开发者一个提示) 2.有时候项目 ...
- .NET 正则表达式使用高级技巧之替换类介绍
因为.net的基本正则语法和Perl5基本相同,所以基本语法你可以去下载一下M$的JS帮助文档,上面有详细的说明 \d表示什么,{,}表示什么,\[表示什么……,这里我只想提醒大家一点,为了避免和反向 ...
- Eclipse安装php插件phpeclipse(转)
1.PHPEclipse是Eclipse的一个用于开发PHP的插件.官网下载地址:http://sourceforge.net/projects/phpeclipse/下载解压后,将features和 ...
- jquery.flot.js简介
JQuery图表插件之Flot Flot是一个Jquery下图表插件,具有简单使用,交互效果,具有吸引力外观特点.目前支持 Internet Explorer 6+, Chrome, Firefox ...
- Shell xargs
from here 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm + ...
- Trie树的分析与实现
字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的 ...
- CSS3 渐变效果
CSS3 渐变效果 background-image: -moz-linear-gradient(top, #8fa1ff, #3757fa); /* Firefox */ background-im ...
- LeetCode 41 First Missing Positive(找到数组中第一个丢失的正数)
题目链接: https://leetcode.com/problems/first-missing-positive/?tab=Description 给出一个未排序的数组,求出第一个丢失的正数. ...
- pip安装python包出现Cannot fetch index base URL http://pypi.python.org/simple/
pipinstall***安装python包,出现 Cannot fetch index base URL http://pypi.python.org/simple /错误提示或者直接安装不成功. ...