PHP导出数据库数据至Excel
2013-12-12 13:08
399 查看
<?php /** * 导出到excel文件(一般导出中文的都会乱码,需要进行编码转换) * 使用方法如下 * $excel = new Excel(); * $excel->addHeader(array('列1','列2','列3','列4')); * $excel->addBody( array( array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4'), array('数据1','数据2','数据3','数据4') ) ); * $excel->downLoad(); */ class Excel{ private $head; private $body; /** * * @param type $arr 一维数组 */ public function addHeader($arr){ foreach($arr as $headVal){ $headVal = $this->charset($headVal); $this->head .= "{$headVal}\t "; } $this->head .= "\n"; } /** * * @param type $arr 二维数组 */ public function addBody($arr){ foreach($arr as $arrBody){ foreach($arrBody as $bodyVal){ $bodyVal = $this->charset($bodyVal); $this->body .= "{$bodyVal}\t "; } $this->body .= "\n"; } } /** * 下载excel文件 */ public function downLoad($filename=''){ if(!$filename) $filename = date('YmdHis',time()).'.xls'; header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=$filename"); header("Content-Type:charset=gb2312"); if($this->head) echo $this->head; echo $this->body; } /** * 编码转换 * @param type $string * @return string */ public function charset($string){ return iconv("utf-8", "gb2312//IGNORE", $string); } /** * 特殊符号转换 * @param type $string * @return string */ public function htmlcode($value) { //替换空格和换行 $value = str_replace("\n", "<br>", str_replace("\r\n", "<br>",str_replace(" ", " ", $value))); $value = mysql_real_escape_string($value); // 去除斜杠 if (get_magic_quotes_gpc()) { $value = stripslashes($value); } return $value; } } $excel = new Excel(); $excel->addHeader(array('学号','姓名','性别','学院','专业名称','年级','问题1','问题2','问题3','问题4','问题5','问题6','问题7','问题8','问题9','问题10','是否已做问卷(1-已做,0-未做)')); $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); mysql_select_db("survey", $conn); mysql_query("set names 'utf8'"); $sql = "SELECT * FROM info WHERE 1"; $re = mysql_query($sql); while($row = mysql_fetch_array($re)) { $excel->addBody( array( array($row[1],$row[2],$row[3],$row[4],$row[5],$row[6],$row[7],$row[8],$row[9],$row[10],$row[11],$row[12],$row[13],$row[14],$row[15],$row[16],$row[17]) ) ); } $excel->downLoad(); ?>
相关文章推荐
- PHP将Excel导入数据库及数据库数据导出至Excel的方法 亲测
- PHP将操作数据库得到的数据生成Excel导出
- php将数据库数据导出成Excel
- PHP将Excel导入数据库及数据库数据导出至Excel的方法
- PHPexcel数据库导出数据实例
- phpexcel 读取含多个sheet的excel,将从数据库中检索出的数据分别写入该excel不同的sheet中 并导出该excel
- PHP将Excel导入数据库及数据库数据导出至Excel的方法
- PHP从数据库导出数据到excel,无插件(解决中文以及法语乱码问题)
- PHP----从数据库导出数据到表格:PHPExcel
- phpexcel 导出数据库中数据到excel表中
- PHPEXCEL结合MYSQL+PHP实现数据库数据导出EXCEL实例
- PHP将Excel导入数据库及数据库数据导出至Excel的方法
- POI 读取excel导入导出数据到数据库
- JavaWeb中将数据从数据库导出到Excel表的实例
- poi+jdbc实现从数据库中导出表的数据字典结构(单个sheet和多个sheet供你选择),并且生成excel文档,作者:vipyhd
- C# DataGgridView 控件绑定数据库sql server,查询数据,导出到Excel
- 将数据库中的数据按要求导出到excel表中
- PHP导出MySQL数据到Excel文件(fputcsv)
- PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据
- ASP.Net MVC中数据库数据导出Excel,供HTTP下载