导出页面内容到excel,都有哪些方法?
ssh78 2009-12-03 09:14:35 一个表格,多列数据,都是输入内容,怎样将这些数据处理之后(并不单单是输出,还要求处理后再输出)输出到excel?
asp都有哪些方法?
下面是我写的,但是老报错,设置了组件服务里的权限了,在xp下可以,在2003下就老报错。我都要考虑是不是要放弃了这种方法。但是似乎也没有其他好的方法呀
If Request("cmdb")="导出到excel" then
appitemids=split(request("appitemid"),", ")
appnums=split(request("appnum"),", ")
appbass=split(request("appbas"),", ")
lastplannums=split(request("lastplannum"),", ")
usednums=split(request("usednum"),", ")
expnums=split(request("expnum"),", ")
utrnums=split(request("utrnum"),", ")
lastfactnums=split(request("lastfactnum"),", ")
Set ExcelApp=server.CreateObject("Excel.Application")
ExcelApp.Application.Visible = True
Set ExcelBook = ExcelApp.Workbooks.Add
ExcelBook.WorkSheets(1).cells(1,6).value ="预算申请数据(单位:元)"
ExcelBook.WorkSheets(1).cells(2,1).value ="部门"
ExcelBook.WorkSheets(1).cells(2,2).value =getgszx(bmid)
ExcelBook.WorkSheets(1).cells(2,3).value ="年度"
ExcelBook.WorkSheets(1).cells(2,4).value =ayear
ExcelBook.WorkSheets(1).cells(2,5).value ="类型"
ExcelBook.WorkSheets(1).cells(2,6).value =aclass
ExcelBook.WorkSheets(1).cells(2,7).value ="是否分解"
ExcelBook.WorkSheets(1).cells(2,8).value =asplit
ExcelBook.WorkSheets(1).cells(4,1).value ="序号"
ExcelBook.WorkSheets(1).cells(4,2).value ="级次"
ExcelBook.WorkSheets(1).cells(4,3).value ="主管部门"
ExcelBook.WorkSheets(1).cells(4,4).value ="项目"
ExcelBook.WorkSheets(1).cells(4,5).value ="上期预算"
ExcelBook.WorkSheets(1).cells(4,6).value ="上期实际"
ExcelBook.WorkSheets(1).cells(4,7).value ="预计"
ExcelBook.WorkSheets(1).cells(4,8).value ="列支"
ExcelBook.WorkSheets(1).cells(4,9).value ="费用合计"
ExcelBook.WorkSheets(1).cells(4,10).value ="年度预算申请金额"
ExcelBook.WorkSheets(1).cells(4,11).value ="预算说明"
set rsitem1=server.CreateObject("adodb.recordset")
sqlitem1="select * from v_model where model_year='"&ayear&"' order by id "
rsitem1.open sqlitem1,oconn,1,3
i=0
j=4
l=rsitem1.recordcount+4
while not rsitem1.eof
itemid=rsitem1("item_id")
ilevel=rsitem1("item_level")
imanname=rsitem1("man_dep_name")
iname=rsitem1("item_name")
i=i+1
j=j+1
ExcelBook.WorkSheets(1).cells(j,1).value =i
ExcelBook.WorkSheets(1).cells(j,2).value =ilevel
ExcelBook.WorkSheets(1).cells(j,3).value =imanname
ExcelBook.WorkSheets(1).cells(j,4).value =iname
rsitem1.movenext
wend
rsitem1.close()
set rsitem1 = nothing
j=4
sumappnum=0
sumlastplannum=0
sumusednum=0
sumexpnum=0
sumutrnum=0
sumlastfactnum=0
for k=0 to ubound(appitemids)
j=j+1
ExcelBook.WorkSheets(1).cells(j,5).value =lastplannums(k)
ExcelBook.WorkSheets(1).cells(j,6).value =usednums(k)
ExcelBook.WorkSheets(1).cells(j,7).value =expnums(k)
ExcelBook.WorkSheets(1).cells(j,8).value =utrnums(k)
ExcelBook.WorkSheets(1).cells(j,9).value =lastfactnums(k)
ExcelBook.WorkSheets(1).cells(j,10).value =appnums(k)
ExcelBook.WorkSheets(1).cells(j,11).value =appbass(k)
sumappnum=sumappnum+replace(appnums(k),",","")
sumlastplannum=sumlastplannum+replace(lastplannums(k),",","")
sumusednum=sumusednum+replace(usednums(k),",","")
sumexpnum=sumexpnum+replace(expnums(k),",","")
sumutrnum=sumutrnum+replace(utrnums(k),",","")
sumlastfactnum=sumlastfactnum+replace(lastfactnums(k),",","")
next
'写合计
l=l+1
ExcelBook.WorkSheets(1).cells(l,1).value=l-4
ExcelBook.WorkSheets(1).cells(l,4).value="费用总计"
ExcelBook.WorkSheets(1).cells(l,5).value=FormatNumber(sumlastplannum/2,2,-1)
ExcelBook.WorkSheets(1).cells(l,6).value=FormatNumber(sumusednum/2,2,-1)
ExcelBook.WorkSheets(1).cells(l,7).value=FormatNumber(sumexpnum/2,2,-1)
ExcelBook.WorkSheets(1).cells(l,8).value=FormatNumber(sumutrnum/2,2,-1)
ExcelBook.WorkSheets(1).cells(l,9).value=FormatNumber(sumlastfactnum/2,2,-1)
ExcelBook.WorkSheets(1).cells(l,10).value=FormatNumber(sumappnum/2,2,-1)
ExcelApp.Quit
set ExcelApp=Nothing
response.write "<script>history.back(-1);</script>"
end if