执行SQL语句
select fullname,time,endtime,closed from chat_archive into outfile 'c:/xxx.xls'
注意:因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,此时有几种选择
1、把查询出来的结果转换为GB2312格式(字段fullname)
selectconvert(fullname using gb2312)from chat_archive into outfile 'c:/xxx.xls'
2、在服务器端使用iconv来进行编码转换
iconv -futf8 -tgb2312 -o
如果转换顺利,那么从server上下载下来就可以使用了。
3.转换如果不顺利,则会提示:iconv: illegal input sequence at position 1841 类似于这样的错误,
先把下载下来,这个时候文件是utf-8编码的,用excel打开,乱码。
把以文本方式打开,然后另存为,在编码选择ANSI编码,保存。
引申:如何带表头输出Excel?
select convert("用户号" using gb2312),convert("用户名" using gb2312) from dual union select convert(userno using gb2312),convert(username using gb2312) from t_users into outfile 'd://users.xls';
注意:
1、使用合并的查询结果集 但是union会过滤掉重复记录 不过滤使用union all
2、如果保存的不是磁盘根目录,而是某个文件夹,需要将文件夹先创建好