我有一个正在读写excel文件的vb.net程序。我需要使用" Range"用于特定任务的函数,但它需要单元格的实际值。我所拥有的只是行号和列号,具体取决于用户的操作。如何根据行/列编号获取实际的单元格位置,而无需对其进行硬编码。
实施例: 第1行,第1列=" A1" 第5行,第27列=" AA5"
答案 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