将记录集存为EXCEL的问题
njhxc 2005-05-16 08:56:32 以前在VB版找到一段代码将记录集存为EXCEL,我把这段代码移值到ASP中很长时间不出结果,各位帮忙看一下
<%
stropen="select fee_date,sum(charge_dkh) dkh,sum(charge_sy) sy,sum(charge_gz1) gz1,sum(charge_gz2) gz2,sum(charge_lc) lc,sum(charge_wy) wy,sum(charge_zz) zz from njdx_tj_qf_day_charge_new where rf_date_time='20050426' group by fee_date"
set Rs_Data=server.createobject("adodb.recordset")
set oracle_conn=server.createobject("adodb.connection")
oracle_conn.open connstr
rs_data.open stropen,oracle_conn,1,1
If rs_data.RecordCount < 1 Then
Response.Redirect "ERROR.asp?ID=004"
End If
'记录总数
Irowcount = rs_data.RecordCount
'字段总数
Icolcount = rs_data.Fields.Count
Set xlApp = CreateObject("Excel.Application")
Set xlBook = Nothing
Set xlSheet = Nothing
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1")
xlApp.Visible = True
'添加查询语句,导入EXCEL数据
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Name = "黑体"
'设标题为黑体字
.Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
'标题字体加粗
.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
'设表格边框样式
End With
With xlSheet.PageSetup
.LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ' & Gsmc
.CenterHeader = "&""楷体_GB2312,常规""大客户收入&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
.RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10部门:"
.LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
.CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
.RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
End With
xlApp.Application.Visible = True
Set xlApp = Nothing '"交还控制给Excel
Set xlBook = Nothing
Set xlSheet = Nothing
Set Rs_Data = Nothing
%>