Asp将查询结果导出到excel里

是Office的OWC版本问题。2000,2002XP,2003各不相同,加入Office的版本检查即可,完整代码如下:

<script language="javascript">
function exportExcel(atblData,dirPath)
{
//alert(dirPath);
if (typeof(atblData)=="undefined"||typeof(atblData)=="unknow")
     {
           alert("没有数据可以导出!");
           return;
         }

var mysheet;
var off2000=false;
var off2002xp=false;
var off2003=false;

   //office2003
         try {
                 mysheet=new ActiveXObject("OWC11.Spreadsheet");
                 off2003=true;
         }
         catch(e) { }

         //office2002-xp
         if(!off2003)
         {
                 try {
                         mysheet=new ActiveXObject("OWC10.Spreadsheet");
                         off2002xp=true;
                 }
                 catch(e) {}
         }

         //office 2000
         if(!off2003 && !off2002xp)
         {        
                 try {
                   mysheet=new ActiveXObject("OWC.Spreadsheet");
                   off2000=true;
                 }
                 catch(e) {}
         }
         if(!off2000 && !off2002xp && !off2003 )
         {
                 alert( "请确定已安装Excel2000(或更高版本)的OWC ActiveX控件,并且没打开同名xls文件");
                 return;
         }

with(mysheet)
{
           DataType = "HTMLData";
           HTMLData =atblData.outerHTML;
         try{
                   if(off2000)
                   {
                     ActiveSheet.Export(dirPath,0);
                     alert('导出EXCEL文档完毕');
                   }
                   if(off2002xp)
                   {
                     Export(dirPath,0);
                     alert('导出EXCEL文档完毕');
                   }
                   if(off2003)
                   {
                     Export(dirPath,0);
                     alert('导出EXCEL文档完毕');
                   }
               }
            
       catch (e)
           {
           alert('导出Excel表失败,请确定已安装Excel2000(或更高版本),并且没打开同名xls文件');
           //alert(Error.description);
           }
}      
}
</script>

<table id=tblData>
<tr>
   <td>
</tr>
</table>

<center><input type="button" value="导出Excel文档" οnclick="exportExcel(tblData,'C://sale.xls')"></center>

.....................................................................




<script for="window" event="onload">
   window.resizeTo(400,300)
   </script>
   <%
   set conn=Server.CreateObject("adodb.connection")
   connstr= "driver={SQL Server};server=192.168.100.207;uid=sa;pwd=szweb05;database=shizhu_2009"'//链接数据库
   conn.open connstr
   dim rs,sql,filename,fs,myfile,x  
   Set fs=server.CreateObject("scripting.filesystemobject")      
   '--假设你想让生成的EXCEL文件做如下的存放      
   filename=Server.MapPath("FT_User.xls")'/数据表保存的文件名      
   '--如果原来的EXCEL文件存在的话删除它      
   if fs.FileExists(filename) then  
   fs.DeleteFile(filename)      
   end if  
   '--创建EXCEL文件  
   set myfile=fs.CreateTextFile(filename,true)    
   '///从数据库中把你想放到EXCEL中的数据查出来            
   Set rs=Server.CreateObject("ADODB.Recordset")  
   sql="select * from News"
   rs.open sql,conn,1,1
   if not rs.EOF then
   dim strLine,responsestr      
   strLine=""  
   For each x in rs.fields  
   strLine=strLine & x.name & chr(9)  
   Next  
   '--将表的列名先写入EXCEL      
   myfile.writeline strLine  
   Do while Not rs.EOF      
   strLine=""  
   for each x in rs.Fields      
   strLine=strLine & x.value & chr(9)      
   next  
   '--将表的数据写入EXCEL      
   myfile.writeline strLine  
   rs.MoveNext  
   loop  
   end if  
   rs.Close      
   set rs=nothing
Response.Write "<BR><BR><center><b>导出成功,请选择继续操作</b></center>"
response.Write "<table width=90% cellspacing=1 cellpadding=3 align=center>"
Response.Write "<tr align=center> <td>"
response.write ("<font color=green>√</font><a href='FT_User.xls'>下载</a>") & "   <font color= green>√</font><a href=javascript:window.close()>关闭</a>"
Response.Write "</td></tr></table>"
%>


.........................................................

<%
         Response.Buffer = TRUE
        
         Response.ContentType = "application/vnd.ms-excel"
         Response.AddHeader "content-disposition", "inline; filename = 用户信息.xls"
        
%>  


............................................................

asp导出到excel

--------------------------------------------------------------------------------
在开头加上这一句
Response.ContentType = "application/vnd.ms-excel"
如果导出结果为空白的,那就去掉它

一下是导出Excel代码

--------------------------------------------------------------------------------
<%
set rs=server.createobject("adodb.recordset")
sql="select * from provinceinfo where 1=1"
rs.open sql,objconn,1,1
Set ExcelApp =CreateObject("Excel.Application")
ExcelApp.Application.Visible = True
Set ExcelBook = ExcelApp.Workbooks.Add
ExcelBook.WorkSheets(1).cells(1,1).value ="用户表"  
ExcelBook.WorkSheets(1).cells(2,1).value = "用户编号"
ExcelBook.WorkSheets(1).cells(2,2).value = "登陆名"
ExcelBook.WorkSheets(1).cells(2,3).value = "真实姓名"
ExcelBook.WorkSheets(1).cells(2,4).value = "密码"
cnt =3
do while not rs.eof
ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid")
ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province")
ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag")
ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id")
rs.movenext
cnt = cint(cnt) + 1
loop
Excelbook.SaveAs "d:/yourfile.xls"   '这个是数据导出完毕以后在D盘存成文件
ExcelApp.Application.Quit     '导出以后退出Excel
Set ExcelApp = Nothing     '注销Excel对象
%>

这是读取Excel表中数据例子
--------------------------------------------------------------------------------
sConn1="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("..")&"/temp/"&sNewFileName & ";Extended Properties=""Excel 8.0;HDR=NO;"""
       oxls.Open "Select * FROM [sheet1$]",sConn1,1,3
       oxls.movenext
oxls("f11")="1月"
       oxls.update
...
       oxls.Close
Set oxls=nothing

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值