| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2090 人关注过本帖
标题:asp怎样用ADO方式修改excel数据?急
只看楼主 加入收藏
seesee90
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-25
收藏
 问题点数:0 回复次数:6 
asp怎样用ADO方式修改excel数据?急
asp怎样用ADO方式修改excel数据?急
搜索更多相关主题的帖子: ADO excel asp 数据 
2008-06-25 15:57
entermaster
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-24
收藏
得分:0 
读取所有的Excel 表

<form name="form1" method="post" action="xls_two.asp">
  <table width="80%" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#666666">
<%
'建立Connection对象
Dim db,rs,strSql,i,rst,table_count
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=" & Server.MapPath("shuju.xls")
    set    rst=db.OpenSchema(20)   
%>
    <tr align="center" bgcolor="#E6E6E6">
      <td height="30" bgcolor="#E6E6E6">请选择 Excel 工作簿&nbsp;&nbsp;</td>
    </tr>
    <tr align="center" bgcolor="#E6E6E6">
      <td bgcolor="#FFFFFF"><select name="table_name" id="table_name">
        <option value="">请选择</option>
<%
      while not rst.eof
        Response.write "<option value="&rst("Table_Name")&">"&rst("Table_Name")&"</option>"
        rst.movenext   
    wend
%>
      </select>      </td>
    </tr>
   
    <tr align="center" bgcolor="#E6E6E6">
      <td><input type="submit" name="button" id="button" value="下一步"></td>
    </tr>
  </table>
</form>
2008-06-25 16:54
entermaster
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-24
收藏
得分:0 
读取所有数据
注意其中的表名变量 table_name 因为我是从上一个文件接收的 Form 变量,一般情况下第一个表都是 Sheet$,也就是上面的回复那里来的.

<form name="form1" method="post" action="xls_three.asp">
  <table width="80%" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#666666">
    <%
'建立Connection对象
Dim db,rs,strSql,i,rst,table_count,table_name,j,t_all,t_all_two
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=" & Server.MapPath("shuju.xls")
'打开记录集,表名一定要以"[表名$]"的格式
table_name = request("table_name")
if table_name = "" then
    response.write "<script>alert('对不起,表名不能为空')</script>"
    response.write "<script>history.back()</script>"
end if
strSql="Select * From ["&table_name&"]"
Set rs=db.Execute(strSql)
if rs.eof and rs.bof then
    response.write "<script>alert('对不起 " &table_name&" 表中没有任何数据')</script>"
    response.write "<script>history.back()</script>"
end if
'循环读取所有行
    Response.Write "<tr bgcolor = white align='center'>"
    Response.Write "<td>操作</td>"
    For i = 0 to rs.fields.count - 1
        Response.Write "<td>" & rs(i).name & "</td>"
    Next
    Response.Write "</tr>"
    j = 0
    Do While Not rs.EOF
        Response.Write "<tr bgcolor = white align='center'>"
        Response.Write "<td><input type = 'checkbox' name = 'checkbox'/></td>"
        For i = 0 to rs.fields.count - 1
            Response.Write "<td>" & rs(i) & "</td>"
        Next
        Response.Write "</tr>"
        rs.MoveNext
        j = j + 1
    Loop

%>
    <tr align="center" bgcolor="#E6E6E6">
      <td colspan="<%=i + 1%>" align="left" valign="middle" bgcolor="#FFFFFF">您可以选择插入:</td>
    </tr>
    <tr align="center" bgcolor="#E6E6E6">
      <td colspan="<%=i + 1%>" align="center" valign="middle" bgcolor="#FFFFFF"><%
    For i = 0 to rs.fields.count - 1
        if t_all = "" then
            t_all = "<$=" & rs(i).name & "$>"
            t_all_two = rs(i).name
        else
            t_all = t_all & "," & "<$=" & rs(i).name & "$>"
            t_all_two = t_all_two & "," & rs(i).name
        end if
        'Response.Write "<span style='cursor:pointer;color=red' >" &rs(i).name & "</span>&nbsp;&nbsp;"
        
%>
    <span id="wbf" onClick="insertAtCaret(document.form1.tarea,this.innerText);" style="cursor:pointer; color:red
    ;"><%=rs(i).name%></span>
<%    
    Next
    response.write t_all
%>
<input type="hidden" name="t_all" id="t_all" value="<%=t_all%>">
<input type="hidden" name="t_all_two" id="t_all_two" value="<%=t_all_two%>">
<input type="hidden" name="table_name" id="table_name" value="<%=table_name%>">
</td>
    </tr>
    <tr align="center" bgcolor="#E6E6E6">
      <td colspan="<%=i + 1%>" valign="middle" bgcolor="#FFFFFF">定制发送内容:
      <textarea name="tarea" rows="10" cols="80"onselect="setCaret(this);" onClick="setCaret(this);" onKeyUp="setCaret(this);">你好</textarea></td>
    </tr>
    <tr align="center" bgcolor="#E6E6E6">
      <td colspan="<%=i + 1%>"><input type="submit" name="button" id="button" value="提交"> &nbsp;&nbsp;<input type="reset" name="button2" id="button2" value="重置"></td>
    </tr>
  </table>
</form>
<%
Response.write j
'关闭对象
rs.Close
Set rs=nothing

%>

[[it] 本帖最后由 entermaster 于 2008-6-25 16:56 编辑 [/it]]
2008-06-25 16:55
seesee90
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-25
收藏
得分:0 
多谢enter大大的回帖,在学习中。。。。
2008-06-25 20:51
seesee90
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-25
收藏
得分:0 
后来,用了这种笨方法来实现,因自己是新手,很菜
<%
dim xlsfile
xlsfile="18611jbjc.xls"
Set connx = CreateObject("ADODB.Connection")
on error resume next
connx.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(xlsfile)&";Extended Properties=""Excel 8.0;HDR=yes;IMEX=3"""


dim xlsfile1
xlsfile1="18611.xls"
Set connx1= CreateObject("ADODB.Connection")

connx1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(xlsfile1)&";Extended Properties=""Excel 8.0;HDR=yes;IMEX=1"""


if err then
    err.clear
    set connx=nothing
    set connx1=nothing
    response.write("<font color=#888888 size=3px>连接到 XLS 文件出现错误,请检查数据处理文件</font> <font color=blue size=3px><b></b></font> <font color=#888888 size=3px>的 EXCEL 连接部分是否设置正确</font>")
    response.end()
end if

response.write("EXECL文件连接成功"&"<br>")



set rsx=server.createobject("adodb.recordset")
    rsx.open "select * from [sheet1$]",connx,2,3
    
     while not rsx.eof

            Set rs=server.CreateObject("ADODB.recordset")
            rs.open  "select * from [sheet1$]",connx1,1,1
            
            rs.movefirst
            'rs.open  "select * from [sheet1$] where rsx("考号")=rs("no")",connx1,1,1
                    
            while not rs.eof
            
            if rsx("考号")=rs("no") then
            rsx("政治")=rs("tsco")
                    
            rsx.update

            end if

            rs.movenext

            wend

                
          rsx.movenext
           

     wend

    'response.write("</table>")



    rsx.close
    set rsx=nothing
    connx.close
   set connx=Nothing
response.write(" <font color=blue size=3px><b></b></font>EXECL文件数据交换连接成功"&"<br>")

   %>
2008-06-25 21:00
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
https://bbs.bccn.net/viewthread.php?tid=162737&extra=page%3D2%26amp%3Bfilter%3Ddigest
以前写过ASP生成Excel的一个程序,供楼主参考
2008-06-26 10:46
seesee90
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-25
收藏
得分:0 
谢谢各位的答复。论坛确是学习的好地方
2008-06-27 10:33
快速回复:asp怎样用ADO方式修改excel数据?急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017550 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved