/// <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 * );
}

最新文章

  1. VS2010+Qt+OpenCv(显示图像)
  2. [Matlab] tic toc
  3. Windows2003中IIS的安全设置技巧
  4. eclipse菜单解释及中英对照
  5. JQuery中html、append、appendTo、after、insertAfter、before、insertBefore、empty、remove的使用
  6. UITableView 详解 ()
  7. Android EditText不弹出输入法焦点问题的总结
  8. C# 网络编程之网页自动登录 (一).使用WebBrower控件模仿登录
  9. SqlServer 使用小技巧
  10. grunt实用总结
  11. JSP制作简单登陆
  12. Maven2的配置文件settings.xml
  13. Linux多线程编程——线程的同步
  14. 实战经验|大神战队都在i春秋教你打CTF
  15. clamwin + 拖拽查毒+右键查毒
  16. Jupyter Notebook 介绍 安装和使用技巧
  17. React 开发注意事项
  18. JavaScript绝句的小研究
  19. OSWorkFlow 学习
  20. MySQL Metadata Lock详解

热门文章

  1. Tastypie与Backbone交互
  2. Fast Fourier Transform
  3. jQuery的.bind()、.live()和.delegate()之间区别
  4. BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
  5. 【CodeVS2800】 送外卖 最短路+状压DP
  6. js获取网页屏幕可视区域高度
  7. CI框架入门2
  8. 获取文件hash值
  9. poj1700-Crossing River(贪心算法)
  10. css解决div的各种浏览器兼容性问题