ASP操作Excel技术总结

上传人:nu****n 文档编号:157441775 上传时间:2022-09-29 格式:DOCX 页数:6 大小:12.45KB
返回 下载 相关 举报
ASP操作Excel技术总结_第1页
第1页 / 共6页
ASP操作Excel技术总结_第2页
第2页 / 共6页
ASP操作Excel技术总结_第3页
第3页 / 共6页
点击查看更多>>
资源描述
ASP操作Excel技术总结目录 一、环境配置 二、ASP对Excel的基本操作 三、ASP操作Excel生成数据表 四、ASP操作Excel生成Chart图 五、服务器端Excel文件浏览、下载、删除方案 六、附录 正文 一、环境配置 服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 1Win9x+PWS+Office 2Win2000 Professional+PWS+Office 3Win2000 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 & TempletTable.xls) set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 4、另存Excel文件 objExcelBook.SaveAs strAddr & TempTable.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 = = 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”,保证每次程序执行完不留下死进程。*把我的SIMS程序的一个文件给你吧。就是Access导出EXCEL文件的。导出Excel表1 then Call Mainelse Response.write NoViewend ifSub MainDim ExcelSqlDim rsExcelSql=request.form(ExcelSql)Response.write ExcelSqlexit subOn error resume nextSet rs=conn.execute(ExcelSql)if err.Number0 then Response.write err.Description & & aspButton(返回上一页,1) rs.close set rs=nothing exit subend ifif rs.eof then Response.write 没有记录可导出! & aspButton(返回上一页,1) rs.close set rs=nothing exit subend ifDim App,Book,Shts,Shtset App = CreateObject(Excel.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类型, 单位名, 单位城市, 联系电话,联系人,单位性质,岗位名称,就业状态,审核)Dim r 行数r=2 从第二行开始写Dim DeferOctEmp,IsCheckdo while not rs.eof If rs(DeferOctEmp) Then DeferOctEmp=是 else DeferOctEmp=否 end if If rs(IsCheck)=3 then IsCheck=系主任审核 elseif rs(IsCheck)=4 then IsCheck=就业指导中心审核 else IsCheck=未审核 end if Sht.Range(A&r&:O&r).Value=Array(cstr(rs(StudentID), rs(StudentName), rs(DepartmentName), rs(SpecialtyName), rs(CountMonth), DeferOctEmp, rs(ABCsort), rs(CompanyName), rs(CityName), rs(CompanyPhone),rs(LinkName),rs(CompanyType),rs(JobAppellation),rs(ObtainEmpType),IsCheck)rs.movenextr=r+1looprs.closeset rs=nothing设置自动列宽Sht.Range(A1:O&(r-1).Columns.AutoFit保存Excel文件Dim ExcelFileExcelFile=Excel/&UserID&.xlsBook.SaveAs Server.MapPath(ExcelFile)if err.Number0 then Response.write err.Description & & aspButton(返回上一页,1) App.Quit set App = Nothing exit subend ifBook.SaveApp.Quitset App = NothingResponse.Redirect ExcelFileEnd Subconn.closeset conn=nothing%
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!