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. leveldb性能分析

    Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了. 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计.特别是LSM算法. 那 ...

  2. 转 :Vim文件编码识别与乱码处理

    Vim文件编码识别与乱码处理   在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任 ...

  3. 使用MyEclipse构建MAVEN项目 - 我的漫漫程序之旅 - BlogJava

    body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-ser ...

  4. PAT (Advanced Level) 1052. Linked List Sorting (25)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  5. DBNull.value

    判断某一个datarow的cell是否有值需要进行两步判断 1.dr["field_name"]!=DBNull.value&&dr["field_nam ...

  6. PHP json不转义

    json_encode($result, JSON_UNESCAPED_UNICODE);

  7. 内核kconfig语法及原理

    语法 http://www.cnblogs.com/AP0904225/p/5967979.html 目前自己用过 一.菜单 menu "desc" endmenu 二.可配菜单 ...

  8. (简单) POJ 1797 Heavy Transportation,Dijkstra。

    Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...

  9. [iOS] 响应式编程开发-ReactiveCocoa(一)

    什么是响应式编程 响应式编程是一种面向数据流和变化传播的编程范式.这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播. 例如,在命令式编程环境中 ...

  10. mysql管理----状态参数释义

    下面是数据库MySQL优化的一些步骤 一.通过show status和应用特点了解各种SQL的执行频率 通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extende ...