MySQL 要导出成 excel 文件很简单,执行类似这样的命令:

 
select * from 某个表 into outfile  'd:/文件名.xls';
 
上述命令你在服务器上执行,就导在服务器 D: 盘,若在客户端命令行方式执行,就导在客户端 D
 
:盘 ,若在客户端通过 POST 方式执行,则导在服务器 D:盘。能导成功的大前提是你有登录权限
 
,要有 select 权限,而且还要有 file 权限,如果没有 file 权限,你将无法执行 select 
 
....into outfile 和 load data infile .... 之类的操作。
 
 
至于加一个按钮,点击一下提示保存为 excel 文件,我想你可能指的是在网页上吧?如果在网页上
 
,对 MySQL 的操作一般被屏蔽在后面了,一般都是通过服务器端脚本语言(PHP,JSP,ASP之类的)去
 
操作 MySQL,下面分别以 PHP 和JavaScript 为例,将数据库查询结果保存为 xls 的方法(两种办
 
法我都实践过,是可行的):
 
1.PHP 方法:
调用 header() 函数,参数如下:
header("content-type:application/msexcel");
header("content-disposition:filename=file001.xls");
 
这两个函数放在 PHP 文件中执行数据库查询操作之前。
 
一般,数据库查询操作结束后,可通过 echo(),printf() 之类的函数将查询结果展示给客户端,如
 
果在执行数据库操作之前加了上述两行,则客户端将不再显示结果,而是出现一个下载并保存为 xls 
 
的对话框,路径与文件名可以自由选择。按钮<input type=button ...> 或链接<a href=...>你可以
 
放在第 1 页,将其指向第2页,第1页用来向客户端显示结果,第2页(PHP文件)放上上述两行,然
 
后写上连接数据库并执行与第1页相同的查询操作的代码。这样你在第1页上点击此链接就会跳出一个
 
下载并保存为 xls 的对话框,保存的内容就是你在第 1 页上看到的查询结果,保存格式为 xls,保
 
存后你可用 Excel 打开它进行操作。
 
 
PHP 是服务器端脚本,用上述办法实际上同样的数据结果从服务端向客户端传了两次,第一次用来显
 
示,第二次用来打包成 xls 文件供下载。
 
2.JavaScript 方法:
 
首先在数据所在页面的 <head> 部分定义一个 JS 函数:
 
<head>
<script language="javascript">
 
function xSaveAsxls( xResult , xFileName ){
var ow=window.open();
with(ow){
  document.write(Result);
  document.execCommand('Saveas', true, xFileName);
  close();
}
}
</script>
 
</head>
 
然后在展示数据的 <table> 之前放上 <div id=div_id>,在</table>之后放上</div>。
 
然后在下面做一个按钮:
<input type="button" value="保存为 Excel 文件" onclick=xSaveAsxls
 
(document.all.div_id.innerHTML,'filename.xls')> 
 
这样就行了,这个显示为“保存为 Excel 文件”,你点击它就弹出一个保存对话框,保存的内容就
 
是数据结果集,格式为 xls 。
 
JS 是浏览器端脚本,用这种办法将显示结果保存为 xls ,其数据从服务器向客户端只传一次,节省
 
传输资源。
 
 
另外还有一种办法就是考虑将查询结果集由 PHP 传递给 JS 数组变量,由其带到客户端,然后调用
 
FileObjectSystem 进行操作,这只是个思路,我没去实践过。
 
不当之处请指正。
 
 
如果有乱码问题:可以使用如下语句
select  convert(dname using gb2312),email from d_dealerinfo  into outfile  'd:/d.xls';
其中dname 是中文的

MySQL要导出成excel的方法的更多相关文章

  1. php将数据库导出成excel的方法

    <?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($ ...

  2. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...

  3. Extjs — Grid数据导出成Excel

    最近因为项目问题,需要解决Extjs导出成Excel的问题. 下面简单描述这个问题解决的步骤如下: 1.先在js文件里写了一个button的handler事件,通过点击按钮,来实现调用ExportEx ...

  4. HTML Table导出为Excel的方法

    HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type" ...

  5. GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏

    GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏 GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有&q ...

  6. Mysql导入导出大量数据的方法、备份恢复办法

    经常使用PHP+Mysql的朋友一般都是通过phpmyadmin来管理数据库的.日常的一些调试开发工作,使用phpmyadmin确实很方便.但是当我们需要导出几百兆甚至几个G的数据库时,phpmyad ...

  7. 如何将mysql表结构导出成Excel格式的(并带备注)另附转为word表格的方法

    方法一: 1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去. 方法二: 1.以下用的 ...

  8. [转]如何将mysql表结构导出成Excel格式的(并带备注)

    方法一: 1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去. 方法二: 1.以下用的 ...

  9. 如何将mysql表结构导出成Excel格式的(并带备注)

    http://www.liangchan.net/liangchan/4561.html 1.使用一个mysql管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想 ...

随机推荐

  1. POJ 1062 昂贵的聘礼详解最短路变形

    POJ上难得一见的中文题…… 思路:建立一个以0为源点的地图,那么Map[0][n]的值代表 第n号物品的价值,Map[i][j]代表用 j  替代 i 后,物品j的价值.我们认为酋长的承诺为节点 ‘ ...

  2. Android 自定义 SpinnerButton(转)

    Android 自定义 SpinnerButton 模仿Android4.0的Spinner Button写的一个MySpinnerButton.这样在1.6~4.0.4版本都可以实现这种下拉框的效果 ...

  3. 转:WebDriver(Selenium2)模拟鼠标经过事件

    在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件.使用WebDriver有以下两种实现. 1.使用Action pub ...

  4. ubuntu14.04英文环境下安装中文输入法

    ubuntu14.04英文环境下安装中文输入法 发表于1年前(2014-07-12 20:12)   阅读(4478) | 评论(0) 3人收藏此文章, 我要收藏 赞1 9月19日成都 OSC 源创会 ...

  5. STM32 IAP 在线升级详解(转)

    源:http://blog.csdn.net/yx_l128125/article/details/12992773 (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP   ...

  6. 解决phpcms V9缩略图模糊的方法

    解决V9缩略图模糊/libs/classes/image.class.php注释掉else   imagecopyresized($thumbimg, $srcimg, 0, 0, $psrc_x,  ...

  7. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

  8. Linux监控体系

    监控体系 zabbix 博客:www.abcdocker.com 微信公众号:abcdocker 笔者QQ:381493251 Abcdocker交流群:454666672 如果遇到什么问题可以进群询 ...

  9. 重启机器解决SSL都要输入密码问题

    在Nginx或Apache设置了SSL加密后,发现每次重启服务器后都要输入证书设置的密码,比较麻烦,不然Nginx或Apache无法使用,这时可以用私钥来做这件事.生成一个解密的key文件,替代原来k ...

  10. NSDateFormatter调整时间格式的代码

    NSDateFormatter调整时间格式的代码 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理.例如://实例化一个NSDat ...