最近的一个项目中需要将数据库查询的结果导出成一个Excel文件,ASP导出Excel比较简单,步骤如下:
(1)输出数据之前先指定以下的报头。这样浏览器就会将我们以后输出的数据当作Excel文件处理了。
response.ContentType ="application/vnd.ms-excel;"
response.Addheader "Content-Disposition", "attachment;Filename=" & date() & ".xls" 指定文件的名称
(2)将数据库查询的结果以Table的形式输出。除了Table以外不要加入其它数据。
例如:
...省略代码
set rs=conn.execute(sql)
%>
<table width="973">
<tr>
<td width="76">
<p align="center"><b>楼号</b></td>
<td width="86">
<p align="center"><b>宿舍号</b></td>
<td width="95">
<p align="center"><b>申报日期</b></td>
<td width="199">
<p align="center"><b>申报说明</b></td>
<td width="99">
<p align="center"><b>故障类型</b></td>
<td width="79">
<p align="center"><b>学号</b></td>
<td width="69">
<p align="center"><b>姓名</b></td>
<td width="101">
<p align="center"><b>电话</b></td>
<td>
<p align="center"><b>邮箱</b></td>
</tr>
<%
while not rs.eof
%>
<tr>
<td width="76"><%=rs("gz_louhao")%></td>
<td width="86"><%=rs("gz_sushehao")%></td>
<td width="95"><%=rs("gz_shenbaoriqi")%></td>
<td width="199"><%=rs("gz_shuoming")%></td>
<td width="99"><%=rs("gz_leixing")%></td>
<td width="79"><%=rs("gz_xuehao")%></td>
<td width="69"><%=rs("gz_xingming")%></td>
<td width="101"><%=rs("gz_dianhua")%></td>
<td><%=rs("gz_email")%></td>
</tr>
<%
rs.movenext
wend
%>
</table>
....省略代码
这样就实现了导出Excel的功能了,但是打开Excel文件缺发现中文部分全是乱码,如下图示:
觉得应该是中文编码的问题,于是将(1)的代码改为:
response.ContentType ="application/vnd.ms-excel; charset=GB2312"
response.Addheader "Content-Disposition", "attachment;Filename=" & date() & ".xls"
response.Charset = "GB2312"
但测试发现,中文部分还是乱码。
后来在(2)输出Table前加入了一句“<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> ”,问题解决了。如下图:
ASP导出Excel乱码问题的解决
[日志分享]
[日志信息]
该日志于 2009-04-16 10:19 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “ASP导出Excel乱码问题的解决” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!! (尊重他人劳动,你我共同努力)
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢