PHP导出Mysql数据到Excel

临时需要将Mysql中一张表导出成Excel表格,有个phpexcel的插件可以用,我觉得有点麻烦,况且我是临时要备份的,就直接自己写了。

<?php
/*连接数据库*/
 $DB_Server = "ServerIP";
 $DB_Username = "UserName";
 $DB_Password = "PassWord";
 $DB_DBName = "DBname";  //目标数据库名
$DB_TBLName = "TableName";  //目标表名

$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn‘t connect.");
 mysql_query("set names utf8"); 

$savename = date("YmjHis"); //导出excel文件名
$file_type = "vnd.ms-excel";
 $file_ending = "xls";
 header("Content-Type: application/$file_type;charset=utf-8");
 header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
header("Pragma: no-cache"); 

/*写入备注信息*/
 $now_date = date("Y-m-j H:i:s");
 $title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";
 echo iconv("utf-8","gbk",$title)."\n"; 

/*查询数据库*/
 $sql = "Select * from $DB_TBLName";
 $ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn‘t select database");
 $result = @mysql_query($sql,$Connect) or die(mysql_error()); 

/*写入表字段名*/
for ($i = 0; $i < mysql_num_fields($result); $i++) { 

  echo mysql_field_name($result,$i) . "\t";
 }
 echo "\n";

/*写入表数据*/
 $sep = "\t";
 while($row = mysql_fetch_row($result)) {
  $data = "";
   for($i=0; $i<mysql_num_fields($result);$i++) {
    if(!isset($row[$i]))
     $data .= "NULL".$sep; //处理NULL字段
   elseif ($row[$i] != ""){
     $datmp=iconv("utf-8", "gbk",$row[$i]);
     $data .= $datmp.$sep;
   }
    else
     $data .= "".$sep; //处理空字段
  }
  echo $data."\n";
 }
 ?> 

好了,这样直接访问这个php文件就可以将指定的表中数据导出了。

时间: 2024-12-16 01:59:19

PHP导出Mysql数据到Excel的相关文章

PHP导出MySQL数据到Excel文件

PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. ? 1 <br><!--?php// 输出Excel文件头,可把user.csv换成你要的文件名header('Content-Type: application/vnd.ms-excel');he

linux下导入、导出mysql数据库命令 下载文件到本地

一.下载到本地 yum install lrzsz sz filename  下载 rz filename  上传 linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 2.只导出表

使用poi导出大量数据到excel遇到的问题

最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完,前台页面就已经崩掉了. 解决思路:接收到前台导出excel请求之后,开一个线程,在线程里进行数据的写入和将写入完成的excel保存到服务器中等耗时操作,前台定时发送ajax请求检测是否已经导出完成,如果完成则提供一个下载链接到前台供用户下载. 想到解决思路之后,自己写了一个小demo,顺便学习下利

winform导出dataviewgrid数据为excel的方法

本文实例讲述了winform导出dataviewgrid数据为excel的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 导出dataViewGrid视图中的数据为xls格式 private void btnExportList_Click(object sender, EventArgs e) { string fname = string.Empty; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter =

.NET使用Office Open XML导出大量数据到 Excel

我相信很多人在做项目的都碰到过Excel数据导出的需求,我从最开始使用最原始的HTML拼接(将需要导出的数据拼接成TABLE标签)到后来happy的使用开源的NPOI, EPPlus等开源组件导出EXCEL,但不久前,我在一个项目碰到一个需求:要将几个分别有近60多万的数据源导出到Excel中,我们先不要讨论这个需求本身是否合理,客户就是要这样.我先后用NPOI和EPPlus,都发现同一个问题:OutOfMemoryException,我电脑12G内存居然不够用? 的确内存溢出了,但内存还剩下好

navicat如何导出mysql数据表结构

我们在创建数据库时会对字段进行设置,比如类型.长度等,如果字段多的话一个个设置非常麻烦,可以从其他地方已有的表导入数据表结构,怎么操作呢?我们拿navicat导出mysql数据表结构为例: 1.点击“工具”–>数据传输. 2.在弹出的窗口里左边可以选择需要导出的表,右边选择连接或文件(我要导出sql文件,所以我选的是文件)选择导出的位置. 3.如果只是想导出表结构而不需要表的数据,那么点击“高级”–>把“插入记录”前的勾去掉.如果需要导出数据,那么默认打勾就可以, 4.点击开始,直到进度条走到

POI 导出大批量数据的Excel

POI作为操作Excel的三方库应用广泛,本文着重讨论导出大批量数据的Excel的处理,版本为4.1.0: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> 使用HSSFWorkbook进行导出,示例代码如下,代码中导出5万行20列的

导出数据库数据制成Excel和txt

引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ICShaepCode.SharpZipLib; using ICShaepCode.SharpZipLib.Zip; using ICShaepCode.SharpZip

excel数据 入库mysql 和 mysql数据 导入excel文件

1.excel数据入库mysql 首先准备excel文件, 标红的地方需要留意,一个是字段名所在行,一个表名对应页: 然后私用mysql工具 navicat, 选择数据库,然后导入文件, 选中相应execl文件,即可导入. 栏位名行  对应excel文件中,字段名所在的行. 第一个数据行  对应excel文件中,第一行数据所在的行. ----------------------------------------------------------------------------------