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 是中文的

时间: 2024-10-12 05:33:05

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

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

<?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($do) { echo"导入数据成功<br>"; } else { echo ""; } ?> <form ENCTYPE="multipart/form-data" ACTION="<?php echo&quo

.Net常用技巧_传入DataGrid直接导出成Excel

注:非调用OFFICE的DLL方法. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Utility; using System.IO; names

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

经常使用PHP+Mysql的朋友一般都是通过phpmyadmin来管理数据库的.日常的一些调试开发工作,使用phpmyadmin确实很方便.但是当我们需要导出几百兆甚至几个G的数据库时,phpmyadmin就会很卡.甚至如果你是想导入大量数据,则phpmyadmin完全无法完成.因为phpmyadmin是基于PHP网页的,无法上传太大的sql文件.其实mysql官方给了我们很好的解决方案:mysqldump. 下面介绍,如何在Windows环境下,使用mysqldump导出数据库: 找到你mys

C#将数据库导出成Excel,再从Excel导入到数据库中。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.IO; namespace CindyDatabaseProcess { class Program { static void Main(string[] args) { System.Data.DataTable dt1 = null; S

mysql数据导出到excel以及相关计算

mysql 查询出数据之后, 可以选择导出文件 默认是csv文件  如果是整数类型的数据 可以CONCAT('\'', filed) 多加个'就可以变成文本了, 然后以文本编辑器打开csv文件 把'等字符替换为空字符串. 新建一个excel文件,找到数据-->自文本,选择下一步 格式为文本  确定即可 一些基本的excel函数: 计算某个字符或数字等的个数:=COUNTIF(A:A,"测试") 就是在A列的'测试'这个字符串出现的个数 根据身份证号计算性别:=IF(MOD(MID

HTML Table导出为Excel的方法

HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" language="javascript"> var idTmr; function getE

GridView导出成Excel字符&quot;0&quot;丢失/数字丢失的处理方式 收藏

GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏 GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有"012457890"的内容,用Excel打开后就变成 了"12457890",少了前面的0;原因是Excel把它当作数字来格式化了,就把"0"给去掉了.   解决思路:在Excel中作一个包含有"012457890"的内容,设定单元

java 导出成EXCEL或XML

原文:java 导出成EXCEL或XML 源代码下载地址:http://www.zuidaima.com/share/1550463713774592.htm java 导出成EXCEL或XML, 纯手工写的. 复制到eclipse中去直接运行该类,就可以看到效果了. package com.zuidaima.file.exam.test; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import j

C# 泛型List对象数据 导出 成 EXCEL数据表

1          /// <summary>  2         /// 将一组对象导出成EXCEL  3         /// </summary>  4         /// <typeparam name="T">要导出对象的类型</typeparam>  5         /// <param name="objList">一组对象</param>  6         //