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

asp调用Excel出现的问题(解决加分)

楼主zglnsy(菜鸟)2003-03-03 23:23:44 在 Web 开发 / ASP 提问

上午就发了一个相关的帖子,不知道是分少的原因还是什么别的原因竟没人理我,呜、呜、呜。  
  查找了一下本论坛中有不少关于asp中调用excel的问题,尝试着做不行,直接靠原代码还是不行。现在主要把出现的问题列出来,看那位兄弟可以帮解决一下。  
  1."0x6dde20e5"指令引用的"0x00000000"内存,该内存不能为"read"  
  我只是写了一行代码  
  <%   set   app   =   createobject("excel.application")   %>  
  运行后就出现如上的提示,我在个别机器上运行是这种效果,在其它机器上运行就没这个问题,不知道是什么原因,谁知道。  
  2.新建的excel文件没有打开  
  <%  
  set   app   =   createobject("excel.application")  
  set   book   =   app.workbooks.add  
  set   sheet   =   book.worksheets(1)  
  app.visible   =   true  
  sheet.activate  
  app.cells(1,1)="ok"  
  %>  
  我不知道以上代码是否在asp中可以打开一个excel文件,并在A1中写下"ok",但我在VB中写出类似的代码就可以。  
  3.excel无法关闭  
  <%  
  On   Error   Resume   Next  
  set   app   =   createobject("excel.application")  
  set   book   =   app.workbooks.add  
  set   sheet   =   book.worksheets(1)  
  app.cells(1,1)="ok"  
  book.saveas("c:\aa.xls")  
  book.close  
  app.quit  
  set   sheet   =   nothing  
  set   book   =   nothing  
  set   app   =   nothing  
  %>  
  文件到是可以建立,但无法打开。出现提示找不到文件”c:\aa.xls“(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。  
  以上情况出现时在任务管理器的进程中都会发现无法终止的excel进程。同时我已经通过在命令行键入“DCOMCNFG”,则进入COM组件配置界面设置了excel的自定义属性了。这些问题我好象只看到一个人问过,不知道各位是否也碰到过这样的问题。 问题点数:100、回复次数:5Top

1 楼shadow06(shadow06)回复于 2003-03-03 23:53:06 得分 70

http://expert.csdn.net/Expert/TopicView1.asp?id=1454452  
   
  你好,我的文章中有这么一句话“编辑中将Everyone加入所有权限”,很多人没有仔细看,在“安全性”的第三项权限编辑中Everyone缺省情况是加入读取权限,注意此处必须改为完全控制。我想你应该是这里出现了问题。  
  关于Excel进程必须重启动才能关闭的问题,我在大连NEC公司沙课长那里学了很有用的一招。那就是机器上如果安装了C或其他二进制调试器,那么任务管理器中将允许对进程进行调试,这时只需选择调试,然后在关闭调试器,则进程自然被调试器杀死。Top

2 楼xpm96()回复于 2003-03-04 08:53:47 得分 30

保证可以使用,给分吗?  
   
  <%  
  set   xlApp   =   Server.CreateObject("Excel.Application")  
  '使服务端不出现Excel窗口  
  xlApp.Visible   =   false  
  '建立一个worksheet  
  set   myWorkbook   =   xlApp.Workbooks.Add  
  set   myWorksheet   =   myWorkbook.Worksheets(1)  
  n=1  
  for   i=T2   to   T3   step   T4  
      vv="A"&n  
      myWorksheet.Range(vv).Value=i  
      n=n+1  
    next  
   
   
  for   j=0   to   ubound(C1)  
    n=1  
    for   i=T2   to   T3   step   T4  
      yy="A"&n  
      vv=replace(T1(j),"x",yy)  
      myWorksheet.cells(n,j+2)=trim(vv)  
      n=n+1  
    next  
  next  
   
  xlApp.charts.add  
  xlApp.ActiveChart.ChartType   =   75  
  xlApp.ActiveChart.SetSourceData   xlApp.Sheets("Sheet1").Range("A1:E300"),2  
  xlApp.ActiveChart.Location   xlLocationAsObject,"Sheet1"  
  With   xlApp.ActiveChart  
                  .HasTitle   =   False  
                  .Axes(xlCategory,   xlPrimary).HasTitle   =   False  
                  .Axes(xlValue,   xlPrimary).HasTitle   =   False  
  End   With  
   
  i=now  
  response.write   i  
  yy=Year(i)  
  mm=Month(i)  
  dd=Day(i)  
  hh=Hour(i)  
  ff=Minute(i)  
  ss=Second(i)  
  i=yy&mm&dd&hh&ff&ss  
  strFullPath="e:\try\"&i&".xls"  
  myWorkbook.SaveAs(strFullPath)  
  '关闭Excel  
  myWorkbook.Close  
  set   myWorksheet   =   Nothing  
  set   myWorkbook   =   Nothing  
  xlApp.Quit  
  response.write   "<a   href=http://ycxpm/try/"&i&".xls>查看</a>"  
  response.write   "<br>"  
  response.write   "要保存单击右键选择'目标另存为..'"  
  %>  
  Top

3 楼zglnsy(菜鸟)回复于 2003-03-04 09:11:58 得分 0

xpm96,你给我的代码不完整吧。T2、T3、T4是什么?Top

4 楼zglnsy(菜鸟)回复于 2003-03-04 09:19:52 得分 0

shadow06,按照你说的地方调整了一下,这次好用了,非常感谢。我发现网上有不少这样的例子,正常情况下肯定没有问题,但一些细节性的地方没有指出来,导致一些初学者很长时间都不知道该怎样做。希望以后各位高手们发帖时注意照顾一下菜鸟们。Top

5 楼xpm96()回复于 2003-03-04 09:22:46 得分 0

完整的如下:  
  前面一个的asp文件:  
  <!--#include   file="adovbs.inc"   -->  
  <%Response.Expires=0%>  
  <%  
  on   error   resume   next  
  C1=split(request("C1"),",")  
  %>  
  <html>  
  <head>  
  </head>  
  <body>  
  <form   method="POST"   action="chart4_1.asp">  
  <%for   i=0   to   ubound(C1)%>  
      <p><%=C1(i)%>=<input   type="text"   name="T1"   size="68"><input   type=hidden   name="C1"   value=<%=C1(i)%>></p>  
  <%next%>  
      <p>起始值<input   type="text"   name="T2"   size="6">&nbsp;&nbsp;   结束值<input   type="text"   name="T3"   size="6">&nbsp;&nbsp;&nbsp;      
      刻度<input   type="text"   name="T4"   size="6"></p>  
      <p><input   type="submit"   value="提交"   name="B1"><input   type="reset"   value="全部重写"   name="B2"></p>  
  </form>  
  <p>=1549.8*3/(X*18*0.4-140)</p>  
  </body>  
  </html>  
   
  调用execel的asp文件:  
  <!--#include   file="adovbs.inc"   -->  
  <%Response.Expires=0%>  
  <%  
  on   error   resume   next  
  C1=split(request("C1"),",")  
  T1=split(request("T1"),",")  
  T2=request("T2")  
  T3=request("T3")  
  T4=request("T4")  
  %>  
   
  <%  
  set   xlApp   =   Server.CreateObject("Excel.Application")  
  '使服务端不出现Excel窗口  
  xlApp.Visible   =   false  
  '建立一个worksheet  
  set   myWorkbook   =   xlApp.Workbooks.Add  
  set   myWorksheet   =   myWorkbook.Worksheets(1)  
  n=1  
  for   i=T2   to   T3   step   T4  
      vv="A"&n  
      myWorksheet.Range(vv).Value=i  
      n=n+1  
    next  
   
   
  for   j=0   to   ubound(C1)  
    n=1  
    for   i=T2   to   T3   step   T4  
      yy="A"&n  
      vv=replace(T1(j),"x",yy)  
      myWorksheet.cells(n,j+2)=trim(vv)  
      n=n+1  
    next  
  next  
   
  xlApp.charts.add  
  xlApp.ActiveChart.ChartType   =   75  
  xlApp.ActiveChart.SetSourceData   xlApp.Sheets("Sheet1").Range("A1:E300"),2  
  xlApp.ActiveChart.Location   xlLocationAsObject,"Sheet1"  
  With   xlApp.ActiveChart  
                  .HasTitle   =   False  
                  .Axes(xlCategory,   xlPrimary).HasTitle   =   False  
                  .Axes(xlValue,   xlPrimary).HasTitle   =   False  
  End   With  
   
  i=now  
  response.write   i  
  yy=Year(i)  
  mm=Month(i)  
  dd=Day(i)  
  hh=Hour(i)  
  ff=Minute(i)  
  ss=Second(i)  
  i=yy&mm&dd&hh&ff&ss  
  strFullPath="e:\try\"&i&".xls"  
  myWorkbook.SaveAs(strFullPath)  
  '关闭Excel  
  myWorkbook.Close  
  set   myWorksheet   =   Nothing  
  set   myWorkbook   =   Nothing  
  xlApp.Quit  
  response.write   "<a   href=http://ycxpm/try/"&i&".xls>查看</a>"  
  response.write   "<br>"  
  response.write   "要保存单击右键选择'目标另存为..'"  
  %>  
   
  Top

相关问题

  • 调用Excel - 50分
  • asp中调用dll生成excel文件出错,请帮忙。
  • 请问怎么在ASP中调用WORD和EXCEL?
  • 如何在ASP页面中调用EXCEL数据
  • ASP调用OUTLOOK或EXCEL 不能成功 ,问题出在哪里
  • ASP是否可以在 页面 调用 并显示 Excel 表格??
  • 如何解决asp调用excel不稳定的问题?急啊!
  • 如何解决asp调用excel不稳定的问题?
  • 我用asp调用excel数据数据丢失现象!
  • 关于asp调用一处理excel文件的存储过程

关键词

得分解答快速导航

  • 帖主:zglnsy
  • shadow06
  • xpm96

相关链接

  • Web开发类图书

广告也精彩

反馈

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