ASP如何操作Excel(读取,输出)(3)

来源:CSDN 时间:2007-08-21 19:57:00 


五、服务器端Excel文件浏览、下载、删除方案
 
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。
下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。9S_’N.]pW%#}l
 
删除方案由三部分组成:
 
A:同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。
B:在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C:在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。
注:建议目录结构\Src代码目录\Templet模板目录\Temp暂存目录


六、附录
 
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“OnErrorResumeNext”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。
 
补充两点:
 
1、其他Excel具体操作可以通过录制宏来解决。
2、服务器端打开SQL企业管理器也会产生问题。


<% 
On Error Resume Next 
  
’建立Excel对象 
strAddr=Server.MapPath(".") 
set objExcelApp=CreateObject("Excel.Application") 
objExcelApp.DisplayAlerts=false 
objExcelApp.Application.Visible=false 
  
’读取已有Excel文件 
objExcelApp.WorkBooks.Open(strAddr&"\Templet\Null.xls") 
set objExcelBook=objExcelApp.ActiveWorkBook 
set objExcelSheets=objExcelBook.Worksheets 
set objExcelSheet=objExcelBook.Sheets(1) 
  
’插入数据 
objExcelSheet.Range("B2:k2").Value=Array("Week1","Week2","Week3","Week4","Week5","Week6","Week7","Week8","Week9","Week10") 
objExcelSheet.Range("B3:k3").Value=Array("67","87","5","9","7","45","45","54","54","10") 
objExcelSheet.Range("B4:k4").Value=Array("10","10","8","27","33","37","50","54","10","10") 
objExcelSheet.Range("B5:k5").Value=Array("23","3","86","64","60","18","5","1","36","80") 
objExcelSheet.Cells(3,1).Value="InternetExplorer" 
objExcelSheet.Cells(4,1).Value="Netscape" 
objExcelSheet.Cells(5,1).Value="Other" 
objExcelSheet.Range("b2:k5").Select 
  
’objExcelApp.Charts.Add 
’objExcelApp.ActiveChart.ChartType=97 
’objExcelApp.ActiveChart.BarShape=3 
’objExcelApp.ActiveChart.HasTitle=True 
’objExcelApp.ActiveChart.ChartTitle.Text="Visitorslogforeachweekshowninbrowserspercentage" 
’objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range("A1:k5"),1 
’objExcelApp.ActiveChart.Location1 
’objExcelApp.ActiveChart.HasDataTable=True 
’objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook. 
  
’另存Excel文件 
objExcelBook.SaveAs(strAddr&"\Temp\Excel.xls") 
objExcelApp.Quit 
set objExcelApp=Nothing 
%> 
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE>NewDocument</TITLE> 
<METANAME="Generator"CONTENT="MicrosoftFrontPage5.0"> 
<METANAME="Author"CONTENT=""> 
<METANAME="Keywords"CONTENT=""> 
<METANAME="Description"CONTENT=""> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

 


标签:Excel,ASP,操作
0
投稿

猜你喜欢

  • 13家著名科技公司logo标识来历及演变

    2008-02-19 16:42:00
  • 可刷新的Div+CSS+JS二级下拉树型菜单

    2007-10-09 19:14:00
  • asp如何同时处理数据库和页面错误?

    2010-06-07 20:58:00
  • MSSQL 基本语法及实例操作语句

    2012-07-11 15:40:09
  • sql server常用命令行操作(启动、停止、暂停)

    2012-01-05 19:02:48
  • 深底色页面设计指南[译]

    2009-08-06 18:16:00
  • IE6 bug: 消失的绝对定位元素

    2009-12-04 12:11:00
  • Sql Server在安装时提示挂起的解决方法

    2009-01-13 13:55:00
  • FCKeditor编辑器基本配置优化修改使用方法

    2008-12-31 13:32:00
  • Asp 操作Cookies(包括设置[赋值]、读取、删除[设置过期时间])

    2011-03-10 11:06:00
  • 三招解决SQL Server数据库权限冲突

    2009-03-16 16:58:00
  • 如何巧妙利用SQL Server的EXISTS结构

    2009-02-19 17:36:00
  • Iinternet Explorer浏览器简介(IE)

    2009-02-05 20:59:00
  • 打败 IE 的葵花宝典:CSS Bug Table

    2010-08-03 12:30:00
  • 用玩票的心态瞎猜豆瓣的思路

    2008-08-18 21:14:00
  • AJAX应用之草稿自动保存

    2007-08-23 08:29:00
  • 写SQL语句的经验

    2009-04-13 16:02:00
  • 如何让对方在线查看我的程序代码?

    2010-05-13 16:34:00
  • 安装MySQL5.0后出现1607异常的解决办法

    2009-02-26 15:52:00
  • XMLHTTP自动判断远程网页字符编码

    2007-12-28 13:41:00
  • asp之家 网络编程 m.aspxhome.com