asp写Excel的问题

chloe 2008-03-27 04:12:40
代码:
Set objExcelApp = CreateObject( "Excel.Application ")
objExcelApp.Quit
objExcelApp.DisplayAlerts = false '不显示警告
objExcelApp.Application.Visible = false '不显示界面
objExcelApp.WorkBooks.Open(ExeclFile)

问:
为什么执行到最后一句IE就跟死了似的,不动了,没有报错信息,也没任何出错!
确认ExcelFile路径文件名均是正确。
...全文
97 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
silence2k 2008-03-27
  • 打赏
  • 举报
回复
从代码看 没啥区别
那自己打开xls看看了 如果本地打开都有问题 服务器打开 估计也不行
silence2k 2008-03-27
  • 打赏
  • 举报
回复
我的是本地运行
你的是asp代码
我一会运行 先吃饭......
chloe 2008-03-27
  • 打赏
  • 举报
回复
路径都不确认,俺哪好意思上来请教各位大侠!

不过问题已经找到了,是Excel文件本身的问题,换一个就没问题了,那个文件好象中间有Excel工作薄之间相互关联的比较多,具体也搞不清楚,总之我把它换了。
具体的原因也不想追究了,这个问题我已经整了大半天了,腻了,当然,欢迎有高人前来指点迷律。


再次谢谢楼上的各位,回头就结贴。
  • 打赏
  • 举报
回复
汗!路径确认是对的?
chloe 2008-03-27
  • 打赏
  • 举报
回复
to slience2k:

我运行了你贴的程序,没有任何反应,返回一片空白,也没有报错,很是郁闷。
确认excel文件中是有东西的。

我把多余的删了,目前只剩下这些:

ExeclFile = Server.MapPath("Logi.xls")

Set objExcelApp=Server.CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false '不显示警告
objExcelApp.Application.Visible = false '不显示界面
objExcelApp.WorkBooks.Open(ExeclFile)
set objExcelBook = objExcelApp.ActiveWorkBook
reDim arrSheets(objExcelBook.Sheets.Count)
For i=1 to objExcelBook.Sheets.Count
arrSheets(i) = objExcelBook.Sheets(i).Name
Next
objExcelApp.Quit
Set objExeclApp=nothing
Response.write err.description
chloe 2008-03-27
  • 打赏
  • 举报
回复
UP一下。
silence2k 2008-03-27
  • 打赏
  • 举报
回复
也可以 打开的完整函数来看
你不发 我也没办法帮你了........

我发的刚才是可以正常运行的
chloe 2008-03-27
  • 打赏
  • 举报
回复
这个我知道,每次运行我都会查看任务管理器里有没有多余的excel进程的。

先行谢过以上几位。
silence2k 2008-03-27
  • 打赏
  • 举报
回复
还一个 就是 如果你程序 没有安全退出 可能 excel进程 不会安全结束
然后多几次 任务管理器里面会有很多个 excel.exe
也可能造成 程序不能正常运行
silence2k 2008-03-27
  • 打赏
  • 举报
回复
文件是 c:
根目录下 abc.xls
crazy19850222 2008-03-27
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
<TITLE>生成EXCEL文件</TITLE>
</HEAD>
<body>
<!--a href="date_excel.asp?act=make">在线生成EXCEL</a-->
<!--hr size=1 align=left width=300px-->
<%
if Request("act") = "make" then
'Response.Write "生成EXCEL文件"
'else
dim conn,strconn
strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("./")& "\pdj.mdb;"
set conn=server.CreateObject("adodb.connection")
conn.Open strconn
dim rs,sql,filename,fs,myfile,x
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath("online.xls")
'--如果原来的EXCEL文件存在的话删除它
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
Set rs = Server.CreateObject("ADODB.Recordset")
'--从数据库中把你想放到EXCEL中的数据查出来
sql = "select * from tVIP"
rs.Open sql,conn,1,1

if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine = strLine & x.name & chr(9)
Next
'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine = strLine & x.value & chr(9)
next
'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop
end if
rs.Close
set rs = nothing
End If
%>
<font color="#FF0000">数据下载中......请稍后</font>
<meta http-equiv="Refresh" content="5; URL=../web/testone.asp">

</body>
silence2k 2008-03-27
  • 打赏
  • 举报
回复
我这个是显示 excel 几个sheet的 名字 你看能正常运行不 我测试的可以

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 3</title>
</head>

<body>
<script language="VBScript">
Set objExcelApp = CreateObject("Excel.Application")

objExcelApp.DisplayAlerts = false '不显示警告
objExcelApp.Application.Visible = false '不显示界面
objExcelApp.WorkBooks.Open "c:\\abc.xls"

set objExcelBook = objExcelApp.ActiveWorkBook
reDim arrSheets(objExcelBook.Sheets.Count)
For i=1 to objExcelBook.Sheets.Count
arrSheets(i) = objExcelBook.Sheets(i).Name
document.write arrSheets(i)
Next
objExcelApp.Quit
</script>
</body>

</html>

wpjwll 2008-03-27
  • 打赏
  • 举报
回复
up
chloe 2008-03-27
  • 打赏
  • 举报
回复
拜托,谢谢了。
silence2k 2008-03-27
  • 打赏
  • 举报
回复
等我自己写个试试
silence2k 2008-03-27
  • 打赏
  • 举报
回复
对了
Set objExcelApp = CreateObject( "Excel.Application ")
objExcelApp.Quit

好像不对吧 你刚创建 怎么就关闭哦?
chloe 2008-03-27
  • 打赏
  • 举报
回复
首先谢谢楼上回复!

后续操作是有的,有后续操作的结果也是一样的,就是跟死了一样,不动了,就是因为发现这样,所以我逐行排错,看在哪里不动了,后来排到这里,就发现一到这句,就不动了。
silence2k 2008-03-27
  • 打赏
  • 举报
回复
set objExcelBook = objExcelApp.ActiveWorkBook
reDim arrSheets(objExcelBook.Sheets.Count)
For i=1 to objExcelBook.Sheets.Count
arrSheets(i) = objExcelBook.Sheets(i).Name
Next

你不设置工作页面 他估计都不知道该给你显示什么
你贴的内容只能表示你 启动了 excel 打开了文件句柄
但没进行其他操作 显示 读取都没
因为他不知道你想显示哪个页面
silence2k 2008-03-27
  • 打赏
  • 举报
回复
后续的操作呢 设置活动页面呢?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧