VB.net Excel.worksheet().cells().Value

半腔热情 提交于 2019-12-20 03:12:30

问题


Trying to write information in Excel worksheet But have some strange problems ;) i looked info on Google but no result.. So plz help )

I Add reference Microsoft.excel 14.0 Object Library and also Import Microsoft.Office.interop

I need to get Value from specific cell so i use command Checker = shXL.cells(1,1). And here i don't have Value.... i only got this (Equal / GetHashCode / GetType / toString) So question is WHY i don't have (.Value) for .cells and where is an Error

        Dim appXL As Excel.Application
        Dim wbXL As Excel.Workbook
        Dim wbsXL As Excel.Workbooks
        Dim shXL As Excel.Worksheet
        Dim Checker As Integer

        appXL = CreateObject("excel.application")
        appXL.Visible = True

        wbsXL = appXL.Workbooks
        wbXL = wbsXL.Open("D:\Некорректные Переключения\Base.xlsx", , , , 12121)
        shXL = wbXL.ActiveSheet
        Checker = shXL.Cells(1, 1).value()

Best Regards and THX!


回答1:


That's because .Cells() returns an object.

You can try converting it to a Excel Cell object in another step, or you can try this (for example):

shXL.Range("A2").Value

With conversion will be:

Dim xRng As Excel.Range = CType(shXL.Cells(3,3), Excel.Range)
Dim val As Object = xRng.Value()



回答2:


With Excel interop, a lot of the time a return value will be in the form of an Object so you need to cast to the correct type to get it's actual properties.

So do something like this (my VB is rusty so may not be completely correct)...

Dim rng as Excel.Range

rng = CType(shXL.Cells(1, 1), Excel.Range)
Checker = rng.Value

Note: I've separated it out into two lines because it's important not use double-dot references with Office interop (e.g., Worksheet.Cell.Value) because you end up with objects you can't release, which will cause issues with Excel not closing properly.

Note2: the .Value property also returns as an object so you'll probably want to cast that too



来源:https://stackoverflow.com/questions/23004274/vb-net-excel-worksheet-cells-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!