现在位置:主页>编程语言>ASP教程> 文章内容

asp操作excel,显示数据及统计方法

收藏发布更新日期:2008-09-17 点击:

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

1、FSO找到excel文件
#lt;%
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)
%#gt;
#lt;li#gt;#lt;%=name%#gt;#lt;/li#gt;
#lt;%
Next
%#gt;

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

#lt;%
//建立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=" %26amp; Server.MapPath("data\" %26amp; table %26amp; ".xls") %26amp; ";" '注意:此处的table变量为文件名,可由上一个方法得到
Conn_qc.Open Driver %26amp; DBPath %26amp; DBParm
//获取第一个sheet的名称
Set rs=Conn_qc.OpenSchema(20)
TableName = rs("Table_name")
rs.Close
//查询数据
Sql="Select * From [" %26amp; TableName %26amp; "]"

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