本文介绍了如何将列号(例如127)转换为Excel列(例如AA)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在不使用自动化的情况下将数字转换为C#中的Excel列名直接从Excel获取值。

How do you convert a numerical number to an Excel column name in C# without using automation getting the value directly from Excel.

Excel 2007的可能范围为1到16384,这是它支持的列数。结果值应采用excel列名的形式,例如A,AA,AAA等。

Excel 2007 has a possible range of 1 to 16384, which is the number of columns that it supports. The resulting values should be in the form of excel column names, e.g. A, AA, AAA etc.

推荐答案

如果有人需要在没有VBA的Excel中执行此操作,则可以使用以下方法:

If anyone needs to do this in Excel without VBA, here is a way:

=SUBSTITUTE(ADDRESS(1;colNum;4);"1";"")

其中colNum是列号

where colNum is the column number

在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

这篇关于如何将列号(例如127)转换为Excel列(例如AA)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 01:50