1.请高手帮忙!报表源报表!制作!报表源报表用ASP如何生成excel报表 本人原意贡献所有积分谢谢!制作!报表源报表!制作小呆瓜源码
2.报表asp是报表源报表什么意思?
请高手帮忙!!制作!报表源报表用ASP如何生成excel报表 本人原意贡献所有积分谢谢!制作!报表源报表!制作
生成报表是报表源报表mysql核心源码做系统经常遇到的事,一些企业或者单位往往要求EXCEL格式的报表!
第一种方式
程序代码
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = "c:\online.xls"
'-创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
rs.Open sql,conn
if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine= strLine & x.name & chr(9)
Next
'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine= strLine & x.value & chr(9)
next
'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop
end if
Set fs=Nothing
这方法的好处是不管有多少条记录 速度上是没问题 但是有一个很严重的缺点 就是生成的EXCEL文件的格式不能得到很好的控制 例如 单元格的格式不能改变等
第二种方法 用EXCEL组件+EXCEL模板
原理是打开一个存在的EXCEL模板文件 然后写入数据后在另存为所要的报表文件
优点:格式能很好的控制
缺点:速度上很慢 (因为控件接口很费资源)
看了微软的说明又想到了用数组做中转的方法 只要打开一个接口写入所有数据,于是问题得到了解决,可是新的问题出来了,万或者更高的记录时 数组就的空间分配就成了问题了.
工夫不负有心人 ,经过几天努力 终于完美解决
就是记录多时分批写入~~~~~~~~~
程序代码
sub writetoarr(lines,begin_rs,begin_exl)
'==============================================================================
'过程writetoarr(lines,begin_rs,begin_exl)写入EXCEL
'lines:要写入的记录条数
'begin_rs:从第几条记录开始
'begin_exl:要写入的EXCEL开始位置
'==============================================================================
redim temparr(lines-1,)
'--将表的列名存放到数组
'--将表的数据存放到数组
ii=1
For i = begin_rs To begin_rs+lines-1
j=0
'response.write ii&"<br>"
For each x in rs.fields
temparr(ii-1,j)=x.value
j=j+1
Next
ii=ii+1
rs.movenext
Next
objExcelSheet.Range("A"&begin_exl).Resize(lines, ).Value = temparr
redim temparr(0,0)
response.write "从A"&begin_exl&"开始写到A"&begin_exl+lines&"<br>"
response.write "从第"&begin_rs&"条到"&begin_rs+lines&"条记录<br>"
response.write "共写入"&lines&"行<br>"
response.write "-------------------------<br>"
end sub
maxk=rs.recordcount
beginrs=1 '从第几条记录开始,一般是制作1
beginexl=2 '从excel的第几行开始写,一般是报表源报表2
liness= '每次操作多少条记录,不建议超过万
do while maxk>0
if maxk>liness then
call writetoarr(liness,beginrs,beginexl)
beginrs=beginrs+liness
beginexl=beginexl+liness
maxk=maxk-liness
else
call writetoarr(maxk,beginrs,beginexl)
exit do
end if
loop
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = "c:\online.xls"
'-创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
rs.Open sql,conn
if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine= strLine & x.name & chr(9)
Next
'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine= strLine & x.value & chr(9)
next
'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop
end if
Set fs=Nothing
这方法的好处是不管有多少条记录 速度上是没问题 但是有一个很严重的缺点 就是生成的EXCEL文件的格式不能得到很好的控制 例如 单元格的格式不能改变等
第二种方法 用EXCEL组件+EXCEL模板
原理是打开一个存在的EXCEL模板文件 然后写入数据后在另存为所要的报表文件
优点:格式能很好的控制
缺点:速度上很慢 (因为控件接口很费资源)
看了微软的说明又想到了用数组做中转的方法 只要打开一个接口写入所有数据,于是问题得到了解决,可是新的问题出来了,万或者更高的记录时 数组就的空间分配就成了问题了.
工夫不负有心人 ,经过几天努力 终于完美解决
就是记录多时分批写入~~~~~~~~~
程序代码
sub writetoarr(lines,begin_rs,begin_exl)
'==============================================================================
'过程writetoarr(lines,begin_rs,begin_exl)写入EXCEL
'lines:要写入的记录条数
'begin_rs:从第几条记录开始
'begin_exl:要写入的EXCEL开始位置
'==============================================================================
redim temparr(lines-1,)
'--将表的列名存放到数组
'--将表的数据存放到数组
ii=1
For i = begin_rs To begin_rs+lines-1
j=0
'response.write ii&"<br>"
For each x in rs.fields
temparr(ii-1,j)=x.value
j=j+1
Next
ii=ii+1
rs.movenext
Next
objExcelSheet.Range("A"&begin_exl).Resize(lines, ).Value = temparr
redim temparr(0,0)
response.write "从A"&begin_exl&"开始写到A"&begin_exl+lines&"<br>"
response.write "从第"&begin_rs&"条到"&begin_rs+lines&"条记录<br>"
response.write "共写入"&lines&"行<br>"
response.write "-------------------------<br>"
end sub
maxk=rs.recordcount
beginrs=1 '从第几条记录开始,一般是1
beginexl=2 '从excel的第几行开始写,一般是2
liness= '每次操作多少条记录,不建议超过万
do while maxk>0
if maxk>liness then
call writetoarr(liness,前端源码制作beginrs,beginexl)
beginrs=beginrs+liness
beginexl=beginexl+liness
maxk=maxk-liness
else
call writetoarr(maxk,beginrs,beginexl)
exit do
end if
loop
报表asp是什么意思?
报表ASP即报表应用程序,是一种用于生成和展示各种业务报表的工具。它通常运行在网络服务器上,通过浏览器访问,将数据从数据源提取出来后自动处理成报表,并让用户通过页面进行数据筛选、排序、金银柱源码分页等操作,方便用户对数据集合进行详细的数据分析。
报表ASP能够迅速生成多种不同类型的报表,例如图表、列表和交叉表等。报表ASP的沥青指标源码特点是语法简单易学,适用于多种数据源,数据导入导出方便灵活,使得数据分析和报表制作更加高效。报表ASP的数据展示效果清晰美观,能够直观地展示数据结果,让用户快速获得数据分析结果。
报表ASP适用于各种企业业务场景。例如,在金融行业中,银行通过使用报表ASP快速分析客户信用、贷款结构、转账行为、信用卡消费行为等数据,为业务决策提供支持;在电商行业中,企业通过使用报表ASP来分析产品销售情况、库存状况、订单数量等数据,为企业经营管理提供决策依据。因此,报表ASP是企业进行数据分析和报表制作的关键工具之一,适用性广泛,能够提高数据分析效率和决策质量。