当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp操作excel文件的函数

ASP
asp中常用的文件处理函数
正确处理ASP动态网页中的容错机制
asp自动生成javascript检验函数
如何避免asp的SQL的执行效率低
编译asp应用程序成为exe文件
ASP完成小偷程序机制和简略示例
ASP技巧:rs.getrows方法
ASP简单实现数字字符混合验证码
ASP技巧 挂QQ的网页源代码ASP/PHP
ASP实例:用ASP判断文件地址是否有效
ASP实例:使用ASP生成图片彩色校验码
ASP如何跳出本次进入下一次循环
ASP读取数据库中数据到数组的类
为你的ASP程序作一个负载测试
如何用ASP来获取客户端真实IP的地址
asp脚本运行超时的解决办法
ASP缓存类 【先锋缓存类】Ver2004
ASP动态包含文件的改进方法
ASP中利用application实现缓存
ASP Application 对象用户手册

ASP 中的 asp操作excel文件的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 238 ::
收藏到网摘: n/a

一、配置方法

1、开始---运行---dcomcnfg

2、组件服务---计算机---我的电脑---dcom配置---Microsoft Excel应用程序(右键)---属性---安全

3、启动和激活权限 选择自定义,点击编辑,添加用户everyone并给予所有权限

4、访问权限、配置权限同上

二、ASP对Excel的基本操作

1、建立Excel对象

2、新建Excel文件


objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)

3、读取已有Excel文件 


strAddr = Server.MapPath(".") 
objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls") 
set objExcelBook = objExcelApp.ActiveWorkBook 
set objExcelSheets = objExcelBook.Worksheets 
set objExcelSheet = objExcelBook.Sheets(1) 

4、另存Excel文件


objExcelBook.SaveAs strAddr & "\Temp\Table.xls" 

5、保存Excel文件 


objExcelBook.Save(笔者测试时保存成功,页面报错。)
 

6、退出Excel操作


objExcelApp.Quit '一定要退出
set objExcelApp = Nothing

三、ASP操作Excel生成数据表 

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


objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10") 

2、在一个单元格内插入数据


objExcelSheet.Cells(3,1).Value="Internet Explorer" 

3、选中一个范围

4、单元格左边画粗线条

5、单元格右边画粗线条

6、单元格上边画粗线条

7、单元格下边画粗线条

8、单元格设定背景色

9、合并单元格

10、插入行

11、插入列 

四、ASP操作Excel生成Chart图

1、创建Chart图


objExcelApp.Charts.Add 

2、设定Chart图种类 


objExcelApp.ActiveChart.ChartType = 97 

注:二维折线图,4;二维饼图,5;二维柱形图,51 

3、设定Chart图标题


objExcelApp.ActiveChart.HasTitle = True 
objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart" 

4、通过表格数据设定图形


objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1 

5、直接设定图形数据(推荐)


objExcelApp.ActiveChart.SeriesCollection.NewSeries 
objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333""" 
objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}"
 

6、绑定Chart图 


objExcelApp.ActiveChart.Location 1

7、显示数据表 


objExcelApp.ActiveChart.HasDataTable = True

8、显示图例 


objExcelApp.ActiveChart.DataTable.ShowLegendKey = True

五、服务器端Excel文件浏览、下载、删除方案 

浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。

删除方案由三部分组成: 

A:同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。

B:在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。

C:在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 

注:建议目录结构 \Src 代码目录 \Templet 模板目录 \Temp 暂存目录 

六、附录 

出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On Error Resume Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到"Application.Quit”,保证每次程序执行完不留下死进程。