我有一个简单的应用程序,需要它来访问Excel文件,将一些数据注入选定的单元格,以及从另一个单元格检索计算结果。
所有单元格引用都以<letter(s)><number>
(例如G35)的形式接收。
问题是,在Visual Studio中访问单元格的方法(就我所能找到的而言)是使用行值和列值。
有没有一种简单的方法可以将字母-数字格式转换为行列格式?或者,使用字母-数字格式访问单元格。
发布于 2017-10-16 07:15:06
如果使用Worksheet.Range对象,则可以通过单元格引用指定单元格
要将从0开始的列索引转换为等效列标题,请使用以下命令:
Private Function xlCol(ByVal col As Integer) As String
'col -= 1 'Uncomment this line if you are using 1-based column indices
Dim s As String = ""
If col < 0 Or col > 16383 Then
Throw New ArgumentException(String.Format("{0} is an invalid column", col), "col")
End If
If col >= 26 ^ 2 Then
s = Chr(64 + (col \ 26 \ 26) Mod 26)
End If
If col >= 26 Then
s &= Chr(64 + (col \ 26) Mod 26)
End If
s &= Chr(65 + (col Mod 26))
Return s
End Function
根据this link的规定,Excel电子表格的列不能超过16384列(列索引16383或标题XFD)。
https://stackoverflow.com/questions/46764166
复制相似问题