Excel标题与索引的对应关系
2024-08-24 22:33:15
/// <summary>
/// 返回对应标题的索引
/// </summary>
/// <param name="columnTitle">Excel定义列标题:大写字母</param>
/// <returns>索引从0开始</returns>
public static int GetColumnIndex(string columnTitle)
{
int len = columnTitle.Length - ;
int index = ;
for (int i = len; i >=; i--)
{
index += GetColumnTitleNumber(columnTitle[i])*Convert.ToInt32(Math.Pow(, len - i));
}
return --index;
} private static int GetColumnTitleNumber(char columnTitle)
{
int startNumber = Convert.ToInt32('A');
int currentNumber = Convert.ToInt32(columnTitle);
if (currentNumber < startNumber || currentNumber >= startNumber + )
throw new ArgumentOutOfRangeException(columnTitle+"列标题超出定义");
return Convert.ToInt32(columnTitle) - startNumber + ;
} /// <summary>
/// 根据列的索引返回对应的标题
/// </summary>
/// <param name="columnIndex">列索引从0开始</param>
/// <returns></returns>
public static string GetColumnTitle(int columnIndex)
{
int columnNumber = columnIndex + ;
int left = columnNumber/;
int startNumber = Convert.ToInt32('A');
if (left == || (left == && (columnNumber% == )))
{
return ((char) (startNumber + columnNumber - )).ToString();
}
if (columnNumber% == )
left--;
return GetColumnTitle(left) + GetColumnTitle(columnNumber - left * );
}
最新文章
- VS2010+Qt+OpenCv(显示图像)
- [Matlab] tic toc
- Windows2003中IIS的安全设置技巧
- eclipse菜单解释及中英对照
- JQuery中html、append、appendTo、after、insertAfter、before、insertBefore、empty、remove的使用
- UITableView 详解 ()
- Android EditText不弹出输入法焦点问题的总结
- C# 网络编程之网页自动登录 (一).使用WebBrower控件模仿登录
- SqlServer 使用小技巧
- grunt实用总结
- JSP制作简单登陆
- Maven2的配置文件settings.xml
- Linux多线程编程——线程的同步
- 实战经验|大神战队都在i春秋教你打CTF
- clamwin + 拖拽查毒+右键查毒
- Jupyter Notebook 介绍 安装和使用技巧
- React 开发注意事项
- JavaScript绝句的小研究
- OSWorkFlow 学习
- MySQL Metadata Lock详解