本文实例讲述了MySQL实现导出excel的方法。分享给大家供大家参考,具体如下:
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相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】
- 廖昌永《情缘HQ》头版限量[低速原抓WAV+CUE]
- 蔡琴《老歌》头版限量编号MQA-24K金碟[低速原抓WAV+CUE]
- 李嘉《国语转调》3CD[WAV+CUE]
- 谭咏麟《爱的根源 MQA-UHQCD》2022头版限量编号 [WAV+CUE][1G]
- 江洋 《江洋原创琵琶作品专辑》[320K/MP3][118.08MB]
- 江洋 《江洋原创琵琶作品专辑》[FLAC/分轨][228.33MB]
- 《战舰世界》语音包文件夹位置介绍
- 《CSGO》送好友皮肤方法介绍
- 《山羊模拟器重制版》发售平台说明
- 刘德华2002-美丽的一天[香港首批大包装首版][WAV]
- 刘文正《金装刘文正不朽经典金曲》2CD(1995环星)][WAV+CUE]
- 周慧敏《94美的化身演唱会》宝丽金1995港版2CD[WAV+CUE]
- 娃娃.1997-精选180绝版冠军精丫滚石】【WAV+CUE】
- 娃娃.1997-精选290巅峰情歌经典【滚石】【WAV+CUE】