在asp中将 sql server2000的数据导出到excel 中

tangcx 2006-05-29 10:48:09
怎么在 asp 中将 sql server2000 的数据导出到 excel 中??
...全文
648 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng003 2006-06-02
  • 打赏
  • 举报
回复
楼上的这个方法我以前也这么用,可EXCEL文件是存在服务器上的,楼主好像是想要把它下载到客户端吧!
苏门答腊 2006-06-02
  • 打赏
  • 举报
回复
有木有人能解决呢?
zwpsky 2006-06-02
  • 打赏
  • 举报
回复
关注 期待答案...
我写的代码也只能把导出的excel文件导出在服务器中, 不知怎样才能导出到客户端
fairleng 2006-06-01
  • 打赏
  • 举报
回复
我是把sql中的数据先在ASP中生成一个table,然后再把整个table传送到excel上去,很简便,而且自己可以设计表的结构

<%
dim str

dim rs
set rs=server.createobject("adodb.recordset")

rs.Open "select * from table order by code",conn,1,3
dim i
i=1
str="<table width=100% border=1 cellspacing=0 cellpadding=0>"
str=str&chr(10)&"<tr> "
str=str&chr(10)&" <td height=25 colspan=6 align=center><strong>标题</strong></td>"
str=str&chr(10)&"</tr>"
str=str&chr(10)&" <tr align=center> "
str=str&chr(10)&"<td>序号</td>"
str=str&chr(10)&" <td>编号</td>"
str=str&chr(10)&" <td>名称</td>"
str=str&chr(10)&"<td>时间</td>"
str=str&chr(10)&"</tr>"
do while not rs.eof
str=str&chr(10)&"<tr>"
str=str&chr(10)&"<td>"&i&"</td>"
str=str&chr(10)&"<td>"&rs("code")&"</td>"
str=str&chr(10)&"<td>"&rs("name")&"</td>"
str=str&chr(10)&"<td>"&rs("time")&"</td>"
str=str&chr(10)&" </tr>"
i=i+1
end if
rs.movenext
loop
str=str&chr(10)&"</table>"

set fso=Server.CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile(Server.MapPath("导出excel.xls"),8,true)
f.writeline str
f.close
set f=nothing
set fso=nothing
%>
<a href="导出excel.xls" target="_blank">点击下载:导出excel.xls</a>
xtuwz 2006-06-01
  • 打赏
  • 举报
回复
哈哈,我是用SQL的命令導出的,BCP的比其它的快些
benwangz 2006-06-01
  • 打赏
  • 举报
回复
我也遇到同样问题,用
response.contentType = "application/vnd.ms-excel"
response.addheader "Content-Disposition", "attachment; filename=123.xls"
可以下载文件,但文件中没有数据。
itblog 2006-05-30
  • 打赏
  • 举报
回复
顶一下~我愿意出200分求能解决这个问题的例子~
zhenmeiyisi 2006-05-30
  • 打赏
  • 举报
回复
主要有两点
一 、头上加 <% Response.ContentType = "application/vnd.ms-excel"%>


<% '中间部分和其他的操作是一样的 %>


二 尾上加
<%
response.AddHeader
"Content-Disposition","attachment;filename="&term1&"_"&term2&".xls"
%>


说明:filename= 要生成的excel 文件名称

itblog 2006-05-30
  • 打赏
  • 举报
回复
ASP导出到客户端excel
itblog 2006-05-30
  • 打赏
  • 举报
回复
再顶~200分求助~
itblog 2006-05-30
  • 打赏
  • 举报
回复
首先谢谢楼上~想要的是EXCEL导出到客户端~
achen0207 2006-05-30
  • 打赏
  • 举报
回复
我做了 个比较容易理解的
<%
if session("user_name")="" then
response.Redirect url&"error.asp?msg=您这样的操作本系统令人感到耻辱!&logout=true"
end if

tempdata=trim(Request("strPhoto"))
sql = "SELECT * into temp FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="&tempdata&";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] "
conn.execute(sql)

sqlp = "select * from temp"
set rsp=server.createobject("adodb.recordset")
rsp.open sqlp,conn,1,1
i=0
do while not rsp.eof
sqlq = "select * from USER_VALIDATE where stu_no='"&rsp("stu_no")&"'"
set rsq=server.createobject("adodb.recordset")
rsq.open sqlq,conn,1,1
if rsq.eof then
sql = "insert into USER_VALIDATE (stu_no,stu_name,stu_class) values('"&rsp("stu_no")&"','"&rsp("stu_name")&"','"&rsp("stu_class")&"')"
conn.Execute(sql)
i=i+1
end if
rsq.close
rsp.movenext
loop
rsp.close
a=""
sql="delete from USER_VALIDATE where stu_no='"&a&"'"
conn.execute(sql)
sql="drop table temp"
conn.execute(sql)
conn.close
set conn = nothing

%><table border="0" width="100%" height="100%">
<tr>
<td align="center"> <%=i%>条数据导入成功<p><b><font size="2"> </font><a style="cursor:hand; text-decoration:underline" onclick="history.go(-1)"><font size="2">返回</font></a></b></td>
</tr>
</table>
itblog 2006-05-30
  • 打赏
  • 举报
回复
。。。。。。。。。
tangcx 2006-05-29
  • 打赏
  • 举报
回复
ok,,你试了我上面的程序了没有??可以吗???
loveme2000ok 2006-05-29
  • 打赏
  • 举报
回复
动态是什么意思?我的就是动态的啊~已经可以了~
tangcx 2006-05-29
  • 打赏
  • 举报
回复
你这个好像现实不了动态!!
loveme2000ok 2006-05-29
  • 打赏
  • 举报
回复
以下这种方法,应该没有问题了,至少在我电脑里调试可以了,一会儿在office2003底下试试~

<HTML>
<HEAD>
<title>WEB页面导出为EXCEL文档的方法
</title>
</HEAD>
<body>
<BR>
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
<TR style="text-align : center;">
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
</TR>
</TABLE>
<br/>
<input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">
<SCRIPT LANGUAGE="javascript">
//指定页面区域内容导入Excel
function AllAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
//PrintA是table的id
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
//指定页面区域“单元格”内容导入Excel
function CellAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var Lenr = PrintA.rows.length;
for (i=0;i<Lenr;i++)
{
var Lenc = PrintA.rows(i).cells.length;
for (j=0;j<Lenc;j++)
{
oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
}

</SCRIPT>
</body></html>
tangcx 2006-05-29
  • 打赏
  • 举报
回复
试试嘛..
loveme2000ok 2006-05-29
  • 打赏
  • 举报
回复
这个我好像早见过了~
tangcx 2006-05-29
  • 打赏
  • 举报
回复
我在网上找的代码..你试试..好了告诉我啊..我晚上回去用..公司的电脑没装excel

<%
response.Buffer=true
%>
<!--#include file="conn.asp"-->
<%
''将当前的日期和时间转为文件名
function makefilename(fname)
fname = now()
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
makefilename=fname
end function

vfname = makefilename(now())
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>报表下载</title>
</head>
<body>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
''''''''''''''sql语句可根据条件判断''''''''''''''''''''''''
sql="select * from table"
rs.Open sql,conn,1,1

if rs.EOF and rs.BOF then
response.write "数据库没有记录!"
response.end
else
%>
<table width="700" border="1" align="center" bordercolor="#CCCCCC">
<tr>
<td colspan="12"><div align="center"> </div></td>
</tr>
<tr>
<td colspan="12"><div align="center">报表 </div></td>
</tr>
<tr>
<td colspan="12"><div align="right"><%=request.form("year1")&"年"&request.form("month1")&"月"&request.form("day1")&"日--"&request.form("year2")&"年"&request.form("month2")&"月"&request.form("day2")&"日"%>
</div></td>
</tr>
<tr>
<td colspan="12"><div align="right">字段(元)
</div></td>
</tr>
<tr>
<td colspan="12"><div align="center"> </div></td>
</tr>
<tr>
<td><div align="center">字段</div></td>
<td><div align="center">字段期</div></td>
<td><div align="center">设备字段</div></td>
<td><div align="center">服务号</div></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td>
<div align="left"> <%=rs(0)%></div></td>
<td>
<div align="left"> <%=rs(1)%></div></td>
<td>
<div align="left"> <%=rs(2)%></div></td>
<td>
<div align="left"> <%=rs(3)%></div></td>
</tr>

<%
rs.movenext
loop
end if
rs.Close
set rs = nothing
conn.close
set conn = nothing
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename="&vfname&".xls"
%>

</table>


</body>
</html>

加载更多回复(10)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧