出现错误请帮助我服务器抛出异常。 (HRESULT 异常:0x80010105 (RPC_E_SERVERFAULT))


The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))

运行我的项目时出现此错误,请帮我解决问题

我尝试过的:

  1  Private Function GetXlUsedRange(ByVal filePath As String) As Object(,)
  2          Dim xlApp As Excel.Application
  3          Dim xlWorkbooks As Excel.Workbooks
  4          Dim xlWorkbook As Excel.Workbook
  5          Dim xlSheets As Excel.Sheets
  6          Dim xlWorkSheet As Excel.Worksheet
  7          Dim xlRange As Excel.Range
  8  
  9  
 10          xlApp = New Excel.Application
 11          xlWorkbooks = xlApp.Workbooks
 12          xlWorkbook = xlWorkbooks.Open(filePath)
 13          xlSheets = xlWorkbook.Worksheets
 14          xlWorkSheet = CType(xlSheets("Data"), Excel.Worksheet)
 15          xlRange = xlWorkSheet.UsedRange
 16  
 17          Dim rangeValues(,) As Object
 18          rangeValues = CType(xlRange.Value, Object(,))
 19  
 20  
 21          xlWorkbook.Close()
 22          xlWorkbooks.Close()
 23          xlApp.Quit()
 24  
 25          releaseObject(xlRange)
 26          releaseObject(xlWorkSheet)
 27          releaseObject(xlSheets)
 28          releaseObject(xlWorkbook)
 29          releaseObject(xlWorkbooks)
 30          releaseObject(xlApp)
 31  
 32          Return rangeValues
 33      End Function
 34  
 35      Private Sub releaseObject(ByVal obj As Object)
 36          Try
 37              System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
 38              obj = Nothing
 39          Catch ex As Exception
 40              obj = Nothing
 41          End Try
 42      End Sub
 43  
 44      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 45          Dim usedRange(,) As Object = GetXlUsedRange("C:\Users\Jayanta Modak\Desktop\import.xls")
 46  
 47          Dim fromRow As Integer = 7
 48          PopulateListView(usedRange, fromRow)
 49      End Sub

解决方案1

老实说,我们无法为您提供那么一点信息,并且可能根本无法为您提供“完整的解决方案” – 只是因为我们无法在您的代码运行时访问您系统上的电子表格,并且您需要它来开始诊断问题。

所以,这将取决于你。
幸运的是,您有一个可用的工具可以帮助您了解正在发生的情况:调试器。 如果您不知道如何使用它,那么快速搜索“Visual Studio 调试器”应该可以为您提供所需的信息。

在函数的第一行放置一个断点,然后通过调试器运行代码。 然后查看您的代码和数据并找出应该手动发生的情况。 然后单步执行每一行,检查您期望发生的情况是否确实发生。 如果不是,那就是你遇到了问题,你可以回溯(或再次运行它并更仔细地查看)以找出原因。

当您知道哪一行导致异常时,您可以查看传递给它的数据以及它正在执行的操作(您可能需要在失败的行上设置断点来重新运行应用程序)。 数据应该为您提供有关问题的线索。

抱歉,我们无法为您做到这一点 – 您是时候学习一项新的(并且非常非常有用)技能了:调试!

コメント

タイトルとURLをコピーしました