CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

如何,利用ASP技术。输出一个Excel文件呢?

楼主guoyubill(bill)2005-04-15 23:08:48 在 Web 开发 / ASP 提问

一个问题,浏览一个网页信息,然后,输出Excel文件,供访问者,自己下载,打印表格?  
  请问如何实现呢? 问题点数:100、回复次数:10Top

1 楼linei(ASP.NET→JSP/SERVLET)回复于 2005-04-15 23:13:24 得分 10

我想Excel能把它的文件储存为WEB页,那么网页输出Excel就是改一下后缀名就可以了吧?Top

2 楼patchclass(黑翼)回复于 2005-04-15 23:30:04 得分 40

set   oXL=createobject("Excel.Application")  
  oXL.ActiveSheet  
  具体方法你可以查看相关office资料Top

3 楼patchclass(黑翼)回复于 2005-04-15 23:30:53 得分 0

资料非常多的  
  这段是我用js写的你改一下吧  
  try  
  {  
  var   oXL   =   new   ActiveXObject("Excel.Application");  
  }  
  catch(e){  
  alert('您系统未安装MS-EXCEL,或者EXCEL被禁止');  
  hints.innerHTML='';  
  return   false;  
  }  
   
  try{  
  oXL.WorkBooks.Open(xlAddr);  
  }  
  catch(e){  
    alert('无法打开EXCEL');  
    hints.innerHTML='';  
    oXL.quit();  
    oXL   =   null;  
    idTmr   =   window.setInterval("Cleanup();",1);  
    return   false;  
        }  
  //   设置为不可见  
  oXL.Visible   =   false;    
  oXL.UserControl   =   false;    
   
  var   oSheet   =   oXL.ActiveSheet;       //打开活动的sheet  
  b_filedCount   =oSheet.UsedRange.columns.Count;//返回excel   表中的列数  
  b_row   =oSheet.UsedRange.rows.count;                 //返回excel   表中的行数  
  Top

4 楼sfply(随风飘零叶)回复于 2005-04-16 00:43:58 得分 10

脚本方式可以创建EXCEL但要求IE安全降低Top

5 楼zhongmao(西风瘦马)回复于 2005-04-16 02:33:52 得分 30

ASP操作Excel技术总结    
  --------------------------------------------------------------------------------  
  作者:       来源:开发者俱乐部       发布日期:2004-3-23       点击次数:   335    
  目录    
  一、  环境配置    
  二、  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”,保证每次程序执行完不留下死进程。    
  Top

6 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2005-04-16 06:07:14 得分 0

自己下载的话,那就是在服务端创建了???  
   
  那样的话输入dcomcnfg寻找一下dcom里找excel文档,把交互选上,在安全把everyone权限加上Top

7 楼zzy0000(隐者)回复于 2005-04-16 08:49:40 得分 10

把读出的数据用<table>格式,在网页中显示出来,同时,加上下一句即可把EXCEL表在客客户端显示。  
  <%  
  response.ContentType   ="application/vnd.ms-excel"  
  Response.AddHeader   "content-disposition",   "inline;   filename=temp.xls"  
  %>  
  注意:显示的页面中,只把<table>输出,最好不要输出其他表格以外的信息。  
  Top

8 楼clanboo(冷面)回复于 2005-04-16 23:32:13 得分 0

何必那么麻烦,CSV得了。Top

9 楼clanboo(冷面)回复于 2005-04-16 23:33:06 得分 0

何必那么麻烦,CSV得了。Top

10 楼guoyubill(bill)回复于 2005-04-17 21:10:26 得分 0

太谢谢了。给分给分~~~Top

相关问题

  • jsp数据输出到EXCEL文件?
  • 关于输出字符数据到Excel文件
  • 急!!!vb.net 下输出excel文件, 高手救我
  • 如何将WinForm中的DataGrid的数据输出为 Excel文件?
  • vb中sql语句如何直接输出为excel文件?
  • 如何输出excel文件到客户端??
  • 怎样把excel文件里面的内容,输出到dataGrid上?
  • Excel输出
  • asp通过odbc访问excel文件
  • asp 中导入Excel文件的问题,

关键词

  • ps2
  • win2000
  • excel
  • 文件
  • 服务器
  • 组件
  • 客户
  • 下载
  • 表格
  • 网页

得分解答快速导航

  • 帖主:guoyubill
  • linei
  • patchclass
  • sfply
  • zhongmao
  • zzy0000

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo