PHPExcel导出mysql数据库数据

使用PHPExcel导出文件

首先看看上面的文章,写入方法一样,只是中间多了数据库的操作,后面还有excel浏览器输出。

数据库代码(数据库配置文件自行完成)

<?php
/*db.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());
		}

		public function getResult($sql){
			$resource = mysql_query($sql,$this->conn) or die(mysql_error());
			$res = array();
			while(($row=mysql_fetch_assoc($resource))!=false){
				$res[] = $row;
			}
			return $res;
		}

		public function getUserinfo(){
			$sql = "。。。";
			$res = self::getResult($sql);
			return $res;
		}
	}

数据库导出代码:

<?php
	$dir = dirname(__FILE__);
	require $dir."/db.php";
	require $dir."/PHPExcel.php";

	$db = new db($phpexcel);
	$objPHPExcel = new PHPExcel();

	for($i=0; $i<3; $i++){
		if($i>0){
			$objPHPExcel->createSheet();
		}
		$objPHPExcel->setActiveSheetIndex($i);
		$objSheet = $objPHPExcel->getActiveSheet();
		$data = $db->getUserinfo();

		$objSheet->setCellValue("A1","编号")->setCellValue("B1","登陆名")
				->setCellValue("C1","昵称")->setCellValue("D1","电子邮箱")
				->setCellValue("E1","学校")->setCellValue("F1","最后登陆时间");

		$j = 2;
		foreach ($data as $key => $value) {
			# code...
			$objSheet->setCellValue("A".$j,$value['id'])->setCellValue("B".$j,$value['user_login'])
					->setCellValue("C".$j,$value['user_nicename'])->setCellValue("D".$j,$value['user_email'])
					->setCellValue("E".$j,$value['sch_name'])->setCellValue("F".$j,$value['last_login_time']);
			$j++;
		}
	}

	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,"Excel5");
	// $objWriter->save($dir.'/export.xls'); //生成excel文件
	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'); //excel2003
		}else{
			header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //excel2007
		}
		header('Content-Disposition: attachment;filename="'.$filename.'"');
		header('Cache-Control: max-age=0');
	}

运行截图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-04 06:35:23

PHPExcel导出mysql数据库数据的相关文章

mysqldump导入导出mysql数据库

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

导出Mysql数据库出错:Got error: 145: Table &#39;wp_options&#39; is marked as crashed and should be repaired when using LOCK TABLES的解决方法

mysqldump: Got error: 145: Table 'wp_options' is marked as crashed and should be repaired when using LOCK TABLES 错误如上所示. 今天在给自己的wp网站搬家的时候,导出数据时发现导不出来,报了如上的错误,在网上找了一下资料,说是这张张被标记有问题,需要优化.参考: http://www.cnblogs.com/hakuci/archive/2012/03/20/2407723.html

使用mysqldump导入导出MySQL数据库

数据库的基本导入\导出的命令 是 mysqldump 和 source 在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin 先 来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库 用source 也可以还原 但他导入文件时有大小限制不能超过2M 再来说说 mysqldump 和 source 用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名)

用mysql workbench导出mysql数据库关系图

用mysql workbench导出mysql数据库关系图 1. 打开mysql workbench,选择首页中间"Data Modeling"下方的第二栏"Create EER Model From Existing Database";2. 在"Stored Connection"里选择"Manage Stored Connections...";3. 在Manage DB Connections里选择“New”新建连接,

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

根据字段条件清理mysql数据库数据

根据字段条件清理mysql数据库数据 背景 线上某个数据库有1000个分库的DB,磁盘告警,每个库的大小都不是很大但是加起来就非常大了.手动根据时间字段来清理数据不太现实,于是决定写脚本来删除指定时间以前的数据. 脚本: #/bin/bash ##auth by qunyingliu ## files in xxx     HOST=$1 DBPORT=3306 USER="xxxx" PASSWORD="xxxx" DB_SKIP_CLEAN="mysq

mysql 数据库数据迁移 The user specified as a definer (&#39;root&#39;@&#39;%&#39;) does not exist 解决方法

从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a definer ('montor'@'%') does not exist 经查,是权限问题,解决办法: 运行:grant all privileges on *.* to [email protected]"%" identified by "."; 之后打开视图时便不会报错

mysql 数据库数据订正

mysql 数据库数据订正 http://blog.itpub.net/22664653/viewspace-717175/ 工作过程中时常遇到数据订正的需求,该操作本身不难.操作时要求能够保持回滚~对于能够满足回滚的要求,我通常执行备份表,然后执行变更!如果发送订正错误或者用户要求回滚的时候,就完全恢复整个表,这样做会有多余的操作,因为我们只要 实际上可以选择备份要进行更正的数据!比如如下需求: 将表resource中usage_type='unused' 并且 user_id=166 的记录

Ubuntu上更改MySQL数据库数据存储目录

之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之前的经验用不上了(或者说之前的总结不是太全面),修改完MySQL数据库数据存储目录后重启MySQL,发现MySQL服务无法启动. [email protected]:/etc/mysql/mysql.conf.d# service mysql start   Job for mysql.service fai