officeba > 单独文章


asp输出excel无法显示数据的解决办法

asp输出excel无法显示数据的解决办法, 这次做的活是asp操作excel,全程序是每行都标出,然后像填空一样做的。现在被我改成了动态显示每行的项,再逐行显示,最后做一个汇总。

1、FSO找到excel文件
<%
Dim fso,folder,file
Set fso    = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(Server.MapPath("data"))

Dim name
For Each file in folder.Files
name = fso.GetBaseName(file)
%>
<li><%=name%></li>
<%
Next
%>

2、连接excel文件,获取第一个sheet的name

<%
//建立Connection对象
Set Conn_qc = Server.CreateObject("ADODB.Connection")
Driver = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBParm = "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
//调用Open 方法打开数据库
DBPath = "Data Source=" & Server.MapPath("data\" & table & ".xls") & ";" '注意:此处的table变量为文件名,可由上一个方法得到
Conn_qc.Open Driver & DBPath & DBParm
//获取第一个sheet的名称
Set rs=Conn_qc.OpenSchema(20)
TableName = rs("Table_name")
rs.Close
//查询数据
Sql="Select * From [" & TableName & "]"

//response.write(sql)
'Set Rs=Conn.Execute(Sql)
rs.open sql, Conn_qc, 1, 1 '此处可以解决recordcount为 -1 的问题
if rs.recordcount<>0 then
%>
<table width="100%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<%for i=0 to rs.fields.count-1%>
<td align="center" valign="middle" bgcolor="#F2F8FF" ><% =rs(i).Name %></td>
<%next%>
</tr>
<tr>
<%for i=0 to rs.fields.count-1%>
<td align="center" valign="middle" class="f"><%=rs(i)%></td>
<%next%>
</tr>
</table>
<%
end if
rs.close
set rs=nothing
Conn_qc.close
%>



声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2010-06-23 10:15:55,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容