账号通
    

账号  

密码  

40210

查看

80

回复
主题:数据库导出真正的EXCEL文件---附源码 [收藏主题] 转到:  
ahwh 当前离线

101

主题

1

广播

5

粉丝
添加关注
级别:一年级

用户积分:977 分
登录次数:318 次
注册时间:2009/4/10
最后登录:2020/3/27
ahwh 发表于:2012/3/6 15:28:37   | 只看该作者 查看该作者主题 楼主 
科汛在线网校系统

我也是从网上弄来的,自己加工了一下,更符合科汛的要求。。

生成真正的EXCEL文件,而不是更改了后缀的文本文档。。



也是因为上次发贴 http://bbs.kesion.com/forumthread-356979.html



有部分汛友跟贴和消息要求给出来源码,我经常分享别人的成果,今天也奉献一下自己的。。。



先上张生成的EXCEL报表图。。这样的报表应该够用了。



点击查看原图



操作步骤一。。



打开ADMIN /ks.CLASS.asp  用DW查找到“清空” 这儿是生成栏目的地方。你在合适的地方添加以下代码。



.echo "<input type=""text"" style=""display:none"" name=""myname"" id=""myname"" value='" & Node.SelectSingleNode("@foldername").text & "'>"

.echo "<input type=""text"" style=""display:none"" name=""bj"" id=""bj"" value='" & ID & "' >"



.echo " <input type=""submit"" name=""Submit3"" style='display:inline;' style="" border:0;line-height:18px;cursor:pointer; display:inline;background-color:#fff;"" value=""导出EXCEL表"" />"



红色部分是设定一个ID为MYNAME的文本框值,取的是栏目的名称,因为导出EXCEL直接就拿该栏目名称命名了。

蓝色部分是定义ID为BJ 取当前栏目的TID编号,为下一页导出查询SQL语句做准备。

黑色部分是用按钮提交,FORM支持新窗口打开,你也可以定义一下。如果这些不懂的话,你弄的就吃力,找个稍懂的人帮你修改一下。

上一张我更改后的后台图片

点击查看原图



导出EXCEL是个按钮,FORM指向EXCEL.asp文件。



EXCEL.asp为导出EXCEL源文件,其工作的原理是,

调用EXCEL,打开一个模板,然后逐行向里面添加自定义字段的,,,有模板,那么就好定义EXCEL的美观程度了。各位自己去发挥吧。

做了备注,应该能好理解和更改的。



bj=request.form("bj")'取得上个页面按钮传递过来的值‘上页传递过来的值是栏目的TID值,下面需要用来查询语句使用。

myname=request.form("myname")'取得上个页面按钮传递过来的值'上页传递过来的值是栏目的名称,我作为导出的EXCEL名称。

set objExcel=CreateObject("Excel.Application") '建立EXCEL连接

'(2) 打开Excel模板

objExcel.Workbooks.Open(server.mappath("mnkc")&"\excel.xlt") '打开Excel模板,mnkc是文件夹

objExcel.Sheets(1).select '选中工作页

set sheetActive=objExcel.ActiveWorkbook.ActiveSheet

dim  conn,strconn  '建立变量

set conn=server.CreateObject("adodb.connection")  '建立数据库连接

strconn="driver={Microsoft Access driver (*.mdb)};dbq="&server.mappath("../data/mydata.mdb") '数据库路径

conn.Open strconn  

strSql = "select * from KS_U_hyzc where TID='"&bj&"'"'查询语句

set rstData=server.createobject("adodb.recordset")'设置对象

rstData.open strSql,conn

'这里假设已有一个数据集rstData,存放由Sql操作生成的统计数据。

num=3 '从Excel的第七行开始

do until rstData.EOF '循环直至数据集中的数据写完

strRange="a"&num&":aj"&num '设定要填写内容的单元区域

sheetActive.range(strRange).font.size=10 '设定字体大小

sheetActive.range(strRange).WrapText=false '设定文字回卷

sheetActive.range(strRange).ShrinkToFit=true '设定是否自动适应表格单元大小

sheetActive.range(strRange).value=array(rstData("title"),rstData("ks_xb"),rstData("ks_sen"),rstData("ks_city"),rstData("ks_ssyy"),rstData("ks_ks"),rstData("ks_zc"),rstData("ks_lxdh"),rstData("ks_jzyj"),rstData("ks_zjhm"),rstData("KS_dc_cfrq"),rstData("KS_dc_cfcs"),rstData("KS_dc_ddcs"),rstData("KS_dc_fjhb"),rstData("KS_dc_qfsj"),rstData("KS_dc_ddsj"),rstData("KS_hc_cfrq"),rstData("KS_hc_cfcs"),rstData("KS_hc_ddcs"),rstData("KS_hc_fjhb"),rstData("KS_hc_qfsj"),rstData("KS_hc_ddsj"),rstData("KS_df_cfrq"),rstData("KS_df_cfcs"),rstData("KS_df_ddcs"),rstData("KS_df_fjhb"),rstData("KS_df_qfsj"),rstData("KS_df_ddsj"),rstData("KS_hf_cfrq"),rstData("KS_hf_cfcs"),rstData("KS_hf_ddcs"),rstData("KS_hf_fjhb"),rstData("KS_hf_qfsj"),rstData("KS_hf_ddsj"),rstData("KS_bz"),rstData("AddDate")) '把数据集中的数据填写到相应的单元中



下载的文件包里有模板和EXCEL.ASP文件。。拿去用吧。



以下内容只有回复后才可以浏览,请先登录!







另啰嗦二句



要达成导出EXCEL的条件,需要服务器 的数据源有 XLS类型  ODBC支持。。

另外还有一个地方给权限,即是组件服务里 连接类型选择调用,然后给权限。。。。网上一搜一大把。。



助你一臂之力,帮你省点代码。



 
  支持(17) | 反对(16) 回到顶部顶端 回到底部底部
刚刚 当前离线

1852

主题

5

广播

126

粉丝
添加关注
级别:版主

用户积分:7093 分
登录次数:225 次
注册时间:2010/7/6
最后登录:2024/4/15
刚刚 发表于:2012/3/6 15:48:04   | 只看该作者 查看该作者主题 沙发 
 
专业网站漏洞检测与修复及服务器安全维护、专业程序修改与二次开发及标签制作。QQ:2813239495 详谈
  支持(17) | 反对(17) 回到顶部顶端 回到底部底部
ailuweisi 当前离线

342

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:575 分
登录次数:15 次
注册时间:2008/1/17
最后登录:2012/3/29
ailuweisi 发表于:2012/3/6 18:38:30   | 只看该作者 查看该作者主题 藤椅 
 
  支持(10) | 反对(7) 回到顶部顶端 回到底部底部
flyydy 当前离线

1

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:1 分
登录次数:1 次
注册时间:2012/3/7
最后登录:2012/3/7
flyydy 发表于:2012/3/7 2:32:13   | 只看该作者 查看该作者主题 板凳 
 
  支持(1) | 反对(1) 回到顶部顶端 回到底部底部
dengcc 当前离线

208

主题

3

广播

0

粉丝
添加关注
级别:二年级

用户积分:2003 分
登录次数:189 次
注册时间:2009/8/17
最后登录:2015/5/18
dengcc 发表于:2012/3/7 3:20:22   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
浪侠 当前离线

416

主题

4

广播

1

粉丝
添加关注
级别:四年级

用户积分:2073 分
登录次数:299 次
注册时间:2007/2/12
最后登录:2019/3/14
浪侠 发表于:2012/3/7 8:22:14   | 只看该作者 查看该作者主题 地板 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
浪侠 当前离线

416

主题

4

广播

1

粉丝
添加关注
级别:四年级

用户积分:2073 分
登录次数:299 次
注册时间:2007/2/12
最后登录:2019/3/14
浪侠 发表于:2012/3/7 8:22:54   | 只看该作者 查看该作者主题 7楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
ailuweisi1 当前离线

302

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:322 分
登录次数:9 次
注册时间:2012/3/1
最后登录:2012/4/16
ailuweisi1 发表于:2012/3/7 8:40:49   | 只看该作者 查看该作者主题 8楼 
做在线知识付费 选科汛云开店

路过 这贴会不会被删啊无聊


 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
tanweichun0202 当前离线

352

主题

4

广播

1

粉丝
添加关注
级别:三年级

用户积分:716 分
登录次数:235 次
注册时间:2011/10/8
最后登录:2015/5/29
tanweichun0202 发表于:2012/3/7 9:10:54   | 只看该作者 查看该作者主题 9楼 
 
&lt;a href=http:&#47;&#47;www.xjzjszyj.cn&#47;&gt;新疆职业院校思想政治教育工作网&lt;&#47;a&gt;
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
gaoxun09 当前离线

1184

主题

0

广播

0

粉丝
添加关注
级别:八年级

用户积分:1146 分
登录次数:43 次
注册时间:2011/6/24
最后登录:2012/8/6
gaoxun09 发表于:2012/3/7 9:20:09   | 只看该作者 查看该作者主题 10楼 
科汛在线网校系统

这叫什么事啊  我再认真看看

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行5.14893秒 powered by KesionCMS 9.0