ASP导入Excel之服务器不支持
作者:夜空寂灭 日期:2009-02-17
很无奈……
辛辛苦苦做好了,上传到服务器,却发现出错……
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
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")
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
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
相关日志:
文章来自: 本站原创
Tags: Asp 导入 Excel 服务器 XML
相关日志:
评论: 1 | 引用: 0 | 查看次数: 808
回复
]'''''''
发表评论
页面用力 o>﹏<o 加载中...
上一篇
下一篇




