生成(伪)26进制数字表示(类似于Excel列名)
生成(伪)26进制数字表示(类似于Excel列名)
如何在C#中将数字转换为Excel列名,而不使用自动化直接从Excel获取值?
Excel 2007的可能范围是1到16384,这是它支持的列数。结果值应以Excel列名称的形式呈现,例如A,AA,AAA等。
admin 更改状态以发布 2023年5月22日
如果有人需要在Excel中不用VBA完成这个任务,可以采用以下方法:
=SUBSTITUTE(ADDRESS(1;colNum;4);"1";"")
其中colNum是列号。
而在VBA中,则如下所示:
Function GetColumnName(colNum As Integer) As String Dim d As Integer Dim m As Integer Dim name As String d = colNum name = "" Do While (d > 0) m = (d - 1) Mod 26 name = Chr(65 + m) + name d = Int((d - m) / 26) Loop GetColumnName = name End Function