数据库导入Exel,输入到浏览器
db.php
<?php
require dirname(__FILE__)."/dbconfig.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编码
}
/**
**根据传入sql语句 查询mysql结果集
**/
public function getResult($sql){
$resource=mysql_query($sql,$this->conn) or die(mysql_error());//查询sql语句
$res=array();
while(($row=mysql_fetch_assoc($resource))!=false){
$res[]=$row;
}
return $res;
}
/**
** 根据传入年级数 查询每个年级的学生数据
**/
public function getDataByGrade($grade){
$sql="select username,score,class from user where grade=".$grade." order by score desc";
$res=self::getResult($sql);
return $res;
} /**
** 查询所有的年级
**/
public function getAllGrade(){
$sql="select distinct(grade) from user order by grade asc";
$res=$this->getResult($sql);
return $res;
} /**
**根据年级数查询所有的班级
**/
public function getClassByGrade($grade){
$sql="select distinct(class) from user where grade=".$grade." order by class asc";
$res=$this->getResult($sql);
return $res;
} /**
**根据年级数班级数查询学生信息
**/
public function getDataByClassGrade($class,$grade){
$sql="select username,score from user where class=".$class." and grade=".$grade." order by score desc";
$res=$this->getResult($sql);
return $res;
}
}
?>
conf.php
<?php
$phpexcel=array(
'host'=>"127.0.0.1",
"username"=>"root",
"password"=>"",
"database"=>"phpexcel",
"charset"=>"utf8"
);
?>
export.php
<?php
$dir=dirname(__FILE__);//查找当前脚本所在路径
require $dir."/db.php";//引入mysql操作类文件
require $dir."./PHPExcel.php";//引入PHPExcel
$db=new db($phpexcel);//实例化db类 连接数据库
$objPHPExcel=new PHPExcel();//实例化PHPExcel类, 等同于在桌面上新建一个excel
for($i=1;$i<=3;$i++){
if($i>1){
$objPHPExcel->createSheet();//创建新的内置表
}
$objPHPExcel->setActiveSheetIndex($i-1);//把新创建的sheet设定为当前活动sheet
$objSheet=$objPHPExcel->getActiveSheet();//获取当前活动sheet
$objSheet->setTitle($i."年级");//给当前活动sheet起个名称
$data=$db->getDataByGrade($i);//查询每个年级的学生数据
$objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数")->setCellValue("C1","班级");//填充数据
$j=2;
foreach($data as $key=>$val){
$objSheet->setCellValue("A".$j,$val['username'])->setCellValue("B".$j,$val['score'])->setCellValue("C".$j,$val['class']."班");
$j++;
}
}
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//生成excel文件
//$objWriter->save($dir."/export_1.xls");//保存文件
browser_export('Excel5','browser_excel03.xls');//输出到浏览器
$objWriter->save("php://output"); function browser_export($type,$filename){
if($type=="Excel5"){
header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
}else{
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
}
header('Content-Disposition: attachment;filename="'.$filename.'"');//告诉浏览器将输出文件的名称
header('Cache-Control: max-age=0');//禁止缓存
} ?>
数据库导入Exel,输入到浏览器的更多相关文章
- 应用控制台应用程序开发批量导入EXEL程序。
一.最近一直在调整去年以及维护去年开发的项目,好久没有在进行个人的博客了.每天抽了一定的时间在研究一些开源的框架,Drapper 以及NHibernate以及当前比较流行的SqlSuper框架 并进行 ...
- MYSQL 数据库导入导出命令
MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serve ...
- C#导入Exel
; try { ]; string[] NoExPrentFile = new string[] { "xls", "xlsx" }; ] || fileTyp ...
- Access数据库导入到SQL Server 2005 Express中
安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...
- MYSQL数据库导入导出(可以跨平台)
MYSQL数据库导入导出.sql文件 转载地址:http://www.cnblogs.com/cnkenny/archive/2009/04/22/1441297.html 本人总结:直接复制数据库, ...
- Oracle数据库——常用命令(用户管理、数据库导入导出)
--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...
- linux系统上Mysql数据库导入导出操作
需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...
- Mysql数据库导入命令Source详解
Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dat ...
- Oracle数据库导入imp命令导入时1659错误处理
今天在自己的电脑上在给数据库导入表结构及数据时报1659错误,错误如下: IMP-00017:由于oracle错误1659,以下语句失败: “create table “T_TELETE” ..... ...
随机推荐
- js的加密和解密
最近在研究js的加密和解密的问题,上网上搜出来很多方法,不过不知道到底哪一个会比较管用.这里是今天找到的一些关于base64加密解密的js代码,已经经过试验,可以使用,不过网上很多加密解密的工具,这种 ...
- Appium基础三:Appium实现原理
1.web自动化测试用的selenium webdriver 是c/s模式,server端和client端是通过webdriver protocol实现的,而Appium是参考selenium开发的, ...
- typedef int status
是个自定义类型的语句,typedef用来定义类型的别名,status i 就相当于int i
- LINQ新添知识
linquser.ExecuteCommand("TRUNCATE TABLE Board"); linquser.ExecuteCommand("DELET ...
- java object默认的基本方法
java object默认的基本方法中没有copy(),含有如下9个方法: getClass(), hashCode(), equals(), clone(), toString(), notify ...
- python爬虫之路——变量和变量类型
变量类型: ①单值:int ②多值:数组 ③复杂:类 变量类型:就是变量的数据结构,表示这个变量所代表的内容的格式是怎样的. (多值)四种基本数据结构: 列表,字典,元组,集合 列表: ①元素可变, ...
- python基础教程总结2——字符串
1.基本操作 序列操作:索引,分片,乘法,判断成员资格,长度,最值...... 注:字符串不可变,分片赋值不合法 2.字符串格式化 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格 ...
- RAC数据库后台进程介绍
在RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的. 10g RAC特有进程:$ ps -ef|grep ora_oracle 4721 ...
- bzoj1037 [ZJOI2008]生日聚会
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
- BFS 简单思想以及代码
BFS(广搜思想) 广度优先搜索 广度优先搜索是图论的搜索算法之一,以下便进行简单叙述 对于每一个顶点来说,都存在着三种颜色 白色,灰色,黑色 而对于每个顶点,都有三种数据类型 颜色类型,前驱或者父节 ...