热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ASP操作Excel技术总结

ASP操作Excel技术总结

目录 

一、 环境配置 

二、 ASP对Excel的基本操作 

三、 ASP操作Excel生成数据表 

四、 ASP操作Excel生成Chart图 

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

六、 附录 

正文 

一、 环境配置 

服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 

1.Win9x+PWS+Office 

2.Win2000 Professional+PWS+Office 

3.Win2000 Server+IIS+Office 

目前笔者测试成功的环境是后二者。Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。 

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

1. 笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。 

2. 笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。 

服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。 

客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。 

二、 ASP对Excel的基本操作 

1、 建立Excel对象  

以下是引用片段:
set objExcelApp = CreateObject("Excel.Application")  

objExcelApp.DisplayAlerts = false 不显示警告  

objExcelApp.Application.Visible = false 不显示界面
 
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”,保证每次程序执行完不留下死进程。


推荐阅读
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
author-avatar
曾wujcik_663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有