Как найти название или заголовок столбца?
Например, если я выбираю столбец 5 в средствах Excel, я хочу результат как "E". Как получить алфавит или соответствие буквы столбцу нет.
Помогите мне с кодом
Как насчет использования Application.ActiveCell.get_Address (true, true, Excel.AlReferenceStyle.xlA1, missing, missing)
, а затем проанализировать строку результата или использовать RegEx для получения заголовка столбца?
Я просто использовал:
string location = Application.ActiveCell.get_Address(true, true, Excel.AlReferenceStyle.xlA1, missing, missing);
string tokens = x.Split("$".ToCharArray());
MessageBox.Show(String.Format("Column {0}", result[0]));
public static string GetColumnName(int columnNumber)
{
const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string columnName = "";
while (columnNumber > 0)
{
columnName = letters[(columnNumber - 1) % 26] + columnName;
columnNumber = (columnNumber - 1) / 26;
}
return columnName;
}
Ниже приведен полный метод, который дает вам соответствующий алфавит для переданного целочисленного значения.
private String Number2String(int number, bool isCaps)
{
int number1 = number / 27;
int number2 = number - (number1 * 26);
if (number2 > 26)
{
number1 = number1 + 1;
number2 = number - (number1 * 26);
}
Char a = (Char)((isCaps ? 65 : 97) + (number1 - 1));
Char b = (Char)((isCaps ? 65 : 97) + (number2 - 1));
Char c = (Char)((isCaps ? 65 : 97) + (number - 1));
string d = String.Concat(a, b);
if (number <= 26)
return c.ToString();
else
return d;
}