页面用力 o>﹏<o 加载中...

ASP导入Excel之服务器不支持


很无奈……

辛辛苦苦做好了,上传到服务器,却发现出错……

Why?Why?Why?

答案是服务器权限不够

因为不是自己的服务器,没办法,只能重做了。

这次改用了XML,由Excel另存为的XML

……在网上搜索、测试、再搜索、再测试……

经历了两个多小时,终于解决了一小半……继续努力……

先贴上已解决的问题的代码吧:
复制内容到剪贴板程序代码程序代码
'由用户选择工作表
Dim objXML,objNode
Set objXML =Server.CreateObject("Microsoft.XMLDOM") '创建一个XML对像
objXML.load(Server.MapPath(OrderFilePath)) '把XML文件读入内存
Set objNode=objXML.documentElement.getElementsByTagName("Worksheet") '选取节点
for i=0 to objNode.length-1
    Response.Write "<option value="""&objNode(i).Attributes.item(0).Text&""">"&objNode(i).Attributes.item(0).Text&"</option>"
next


复制内容到剪贴板程序代码程序代码
'显示将导入内容,由用户确认
Dim objXML,objNode,objRow,objCell,j,k,kk
Set objXML =Server.CreateObject("Microsoft.XMLDOM") '创建一个XML对像
objXML.load(Server.MapPath(OrderFilePath)) '把XML文件读入内存
Set objNode=objXML.documentElement.getElementsByTagName("Worksheet") '选取节点
for i=0 to objNode.length-1
    if objNode(i).Attributes.item(0).Text=DataTable then
        set objRow = objNode(i).getElementsByTagName("Row")
        if objRow.length>0 then
            set objCell = objRow(0).getElementsByTagName("Cell")
            ColCount = objCell.length
            Response.Write "<tr class=tablebody><th colspan="&ColCount&">批量添加商品 第三步 确认导入内容</th></tr>"
            Response.Write "<tr class=tablebody><td colspan="&ColCount&">订单编号:<b>"&OrderNo&"</b>  工作表:<b>["&DataTable&"]</b>  临时文件路径:"&OrderFilePath&"</td></tr>"
            '标题
            Response.Write "<tr class=tablebody>"
            for k=0 to objCell.length-1
                Response.Write "<td><input type=""hidden"" name=""ExcelList"" value="""&k&"""><select name=""TableList"">"& getItemSort(objCell(k).Text) &"</select></td>"
            next
            Response.Write "</tr>"
            '值
            for j=1 to objRow.length-1
                set objCell = objRow(j).getElementsByTagName("Cell")
                Response.Write "<tr class=tablebody>"
                kk=1
                for k=0 to objCell.length-1
                    Response.write "<td>"
                    If len(objCell(k).getAttribute("ss:Index"))>0 Then
                        Dim kkk
                        kkk=int(objCell(k).getAttribute("ss:Index"))-1
                        for kk=kk to kkk
                            Response.Write " </td><td>"
                        next
                    End If
                    Response.write objCell(k).Text&"</td>"
                    kk=kk+1
                next
                Response.Write "</tr>"
            next
        end if
    end if
next
Set objCell = Nothing
Set objRow = Nothing
Set objNode = Nothing
Set objXML = Nothing


复制内容到剪贴板程序代码程序代码
'导入内容
Dim objXML,objNode,objRow,objCell,j,k,kk
Set objXML =Server.CreateObject("Microsoft.XMLDOM") '创建一个XML对像
objXML.load(Server.MapPath(OrderFilePath)) '把XML文件读入内存
Set objNode=objXML.documentElement.getElementsByTagName("Worksheet") '选取节点
for i=0 to objNode.length-1
    if objNode(i).Attributes.item(0).Text=DataTable then
        set objRow = objNode(i).getElementsByTagName("Row")
        if objRow.length>0 then
            '标题
            set objCell = objRow(0).getElementsByTagName("Cell")
            for k=0 to objCell.length-1
                if TableListArr(k)<>"||" then
                    TableItemStr=TableItemStr&","&TableListArr(k)
                end if
            next
            TableItemStr="OrderID"&TableItemStr
            sql = Replace(sql,"$TableItemStr$",TableItemStr)
            '值
            for j=1 to objRow.length-1
                TableValueStr=""
                kk=0
                set objCell = objRow(j).getElementsByTagName("Cell")
                for k=0 to objCell.length-1
                    If len(objCell(k).getAttribute("ss:Index"))>0 Then
                        Dim kkk
                        kkk=int(objCell(k).getAttribute("ss:Index"))-2
                        for kk=kk to kkk
                        if TableListArr(kk)<>"||" then
                            if TableListArr(kk)<>"UserID" and TableListArr(kk)<>"ItemStatus" then
                                TableValueStr=TableValueStr&",''"
                            else
                            if TableListArr(kk)="ItemStatus" then
                                TableValueStr=TableValueStr&","&getOrderStatus(0,"showid")
                            else
                                TableValueStr=TableValueStr&",0"
                            end if
                            end if
                        end if
                        next
                    End If
                    if TableListArr(kk)<>"||" then
                        if TableListArr(kk)<>"UserID" and TableListArr(kk)<>"ItemStatus" then
                            TableValueStr=TableValueStr&",'"&objCell(k).Text&"'"
                        else
                        if TableListArr(kk)="ItemStatus" then
                            TableValueStr=TableValueStr&","&getOrderStatus(objCell(k).Text,"showid")
                        else
                            TableValueStr=TableValueStr&","&objCell(k).Text
                        end if
                        end if
                        kk=kk+1
                    end if
                next
                TableValueStr=OrderID&TableValueStr
                SqlTmp = Replace(sql,"$TableValueStr$",TableValueStr)
                'Response.write SqlTmp
                conn.Execute(SqlTmp)
            next
        end if
    end if
next
Set objCell = Nothing
Set objRow = Nothing
Set objNode = Nothing
Set objXML = Nothing



[本日志由 夜空寂灭 于 2009-02-18 02:12 PM 编辑]

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Asp 导入 Excel 服务器 XML
相关日志:
评论: 1 | 引用: 0 | 查看次数: 808
回复回复路人AH3399型[2010-01-28 03:24 PM | 广西自治区南宁市 电信 | 成分分析 | del]
'''''''
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: = 9 + 15
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭