<!--#include file="adovbs.inc"-->
C:\Program Files\Common Files\System\ado
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”,保证每次程序执行完不留下死进程。
sub Import2Xls()
'把结果转存到Excel中
dim objXls
dim sSql
dim iCount
dim iIndex,idir,istr,iend,count,ipage,userunit,line,str_text, a, b, l_start, x, lc, acount
dim ObjChk, userkey, groupkey
set obj=CreateObject("Excel.Application")
obj.Visible=True
obj.Workbooks.Add
if Err.number <> 0 then
'出错
obj.quit
set obj=Nothing
msgbox "本机没有安装Excel或者生成新文件时出错!",16,"输出到Excel"
else
.columns.columnwidth =3.75 '栏宽
.Rows.RowHeight = 22
.columns(1).columnwidth = 23.75 '栏宽
.columns(1).HorizontalAlignment = -4131 '格式居左
.rows(1).rowheight = 120
.rows(1).VerticalAlignment= -4160
.rows(1).Orientation = -4166
<%If Request("ShowStyle")="PowerTop" then%>
GroupList true, 2, obj
UserList false, 2, obj
PowerList true, obj
<%Elseif Request("ShowStyle")="UserTop" then%>
GroupList false, 2, obj
UserList true, 2, obj
PowerList false, obj
<%End if%>
with .Range(.Cells(1,1), .Cells(rowcount + 1, colcount + 1)).Borders(7) '画左边界
.LineStyle = 1
.Weight = -4138
.ColorIndex = -4105
End with
with .Range(.Cells(1,1), .Cells(rowcount + 1, colcount + 1)).Borders(8) '画上边界
.LineStyle = 1
.Weight = -4138
.ColorIndex = -4105
End with
with .Range(.C
没有合适的资源?快使用搜索试试~ 我知道了~
Mis.rar_accounting system_报账_报账管理系统_财务报账系统_财务管理 系统 ASP
共424个文件
asp:318个
jpg:40个
gif:26个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2022-09-22
18:28:53
上传
评论
收藏 674KB RAR 举报
温馨提示
财务管理系统 报账等基本功能实现 有完整的实现
资源推荐
资源详情
资源评论
收起资源包目录
Mis.rar_accounting system_报账_报账管理系统_财务报账系统_财务管理 系统 ASP (424个子文件)
InOutEdit.asp 9KB
SaleEdit.asp 8KB
ReturnEdit.asp 8KB
ReturnEdit.asp 8KB
AreaList.asp 8KB
TypeList.asp 7KB
DepList.asp 7KB
PurEdit.asp 7KB
EmpEdit.asp 7KB
CreateSalaryReport.asp 7KB
AssignList.asp 6KB
SalaryEdit.asp 6KB
EvaEdit.asp 6KB
TransEdit.asp 6KB
SaleEdit.asp 6KB
Types.asp 6KB
SInOutSts.asp 6KB
Types.asp 6KB
Types.asp 6KB
Types.asp 6KB
ExchangeSearch.asp 6KB
EmpSel.asp 6KB
EmpSel.asp 6KB
Types.asp 5KB
EmpSel.asp 5KB
EmpSel.asp 5KB
EmpSel.asp 5KB
EmpSel.asp 5KB
TrnEdit.asp 5KB
EmpSel.asp 5KB
SaleListByCust.asp 5KB
ProEdit.asp 5KB
CustEdit.asp 5KB
AssetsEdit.asp 5KB
InOutView.asp 5KB
AssetsList.asp 5KB
EmpSel.asp 5KB
EmpAdd.asp 5KB
ExchangeSearch.asp 5KB
ContactEdit.asp 5KB
TaskEdit.asp 5KB
SaleList.asp 5KB
ListEdit.asp 5KB
TaskEdit.asp 5KB
ItemEdit.asp 5KB
ListRntEdit.asp 5KB
SInOutSch.asp 5KB
TaskList.asp 5KB
ContactList.asp 5KB
CarEdit.asp 4KB
SaleView.asp 4KB
PurView.asp 4KB
ReturnListByCust.asp 4KB
ProSel.asp 4KB
CostEdit.asp 4KB
ReturnView.asp 4KB
ProRntSel.asp 4KB
CostList.asp 4KB
ProRntSel.asp 4KB
ReturnView.asp 4KB
InvEdit.asp 4KB
InvoiceEdit.asp 4KB
LendEdit.asp 4KB
MethodList.asp 4KB
CustomerList.asp 4KB
ProSel.asp 4KB
ListEdit.asp 4KB
ListEdit.asp 4KB
ListRntEdit.asp 4KB
ProEdit.asp 4KB
MeetingEdit.asp 4KB
ProSel.asp 4KB
DespEdit.asp 4KB
left.asp 4KB
QuoteEdit.asp 4KB
AssignList.asp 4KB
AlterEdit.asp 4KB
AssignEdit.asp 4KB
TaskList.asp 4KB
InOutList.asp 4KB
ExchangeEdit.asp 4KB
CheckListByType.asp 4KB
LendList.asp 4KB
InfoEdit.asp 4KB
left.asp 4KB
MeetingList.asp 4KB
InfoList.asp 4KB
SaleListByDate.asp 4KB
SaleListById.asp 4KB
left.asp 4KB
InCEdit.asp 4KB
RepairEdit.asp 3KB
CheckListByDate.asp 3KB
CtSel.asp 3KB
ItemList.asp 3KB
MethodEdit.asp 3KB
InfoSel.asp 3KB
ProListByType.asp 3KB
InCList.asp 3KB
FaqEdit.asp 3KB
共 424 条
- 1
- 2
- 3
- 4
- 5
资源评论
小波思基
- 粉丝: 70
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功