Excel单元格位置使用行号和列号VB.net

时间:2015-01-06 18:19:26

标签: vb.net excel

我有一个正在读写excel文件的vb.net程序。我需要使用" Range"用于特定任务的函数,但它需要单元格的实际值。我所拥有的只是行号和列号,具体取决于用户的操作。如何根据行/列编号获取实际的单元格位置,而无需对其进行硬编码。

实施例: 第1行,第1列=" A1" 第5行,第27列=" AA5"

2 个答案:

答案 0 :(得分:1)

在vb.net中,您需要显式转换每个对象,如下所示。

CellValue  = CType(CType(CType(ExcelApp.Workbooks("WorkbookName"), Excel.Workbook).Worksheets("SheetName"), Excel.Worksheet).Cells(rowNum, colNum), Excel.Range).Value

理想情况下,您已经拥有了工作簿和工作表的变量,这些变量将使之前的语句更具可读性。例如:

Dim wbk As Excel.Workbook = CType(ExcelApp.Workbooks("WorkbookName"), Excel.Workbook)
Dim wst As Excel.Worksheet = CType(wbk.Worksheets("SheetName"), Excel.Worksheet)
Dim CellValue As Object = CType(wst.Cells(rowNum, colNum), Excel.Range).Value

注意:将Excel应用程序变量替换为ExcelApp

答案 1 :(得分:0)

Workbook("Name").Sheets("Name").Cells(RowVariable, ColVariable).Address