asp操作excel技术综述

目录

1。环境配置

两个基本操作,ASP到Excel

三,ASP操作excel来生成数据表。

四、asp操作excel生成图表

五。在服务器端浏览、下载和删除excel文件的方案

六、附录

文本

1。环境配置

在服务器端环境配置中,从引用数据中,应该配置微软系列,即:

1。Win9x + PWS +办公

2.win2000 PWS +专业+办公室

3.Win2000 Server+IIS+Office

目前,作者对环境的成功测试是最后两个,Office版本没有特别的要求。考虑到客户端配置的不确定性和兼容性,建议服务器端的Office版本不应该过高,以防止客户端在下载后被正确显示。

服务器端环境配置中有两个偶然发现:

1。作者开发的机器上的wps2002,原本设有金山村、和Excel对象创作的结果始终是一个问题。卸载后的wps2002,错误消失。

2,作者开发的ASP代码,喜欢用FrontPage。事实证明,如果FrontPage打开(服务器端),对象的创建是不稳定的,有时它是成功的。扩展的调查后,发现如果办公系列软件运行在服务器端,对Excel对象的创建很难成功。

一点,服务器端也必须设置的COM组件的操作权限。当你进入DCOMCNFG在命令行中,输入组件配置界面。选择微软Excel后,单击属性按钮,选择三个单独项目,并将每个人添加到所有权限。

客户机的环境配置没有找到任何特定的地方,只要它配备了办公室和IE,它似乎是通用的。

两个基本操作,ASP到Excel

1。建立Excel对象





下面是引用的片段:
集objexcelapp = CreateObject(Excel应用程序)

objexcelapp.displayalerts =假不显示警告

objexcelapp.application.visible =假不显示界面
2。构建一个新Excel文件





下面是引用的片段:
objexcelapp.workbooks.add

集objexcelbook = objexcelapp.activeworkbook

设置工作表objexcelbook objexcelsheets =。

集objexcelsheet = objexcelbook。表(1)
三.读取现有Excel文件





下面是引用的片段:
straddr = server.mappath(,)

ObjExcelApp.WorkBooks.Open(straddr 模板表.xls)

集objexcelbook = objexcelapp.activeworkbook

设置工作表objexcelbook objexcelsheets =。

集objexcelsheet = objexcelbook。表(1)
4。保存excel文件





下面是引用的片段:
objexcelbook.saveas straddr 温度表.xls
5。保存excel文件





下面是引用的片段:
objexcelbook。拯救(作者已成功保存测试,页面是错误的。)
6。退出excel操作





下面是引用的片段:
objexcelapp退出必须退出。

集objexcelapp =没有
三,ASP操作excel来生成数据表。

1。在一个范围内插入数据





下面是引用的片段:
objexcelsheet。范围(B3:K3)。值=阵列(67
2。在单元格中插入数据





下面是引用的片段:
objexcelsheet。细胞(3,1)。值=Internet Explorer
三.选择范围

4。细胞左侧的粗线

5。细胞右边的粗线

6。细胞顶上的粗线

7。细胞底部的粗线

8,单元格设置背景色。

9。合并单元格

10。插入线

11。插入列

四、asp操作excel生成图表

1。创建图表





下面是引用的片段:
objexcelapp.charts.add
2。设置图表类型





下面是引用的片段:
objexcelapp.activechart.charttype = 97
注:二维线图,4;二维饼图,5;二维柱图,51。

三.设置图表的标题





下面是引用的片段:
objexcelapp.activechart.hastitle =真

objexcelapp.activechart.charttitle.text =测试图
4。通过表数据设置图形





下面是引用的片段:
objexcelapp.activechart.setsourcedata objexcelsheet。范围(A1:K5 ),1
5。直接设置图形数据(推荐)





下面是引用的片段:
objexcelapp.activechart.seriescollection.newseries

objexcelapp.activechart.seriescollection(1)。名称== 333

objexcelapp.activechart.seriescollection(1)。值== { 1,4,5,6,2 }
6、装订图





下面是引用的片段:
objexcelapp.activechart.location 1
7。显示数据表





下面是引用的片段:
objexcelapp.activechart.hasdatatable =真
8。显示图例





下面是引用的片段:
objexcelapp.activechart.datatable.showlegendkey =真
五。在服务器端浏览、下载和删除excel文件的方案

浏览的方式有很多种。位置。href =,导航和响应重定向可以实现。推荐客户端方法,因为服务器生成更多Excel文件。

下载的实现将是一个小麻烦。这是一个很好的解决方案,从准备到下载组件的服务器的网页或开发您自己的自定义组件,另一种是操作excel组件在客户端,而客户端运行服务器端Excel文件给客户。这种方法需要客户端打开不安全的ActiveX控件的操作权限。考虑到每个客户端都将服务器设置为可信站点的故障级别,建议第一种方法更方便。

删除方案由三部分组成:

同一个用户生成的Excel文件使用相同的文件名。文件名可以由一定的非重复的字符串,如用户ID或Session ID号。这一新的文件将自动覆盖文件新文件时产生的。

B:当设置Global.asa文件中的session_onend事件,删除用户的Excel文件和临时文件。

C:当设置Global.asa文件中的application_onstart事件,删除临时目录中的所有文件。

注:推荐目录结构源代码目录模板模板目录 TEMP临时目录

六、附录

Excel的死亡过程在出错时是令人头痛的。在每个文件之前加上错误恢复将有助于改善这种情况,因为它将继续执行到应用程序。不管文件是否错误,都要退出,这样每一个进程都能执行而不留下死进程。