台灣最大程式設計社群網站
線上人數
2456
 
會員總數:246203
討論主題:189776
歡迎您免費加入會員
討論區列表 >> ASP >> Excel問題
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Excel問題
價值 : 50 QP  點閱數:1807 回應數:16
樓主

sam
初學者
149 96
683 184
發送站內信

On Error Resume Next '避免Excel錯誤卡死

set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false
objExcelApp.Application.Visible = false

strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "\" & "test.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheet = objExcelBook.Sheets(1)

......

'存檔
objExcelBook.SaveAs strAddr & "\" & "report.xls"

'退出Excel操作
objExcelApp.Quit
set objExcelApp = Nothing

response.write "<script>window.open(""report.xls"");window.close();</script>"

1、用我的電腦可以自動下載report.xls,沒有問題,可是部份人員卻無法產生Excel檔,而且沒有錯誤訊息,程式有在執行卻沒有結果
2、可否轉成xlsx的檔案格式

以上,請各位大大幫幫忙,謝謝!


本篇文章發表於2015-04-27 10:01
1樓
作者回應

sam
檢舉此回應
沒有人遇過這種狀況嗎?唉 ~
本篇文章回覆於2015-04-27 15:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Brian
檢舉此回應
1.存檔路徑 --> strAddr = Server.MapPath(".") 是否在每台電腦環境的路經皆相同?
2.可否轉成xlsx的檔案格式 --> objExcelBook.SaveAs strAddr & "\" & "report.xlsX"


本篇文章回覆於2015-04-27 16:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

sam
檢舉此回應
1、謝謝你的回應,我的程式是將Excel另存在伺服器上,再從使用端透過Web將檔案開啟,所以與使用端的路徑無關,我在猜測是否是使用端對這個動作需開放什麼權限或是變更設定,因為只有幾台電腦是這樣子的,但是我不知道如何處理
2、你轉xlsx的方法會造成檔案損毀無法讀取,我之前試過了
本篇文章回覆於2015-04-27 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

sam
檢舉此回應
還是沒人會處理嗎?
本篇文章回覆於2015-04-28 08:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
從程式碼來看,開啟的檔案和儲存的檔案名稱都是固定的
請問有確認過,在無法順利開啟時,主機上檔案是否有更新嗎?
如果有,可能是作業系統設定問題導致檔案無法順利開啟
如果沒有,那有可能是同時有複數人對檔案進行操作,導致檔案鎖住無法順利動作

另外問題中有提到樓主的電腦可以執行,但部分人員會有問題
這邊樓主的電腦是網站主機嗎?
如果是才有可能是權限問題,而且應該不是部分人員會有問題,而是其他人員全都會有問題才對
如果不是,基本上就沒有權限的問題
本篇文章回覆於2015-04-28 09:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

sam
檢舉此回應
謝謝你的回應,
1、無法順利開啟時,主機上檔案有更新
2、我的電腦不是網站主機
3、我在大陸工作,目前測試5台電腦(包括我的電腦),3台沒有問題,另二台則無法出現檔案
本篇文章回覆於2015-04-28 10:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
建議:
1. 先註解掉On Error Resume Next以便觀察有無發生錯誤
或是加上if Err.Number <> 0判斷
2. 部份人員無法執行的情況是哪種?例如:Window.Open有沒有跳出來?
若沒跳出來,也許檢查是不是瀏覽器或防毒軟體擋掉了
有跳出來的話,有沒有出現下載儲存視窗?
若出現下載視窗代表Client端未安裝可開啟Excel的軟體
本篇文章回覆於2015-04-28 10:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

sam
檢舉此回應
謝謝你的回應,是Window.open沒有跳出來
程式跑完了,就畫面閃了一下,然後就沒有然後呢,這是屬於那一種呢?
本篇文章回覆於2015-04-28 11:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
為什麼window.open後,緊接著又下window.close()?
也許是這樣造成開啟後馬上又關掉
建議先拿掉window.close()試試看
本篇文章回覆於2015-04-28 11:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
對於有問題的電腦,請測試直接用瀏覽器開啟report.xls
如果可以開啟或下載,表示問題在網頁原始碼部分
如果是沒反應的空白畫面,表示問題在該電腦無法用瀏覽器開啟或下載xls檔,請檢查是何種瀏覽器,版本為何?試著將瀏覽器設定調回預設值(通常在設定中會有此功能的按鈕)試試
本篇文章回覆於2015-04-28 13:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

sam
檢舉此回應
謝謝各位的回應,我都會試一下的
本篇文章回覆於2015-04-28 13:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

sam
檢舉此回應
試了各位大大的建議:
1、我拿掉了window.close(),結果一樣
2、註解掉On Error Resume Next但沒有錯誤訊息
3、可以直接用瀏覽器開啟report.xls
本篇文章回覆於2015-04-28 17:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
是用IE瀏覽器嗎?
檢查看看工具中的「快顯封鎖程式」
將該功能關閉試試看,或是將網址加入允許網站列表
本篇文章回覆於2015-04-28 18:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

sam
檢舉此回應
1、是用IE瀏覽器
2、「快顯封鎖程式」原來就是關閉狀態
3、原來就已經加入信任的網站

謝謝回應!但還是不行
本篇文章回覆於2015-04-29 08:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
IE版本是?

在空白畫面中按右鍵->檢視原始碼
看看script有沒有出現,如果沒有
把script從asp抽出來直接寫在HTML中試試看
本篇文章回覆於2015-04-29 09:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.