[ad_1]
The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
cuando ejecuto mi proyecto aparece este error por favor ayúdenme a resolver el problema
Lo que he probado:
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
Solución 1
Para ser honesto, no podemos ayudarlo con esa pequeña información y probablemente no podamos brindarle una “solución completa” en absoluto, simplemente porque no tenemos forma de acceder a su hoja de cálculo en su sistema mientras se ejecuta el código, y lo necesita para comenzar a diagnosticar el problema.
Entonces, dependerá de usted.
Afortunadamente, tienes una herramienta a tu disposición que te ayudará a descubrir qué está pasando: el depurador. Si no sabe cómo usarlo, una búsqueda rápida en Google para “depurador de Visual Studio” debería brindarle la información que necesita.
Coloque un punto de interrupción en la primera línea de la función y ejecute su código a través del depurador. Luego mire su código y sus datos y determine qué debería suceder manualmente. Luego, realice un solo paso en cada línea para verificar que lo que esperaba que sucediera sea exactamente lo que sucedió. Cuando no es así, es cuando tienes un problema y puedes retroceder (o ejecutarlo nuevamente y observar más de cerca) para descubrir por qué.
Cuando sepa qué línea causa la excepción, puede ver los datos que le pasó y lo que está haciendo (probablemente necesitará volver a ejecutar su aplicación con un punto de interrupción establecido en la línea defectuosa). Los datos deberían darle pistas sobre el problema.
Lo sentimos, pero no podemos hacer eso por usted. Es hora de que aprenda una habilidad nueva (y muy, muy útil): ¡depurar!
[ad_2]
コメント