早上好。
在阅读了有关优化 Excel Interop 的问题的答案后,我发现使用worksheet.Range["A1:C3"]
(same as worksheet.get_range("A1:C3")
) 引用单元格不是很方便。我想以某种方式使用整数/长数字来引用单元格,并且我不想将列号 {1, 2, 3, ...} 映射到列字母 {"A", "B", "C “,...}。
注意:我知道.Cells
,但这不是一个选项,因为它只返回单个单元格 AFAIK。
任何想法?
问候
早上好。
在阅读了有关优化 Excel Interop 的问题的答案后,我发现使用worksheet.Range["A1:C3"]
(same as worksheet.get_range("A1:C3")
) 引用单元格不是很方便。我想以某种方式使用整数/长数字来引用单元格,并且我不想将列号 {1, 2, 3, ...} 映射到列字母 {"A", "B", "C “,...}。
注意:我知道.Cells
,但这不是一个选项,因为它只返回单个单元格 AFAIK。
任何想法?
问候
在 Excel 宏 (VBA) 中,您可以这样使用:
Dim rngStart As Range
Set rngStart = Range("A1")
Dim rngEnd As Range
Set rngEnd = rngStart.Rows(3).Columns(4)
Dim rngFinal As Range
Set rngFinal = Range(rngStart, rngEnd)
rngFinal.Select
应该很容易将其重写为 C#/VB.NET。
您可以使用 Cells 属性创建一个 Range 对象,该对象可用作 Range 属性的参数。
在此处查看示例:http: //msdn.microsoft.com/en-us/library/bb178282.aspx在页面中间有一个示例,您使用 Cells 属性获取传递给的两个范围对象Range 属性而不是传递字符串:
With Worksheets(1)
.Range(.Cells(1, 1), _
.Cells(10, 10)).Borders.LineStyle = xlThick
End With
通常,Cells 属性返回一个 Range 对象,您可以使用该对象执行任何操作:http: //msdn.microsoft.com/en-us/library/bb148836.aspx