我想讀一個.xls
文件是從第三方網站下載。我不會每天處理文件,所以在上傳文件之前我無法將格式更改爲.xlsx
。 Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
與CLSID {00024500-0000-0000-C000-000000000046}檢索COM類工廠組件失敗
我使用的是vb.net
本站IIS7
:
我不斷收到以下錯誤。 應用程序池用我的用戶登錄,我的用戶是服務器上的管理員,可以訪問所有內容。
我也做了以下內容:
- 辦公室安裝在主機
- 我已經進入
DCOMCNFG
並提出確保Launch and Activation Permissions
,Access Permissions
和Configuration Permissions
擁有完全控制我的登錄帳戶上。 - 服務器具有x64體系結構,而且我也有Office 64安裝
- 我已確認該文件夾
C:\Windows\SysWOW64\config\systemprofile\Desktop
以及C:\Windows\SysWOW64\config\systemprofile\Desktop
確實存在。 - 我知道
C:\Windows\SysWOW64\config\systemprofile\Desktop
適用於x86架構,但我確定它是在那裏以防萬一系統想要使用它。
這是我的代碼如下所示:
Imports genlib
Imports Excel = Microsoft.Office.Interop.Excel
Partial Class HeadOffice_OpperationalParameters_FailedBranches
Inherits System.Web.UI.Page
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
Protected Sub btnRunReport_Click(sender As Object, e As EventArgs) Handles btnRunReport.Click
If fuReport.HasFile = False Then
ClientScript.RegisterClientScriptBlock(Me.GetType, "", "alert('Upload a file to process.');", True)
Exit Sub
End If
Dim ReportFileName As String = Server.MapPath("~") & "FilesUploaded\" & fuReport.FileName.Replace(".XLS", "_" & Today.ToString("yyyy.MM.dd") & "_" & TimeOfDay.ToString("HH.mm.ss") & ".xls")
fuReport.SaveAs(ReportFileName)
Dim xlApp As Excel.Application 'Here
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Try
'=================================================
' ERROR OCCURS ON NEXT LINE
'=================================================
xlApp = New Excel.ApplicationClass
xlWorkbook = xlApp.Workbooks.Open(ReportFileName)
xlWorksheet = xlWorkbook.Worksheets("RptTransactionDetail")
BrowserWrite(xlWorksheet.Cells(2, 2).value, True)
xlWorkbook.Close()
xlApp.Quit()
Catch ex As Exception
ClientScript.RegisterClientScriptBlock(Me.GetType, "", "alert('" & ex.Message.Replace("'", "\'").Replace(vbCr, "\r").Replace(vbLf, "\n") & "');", True)
Exit Sub
End Try
releaseObject(xlApp)
releaseObject(xlWorkbook)
releaseObject(xlWorksheet)
End Sub
End Class
誰能告訴我如何解決這個錯誤,或採取什麼步驟,以確定問題?
我已經閱讀了堆棧溢出的大部分帖子,但是有太多無法添加我已經看過的每個答案。
錯誤發生在哪條線上? – dbasnett
@dbasnett第33行:xlApp =新Excel.ApplicationClass –
你試過xlApp =新的Excel。應用程序 – dbasnett