毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

ASP中如何将sql2005导出为EXCEL

更新时间:2014-8-20:  来源:毕业论文

目前需要将SQL2005中的查询结果导出到EXCEL中,在网上找到了导出ACCESS2010到EXCEL的
代码,但数据库换成SQL2005中后,导出不报错,可是在指定位置没有生成XLS,请大家帮忙解决一下。
以下是导出ACCESS2010到XLS的,速度很快,也不用设置单元格数据格式。

<%
dim a
a=request.form("Del_check") '要导出的记录ID号集合
if trim(a)="" then
   ErrorMessage = "请先选择要导出的记录!"
   response.write(" <script>alert('"&ErrorMessage&"');history.go(-1)</script>")
   response.end
end if

if not isempty(request("Del_check")) then
   idlist=request("Del_check")

'删除再重新创建以用户名命名的文件夹,用于保存导出的XLS
Set file = CreateObject("Scripting.FileSystemObject")
TempFolder=server.mappath("down/to_excel/" & session("yhm"))
if file.FOLDERExists(TempFolder) then '若临时目录存在,则删除之
   on error resume next
   file.deleteFOLDER TempFolder
   if err.number<>0 then
      err.clear
       ErrorMessage = "删除临时文件夹发生错误!您可没有权限执行本项操作。"
       response.write(" <script>alert('"&ErrorMessage&"');history.go(-1)</script>")
      response.end
   end if
end if
   on error resume next
   file.createFOLDER TempFolder
   if err.number<>0 then
      err.clear
      ErrorMessage = "创建临时文件夹发生错误!您可没有权限执行本项操作。"
       response.write(" <script>alert('"&ErrorMessage&"');history.go(-1)</script>")
      response.end
   end if

'连接数据库
%>
<!--#include file="#comeon#.asp"-->
<%
'生成要导出的XLS文件名及下载地址
filename=Server.MapPath("down/to_excel/" & session("yhm")& "/" & hour(now())& minute(now())&second(now()) &  ".xls")  
downurl="down/to_excel/" & session("yhm")& "/" & hour(now())& minute(now())&second(now()) &  ".xls"  '下载地址 

'用下面这种方法导出XLS不仅速度快,而且对数据类型不会产生任何影响,比如身份证号,不会显示为科学计数法
   Set rs=Server.CreateObject("Adodb.Recordset")

'根据用户选择的列进行导出
'**********就是这几行代码,没有成功生成XLS,但在ACCESS中是可以的
   if session("zdyl")="" then
      sql="select * into [excel 8.0;database="&filename&"].sheet1 from 材料类别  where ID in("&idlist&")"
   else
      sql="select "&session("zdyl")&" into [excel 8.0;database="&filename&"].sheet1 from 材料类别  where ID in("&idlist&")"
   end if
 
   rs.open sql,conn,1,1
  rs.close
  set rs=nothing
  conn.close
  set conn=nothing
  set file=nothing


end if  
%><p align="center"> </p>
<p align="center"><img border="0" src="Images/ok.png" width="88" height="86"><br><br><a href="<%=downurl%>">
<font size="2">点击此处下载导出的EXCEL文件</font></a></p>
 <p align="center">
<input type="button" value="返 回" onclick="javascript:window.history.go(-1);">
</p>
强烈建议用NOPI,既方便又快,没那么麻烦的
<!--#include file="#conn#.asp"-->
<%
Set rs=Server.CreateObject("Adodb.Recordset")
sql="insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 8.0;Database=c:\test.xls;','SELECT * FROM [sheet1$]') select * from 表名"
rs.open sql,conn,1,1
rs.close
conn.close
set rs=nothing
set conn=nothing
%>

需要注意:
1、指定位置要先有XLS存在
2、XLS中要先有表头,并且与要导出的旬一一对应

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。