Discussion:
使用 Microsoft.Office.Interop.Excel.Application 時發生存取被拒的錯誤
(时间太久无法回复)
birdie
2006-01-09 19:31:04 UTC
Permalink
Microsoft.Office.Interop.Excel.Application excelApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
每次執行上面這行程式時都會發生 存取被拒 的問題
很奇怪...以前用Excel 2000 搭配 C#.NET windows from程式開發沒有這樣的問題

請教先進們該如何處理這個問題
謝謝~

Birdie

ps. Excel是 2003
Microsoft.Office.Interop.Excel.dll 已經有加入參考..且有產生在bin目錄內
OS 是 win 2003
璉璉
2006-01-09 23:53:58 UTC
Permalink
«Øij§A¥ý¥ÎšãŠ³ Administrators žs²ÕÅv­­ªºšÏ¥ÎªÌŽúžÕšÏ¥Î COM ª«¥ó¡AŠAšÓœÕ­°Åv­­¡A©Î¬OœÕŸã ASP.NET ¥N²z±bž¹ªºÅv­­¡AŠb WinXP ¬° ASPNET ±bž¹¡AŠb Win2003 ¬° Network Service žs²Õ¡C

šÒŠpŠb web.config ¿é€J±bž¹±KœX¡G
<identity impersonate="true" userName="Administrator" password="1234567890" />
©ó news:F9EAF77C-1A3D-463A-A04B-B103AE881C1C%40microsoft.com µoªí
Microsoft.Office.Interop.Excel.Application excelApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
šCŠž°õŠæ€W­±³oŠæµ{Š¡®É³£·|µo¥Í Šsšú³Q©Ú ªº°ÝÃD
«Ü©_©Ç...¥H«e¥ÎExcel 2000 ·f°t C#.NET windows fromµ{Š¡¶}µošSŠ³³oŒËªº°ÝÃD
œÐ±Ð¥ý¶i­ÌžÓŠpŠó³B²z³o­Ó°ÝÃD
ÁÂÁÂ~
Birdie
ps. Excel¬O 2003
Microsoft.Office.Interop.Excel.dll €wžgŠ³¥[€J°ÑŠÒ..¥BŠ³²£¥ÍŠbbin¥Ø¿ý€º
OS ¬O win 2003
--
€ô®ü¬ì§Þšt²Î¬ãµoÅçÃÒ€u§@«Ç ASP.NET Web News Reader 0.2.0 UTF-8 Beta
·s»Džs²Õ RSSºô»xµo¥¬ŽúžÕ€€ http://tlcheng.no-ip.com/News/rss2.aspx
ºô¯žŠa¹Ï http://tlcheng.no-ip.com/wwwmap.htm
¬y°ìšŸ¬x/€ôžê·œ¹B¥Î/®}ª@ºô/ªŽºÀ¹Ï/»y­µ³q°T €å³¹»Pµ{Š¡
Basic/Fortran/Windows API/.Net/»²§U»¡©úÀÉ ­ì©lœX¡B€å³¹»P°Qœ×
--
ASPNET News http://tlcheng.no-ip.com/News/ | http://tlcheng.twbbs.org/News/
RSS 2.0 http://tlcheng.no-ip.com/News/rss2.aspx?Action=List&Newsgroup=microsoft.public.tw.dotnet.framework.aspnet
birdie
2006-01-10 08:11:02 UTC
Permalink
謝謝您...
您說的方法可以了

但是接下來我卻無法讀到cell內的值
程式碼如下
Microsoft.Office.Interop.Excel.Application excelApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel._Workbook workBook =
excelApp.Workbooks.Open(Server.MapPath("Resource") + "\\Weather.xls",
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);

foreach (Microsoft.Office.Interop.Excel.Worksheet workSheet in
workBook.Worksheets)
{
Response.Write(workSheet.Name + "---");
Response.Write(workSheet.Cells[1, 1] + "<BR>");
}

執行結果可以顯示工作表的名稱
但是cells[1,1] 結果卻是 System.__ComObject

很奇怪~
建議你先用具有 Administrators 群組權限的使用者測試使用 COM 物件,再來調降權限,或是調整 ASP.NET 代理帳號的權限,在 WinXP 為 ASPNET 帳號,在 Win2003 為 Network Service 群組。
例如在 web.config 輸入帳號密碼:
<identity impersonate="true" userName="Administrator" password="1234567890" />
於 news:F9EAF77C-1A3D-463A-A04B-B103AE881C1C%40microsoft.com 發表
Microsoft.Office.Interop.Excel.Application excelApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
每次執行上面這行程式時都會發生 存取被拒 的問題
很奇怪...以前用Excel 2000 搭配 C#.NET windows from程式開發沒有這樣的問題
請教先進們該如何處理這個問題
謝謝~
Birdie
ps. Excel是 2003
Microsoft.Office.Interop.Excel.dll 已經有加入參考..且有產生在bin目錄內
OS 是 win 2003
--
水海科技系統研發驗證工作室 ASP.NET Web News Reader 0.2.0 UTF-8 Beta
新聞群組 RSS網誌發布測試中 http://tlcheng.no-ip.com/News/rss2.aspx
網站地圖 http://tlcheng.no-ip.com/wwwmap.htm
流域防洪/水資源運用/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
--
ASPNET News http://tlcheng.no-ip.com/News/ | http://tlcheng.twbbs.org/News/
RSS 2.0 http://tlcheng.no-ip.com/News/rss2.aspx?Action=List&Newsgroup=microsoft.public.tw.dotnet.framework.aspnet
birdie
2006-01-10 08:46:04 UTC
Permalink
終於搞定了

後來用Response.Write(workSheet.get_Range("A1", "A1").Value2 + "<BR>");
Cells是用來唯寫的嗎??

Birdie
jill
2006-07-18 06:04:01 UTC
Permalink
Sorry,可以請問我要怎樣調整權限?我的意思是,我要調整Network Service在何處的權限?

"birdie" 來函:
Post by birdie
終於搞定了
後來用Response.Write(workSheet.get_Range("A1", "A1").Value2 + "<BR>");
Cells是用來唯寫的嗎??
Birdie
璉璉
2006-07-18 12:49:23 UTC
Permalink
°ÑŠÒ¡G
http://tlcheng.twbbs.org/TLCheng/Basic/vbs/dcom/automation.htm

Šb ASP.NET €]¥i¥H³z¹L web.config §â±bž¹Åv­­§ï±Ä Administrator ©Î¬Ûµ¥¯Å±bž¹¡C
©ó news:18836044-23AA-4E09-A73C-6322F0D3A839%40microsoft.com µoªí
Sorry,¥i¥HœÐ°Ý§Ú­n«çŒËœÕŸãÅv­­?§Úªº·N«ä¬O¡A§Ú­nœÕŸãNetwork ServiceŠbŠó³BªºÅv­­?
"birdie" šÓšç¡G
²×©ó·d©w€F
«ášÓ¥ÎResponse.Write(workSheet.get_Range("A1", "A1").Value2 + "<BR>");
Cells¬O¥ÎšÓ°ßŒgªº¶Ü??
Birdie
--
­·¬ê¬ì§ÞÅçÃÒŠ³­­€œ¥q ASP.NET Web News Reader 0.2.2 UTF-8 Beta
ºô¯žŠa¹Ï http://tlcheng.twbbs.org/wwwmap.htm
¬y°ìšŸ¬x/°Ï°ì€ôžê·œ/®}ª@ºô/ªŽºÀ¹Ï/»y­µ³q°T €å³¹»Pµ{Š¡
Basic/Fortran/Windows API/.Net/»²§U»¡©úÀÉ ­ì©lœX¡B€å³¹»P°Qœ×
·L³nµ{Š¡³]­p·s°Qœ×°Ï MSDN §Þ³Nœ×ŸÂ¡G
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=microsoft.public.tw.dotnet.framework.aspnet
Loading...