下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何用 asp 把 access 中数据导出到 excel 表格中?ASP 操作 Excel 技术总结目录一、环境配置二、ASP 对 Excel 的基本操作三、ASP 操作Excel生成数据表四、ASP 操作Excel生成 Chart图五、服务器端Excel文件浏览、下载、删除方案六、附录正文一、环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1 Win9x+PWS+Office2 Win2000 Professional+PWS+Office3 Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者。 Office 的版本没有特殊要求,考虑到客
2、户机配置的不确定性和下兼容 特性,建议服务器端 Office 版本不要太高,以防止客户机下载后无法正确显示。 服务器端环境配置还有两个偶然的发现是:1 笔者开发机器上原来装有金山的 WPS2002 ,结果 Excel 对象创建始终出现问题, 卸载 WPS2002 后,错误消失。2 笔者开发 ASP 代码喜欢用 FrontPage ,结果发现如果 FrontPage 打开(服务器端),对象创建 出现不稳定现象, 时而成功时而不成功。 扩展考察后发现, Office 系列的软件如果在服务器端运行, 则 Excel 对象的创建很难成功。服务器端还必须要设置的一点是 COM 组件的操作权限。 在命令行
3、键入 “DCOMCN”FG ,则进入 COM 组件 配置界面,选择 Microsoft Excel 后点击属性按钮,将三个单选项一律选择自定义,编辑中将 Everyone 加入所有权限。保存完毕后重新启动服务器。客户端的环境配置没发现什么特别讲究的地方,只要装有 Office 和 IE 即可,版本通用的好象都可以。二、ASP 对 Excel 的基本操作1 、建立 Excel 对象set objExcelApp = CreateObject(Excel.Application) objExcelApp.DisplayAlerts = false不显示警告objExcelApp.Applicati
4、on.Visible = false 不显示界面 2 、新建 Excel 文件objExcelApp.WorkBooks.addset objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)3 、读取已有 Excel 文件strAddr = Server.MapPath(.)objExcelApp.WorkBooks.Open(strAddr & TempletTable.xls)set objE
5、xcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 4 、另存 Excel 文件objExcelBook.SaveAs strAddr & TempTable.xls5 、保存 Excel文件objExcelBook.Save6 、 退出 Excel(笔者测试时保存成功,页面报错。)操作objExcelApp.Quit一定要退出set objExcelApp = Nothing三、ASP 操作 E
6、xcel 生成数据表1 、 在一个范围内插入数据objExcelSheet.Range(B3:k3).Value = Array(67, 87, 5, 9, 7, 45, 45, 54, 5 4, 10)2 、 在一个单元格内插入数据objExcelSheet.Cells(3,1).Value=Internet Explorer3 、选中一个范围4 、单元格左边画粗线条5 、单元格右边画粗线条6 、单元格上边画粗线条7 、单元格下边画粗线条8 、单元格设定背景色9 、合并单元格10 、插入行11 、插入列四、ASP 操作 Excel 生成 Chart 图1 、创建 Chart 图objExce
7、lApp.Charts.Add2 、设定 Chart 图种类objExcelApp.ActiveChart.ChartType = 97 注:二维折线图, 4 ;二维饼图, 5 ;二维柱形图, 513 、设定 Chart 图标题objExcelApp.ActiveChart.HasTitle = True objExcelApp.ActiveChart.ChartTitle.Text = A test Chart4 、通过表格数据设定图形objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),15 、直接设定图形数据(推
8、荐)objExcelApp.ActiveChart.SeriesCollection.NewSeries objExcelApp.ActiveChart.SeriesCollection(1).Name = =333 objExcelApp.ActiveChart.SeriesCollection(1).Values = =6 、 绑定 Chart 图 objExcelApp.ActiveChart.Location 17 、 显示数据表 objExcelApp.ActiveChart.HasDataTable = True8 、 显示图例 objExcelApp.ActiveChart.Da
9、taTable.ShowLegendKey = True五、服务器端 Excel 文件浏览、下载、删除方案浏览的解决方法很多, “Location.href= ”, “Navigate ”, “Response.Redirect ” 都可以实现,建议用客 户端的方法,原因是给服务器更多的时间生成 Excel 文件。下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外 一种方法是在客户端操作 Excel 组件,由客户端操作服务器端 Excel 文件另存至客户端。这种方法要求客 户端开放不安全 ActiveX 控件的操作权限,考虑到通知每个客户将服务器设置为
10、可信站点的麻烦程度建议 还是用第一个方法比较省事。删除方案由三部分组成:A : 同一用户生成的 Excel 文件用同一个文件名,文件名可用用户 ID 号或 SessionID 号等可确信不 重复字符串组成。这样新文件生成时自动覆盖上一文件。B : 在 Global.asa 文件中设置 Session_onEnd 事件激发时,删除这个用户的 Excel 暂存文件。 C: 在 Global.asa 文件中设置 Application_onStart 事件激发时,删除暂存目录下的所有文件。 注:建议目录结构 Src 代码目录 Templet 模板目录 Temp 暂存目录六、附录出错时Excel出现的
11、死进程出现是一件很头疼的事情。在每个文件前加上“OnError ResumeNext”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。*把我的 SIMS 程序的一个文件给你吧。就是 Access 导出 EXCEL 文件的。 导出 Excel 表 1 thenCall MainelseResponse.write NoViewend ifSub MainDim ExcelSqlDim rsExcelSql=request.form(ExcelSql)Response.write ExcelSqlexit subO
12、n error resume nextSet rs=conn.execute(ExcelSql)返回上一页 ,1)返回上一页 ,1)if err.Number0 thenResponse.write err.Description & & aspButton( rs.closeset rs=nothingexit subend ifif rs.eof thenResponse.write 没有记录可导出! & aspButton( rs.closeset rs=nothingexit subend ifDim App,Book,Shts,Shtset App = CreateObject(Ex
13、cel.Application) App.DisplayAlerts = false 不显示警告 App.Application.Visible = false 不显示界面 添加 Excel 表App.WorkBooks.addset Book = App.ActiveWorkBookset Shts = Book.Worksheetsset Sht = Book.Sheets(1)Sht.Range(A1:O1).Value = Array(学号, 姓名, 系别, 专业, 月份, 是否暂缓 , ABC 类型, 单位名 , 单位城市 , 联系电话 , 联系人 , 单位性质 , 岗位名称 , 就
14、业状态 , 审核 )Dim r 行数r=2 从第二行开始写Dim DeferOctEmp,IsCheckdo while not rs.eofIf rs(DeferOctEmp) ThenDeferOctEmp=是 elseDeferOctEmp=否 end ifIf rs(IsCheck)=3 thenIsCheck= 系主任审核 elseif rs(IsCheck)=4 thenIsCheck= 就业指导中心审核 elseIsCheck= 未审核 end ifSht.Range(A&r&:O&r).Value=Array(cstr(rs(StudentID), rs(StudentName
15、), rs(De partmentName), rs(SpecialtyName), rs(CountMonth), DeferOctEmp, rs(ABCsort), rs( CompanyName), rs(CityName), rs(CompanyPhone),rs(LinkName),rs(CompanyTyp e),rs(JobAppellation),rs(ObtainEmpType),IsCheck)rs.movenext r=r+1 loop rs.close set rs=nothing 设置自动列宽Sht.Range(A1:O&(r-1).Columns.AutoFit 保存 Excel 文件Dim ExcelFileExcelFile=Excel/&UserID&.xlsBook.Sav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度首付分期购房借款合同范本规定6篇
- 年度线性低密度聚乙烯产业分析报告
- 年度吸污车产业分析报告
- 2025年度楼房建筑工程合同纠纷解决协议4篇
- 二零二四年养老社区三方物业服务委托合同文本3篇
- 二零二五年度船舶租赁船运输协议合同3篇
- 二零二五年酒店客房家具更新换代合同3篇
- 2025年度智能交通信号系统安装与维护承包协议合同范本3篇
- 二零二五版教育培训机构合同标的课程开发与教学质量承诺3篇
- 2025年度生物质能发电项目合作协议合同范本
- GB/T 33688-2017选煤磁选设备工艺效果评定方法
- GB/T 304.3-2002关节轴承配合
- 漆画漆艺 第三章
- CB/T 615-1995船底吸入格栅
- 光伏逆变器一课件
- 货物供应、运输、包装说明方案
- (完整版)英语高频词汇800词
- 《基础马来语》课程标准(高职)
- IEC61850研讨交流之四-服务影射
- 《儿科学》新生儿窒息课件
- 材料力学压杆稳定
评论
0/150
提交评论