MySQL实现导出excel的方法分析

 更新时间:2018年03月23日 11:21:34   作者:笑笑别人  
这篇文章主要介绍了MySQL实现导出excel的方法,结合实例形式分析了基于php、js等方法实现mysql导出Excel的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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数据库计有所帮助。

相关文章

  • mysql 字符串函数收集比较全

    mysql 字符串函数收集比较全

    mysql 字符串函数收集,需要的朋友可以参考下。
    2010-03-03
  • MySQL 5.7 zip版本(zip版)安装配置步骤详解

    MySQL 5.7 zip版本(zip版)安装配置步骤详解

    这篇文章主要介绍了MySQL 5.7 zip版本(zip版)安装配置步骤详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • MySQL中LIKE运算符的多种使用方式及示例演示

    MySQL中LIKE运算符的多种使用方式及示例演示

    无论是简单的模式匹配还是复杂的模式匹配,LIKE运算符都提供了强大的功能来满足不同的匹配需求,通过本文的介绍,我们详细了解了在MySQL数据库中使用LIKE运算符进行模糊匹配的多种方式,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • MySQL通过ibd文件恢复数据的操作过程

    MySQL通过ibd文件恢复数据的操作过程

    通常,在InnoDB存储引擎下,一个表由三部分组成:数据字典(.frm文件)、表空间(.ibd文件)和日志文件,其中,.frm文件存储了表的定义,.ibd文件存储了表的数据和索引,本文给大家记录一次MySQL通过ibd文件恢复数据的操作过程,需要的朋友可以参考下
    2024-10-10
  • 防止MySQL重复插入数据的三种方法

    防止MySQL重复插入数据的三种方法

    在MySQL进行数据插入操作时,总是会考虑是否会插入重复数据,之前的操作都是先根据主键或者唯一约束条件进行查询,有就进行更新没有就进行插入。代码反复效率低下。
    2020-09-09
  • 关于避免MySQL替换逻辑SQL的坑爹操作详解

    关于避免MySQL替换逻辑SQL的坑爹操作详解

    这篇文章主要给大家介绍了关于避免MySQL替换逻辑SQL的坑爹操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • php中如何将图片储存在数据库里

    php中如何将图片储存在数据库里

    php中如何将图片储存在数据库里...
    2007-03-03
  • mysql数据库添加用户及分配权限具体实现

    mysql数据库添加用户及分配权限具体实现

    这篇文章主要介绍了mysql数据库添加用户及分配权限的方法,需要的朋友可以参考下
    2014-02-02
  • MySQL事务实现可重复读

    MySQL事务实现可重复读

    MySQL数据库的默认事务隔离级别是可重复读,本文主要介绍了MySQL事务实现可重复读,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • MySql使用skip-name-resolve解决外网链接客户端过慢问题

    MySql使用skip-name-resolve解决外网链接客户端过慢问题

    在腾讯云上面搭建的mysql使用开发的电脑上navicat进行访问时总是特别的慢,原来是Mysql会对请求的地址进行域名解析,开发的电脑并没有域名,所以会导致特别的慢,下面通过本文给大家分享MySql使用skip-name-resolve解决外网链接客户端过慢问题
    2017-07-07

最新评论