高分求助!如何把Mysql数据表导出成excel文档 50

我用php+mysql做了个学生信息系统,现在想把数据库中的学生信息表student_info的所有字段及记录导出成excel文档,方便进行信息统计、汇总。网上找了几种方... 我用php+mysql做了个学生信息系统,现在想把数据库中的学生信息表student_info的所有字段及记录导出成excel文档,方便进行信息统计、汇总。网上找了几种方法可是不成功,希望哪位高手指点指点,需要方便简单、切实可行的方法。 展开
 我来答
闪电数组
2013-09-18 · 超过17用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:73.4万
展开全部
方法一:进入到mysql的控制台,输入:

SELECT * INTO OUTFILE ‘./test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;
这样,应该会在你的mysql的var/目录下产生一个test.xls的文件。。。
但是如果你的shell的登录帐户和mysql的运行账户不同,很可能这个方法就不适用了,因为你可以通过mysql控制台来产生这个文件,但是你却没有办法通过shell来对这个文件进行操作,因为用户不同,没有访问权限。
这个时候,同事告诉偶滴办法就重装登录了!!!
echo "SELECT * FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;"| /usr/local/mysql/bin/mysql -hlocalhost -uroot -pxxxxx > /tmp/test.xls
ok,把你的test.xls文件从tmp下载到本地打开来看看吧。。。
什么?中文乱码?
别着急。。。
因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,这个时候你有两种选择,
1.在服务器端使用iconv来进行编码转换,
iconv -futf8 -tgb2312 -otest2.xls test.xls
如果转换顺利,那么从server上下载下来就可以使用了。
转换如果不顺利,则会提示:iconv: illegal input sequence at position 1841 类似于这样的错误,
先把test.xls下载下来,这个时候文件是utf-8编码的,用excel打开,乱码。
把test.xls以文本方式打开,然后另存为,在编码选择ANSI编码,保存。
ok,再用excel打开,乱码问题,烟消云散。。。
cndavidwang
2013-09-18 · TA获得超过127个赞
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:79.3万
展开全部

使用客户端工具就可以吧,比如Navicat的产品。

很多客户端工具都有这个功能的。

追问
我的数据库是在ISP的空间里的,如果能这样操作那我就没必要问了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzdll
2013-09-18
知道答主
回答量:90
采纳率:0%
帮助的人:20.6万
展开全部
function down_xls($data, $keynames, $name='dataxls') {
$xls[] = "<html><meta http-equiv=content-type content=\"text/html; charset=UTF-8\"><body><table border='1'>";
$xls[] = "<tr><td>ID</td><td>" . implode("</td><td>", array_values($keynames)) . '</td></tr>';

$data = 查询出来的数组,二维数组
$kn = array(
'cno' => '卡号',
);
foreach($data AS $cid => $one) {
$one['cno'] = $one['cno'];
}
}

down_xls($data, $kn, $name);
foreach($data As $o) {
$line = array(++$index);
foreach($keynames AS $k=>$v) {
$line[] = $o[$k];
}
$xls[] = '<tr><td>'. implode("</td><td style='vnd.ms-excel.numberformat:@'>", $line) . '</td></tr>';
}
$xls[] = '</table></body></html>';
$xls = join("\r\n", $xls);
header('Content-Disposition: attachment; filename="'.$name.'.xls"');
die(mb_convert_encoding($xls,'UTF-8','UTF-8'));
}
这样就可以生成xls文件了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
念寒0iz
2013-09-18
知道答主
回答量:26
采纳率:0%
帮助的人:16.7万
展开全部
下一个navcat,管理mysql的一个很好用的工具,到里面直接导出就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唉这名有人起吗
2017-08-28
知道答主
回答量:32
采纳率:0%
帮助的人:8.3万
展开全部
好像程序叫phpexcel。用这个做导入导出,我试过很好用的!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式