博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Excel单元格列名转化成函数
阅读量:6069 次
发布时间:2019-06-20

本文共 3168 字,大约阅读时间需要 10 分钟。

///    /// Excel形式的列变换   ///     public class ExcelCRHelper    {        private const string ALPHABET_UPPER = "ABCDEFGHIGKLMNOPQRSTUVWXYZ";        ///         /// 形如(B4)的单元格的列号提取         ///         /// 
public static int ExtractColIndex(string strColRow) { int iCol = -1; Regex reg = new Regex("[A-Z]+"); Match m = reg.Match(strColRow); if (m.Success && m.Value !=null) { iCol = 0; if (m.Value.Length == 1) { iCol = ALPHABET_UPPER.IndexOf(m.Value); } else if (m.Value.Length > 1) { for (int i = 0; i < m.Value.Length; i++) { if (i == m.Value.Length - 1) { iCol += ALPHABET_UPPER.IndexOf(m.Value[i]); } else { int iBase = Convert.ToInt32( Math.Pow(26, m.Value.Length - i - 1)); iCol += iBase * (ALPHABET_UPPER.IndexOf(m.Value[i]) + 1); } } } } return iCol; } /// /// 形如(B4)的单元格的行号提取 /// ///
public static int ExtractRowIndex(string strColRow) { int iRow = -1; Regex reg = new Regex("[\\d]+"); Match m = reg.Match(strColRow); if (m.Success && m.Value != null) { try { iRow = Convert.ToInt32(m.Value) - 1; } catch { } } return iRow; } /// /// 根据列号转换成列名(如:3-->D) /// ///
public static string GetColumnName(int colIndex) { if (colIndex < 0) return ""; string colName = ""; if (colIndex < 26) { colName += ALPHABET_UPPER[colIndex]; } else { List
lstIndex = new List
(); int remainder = colIndex % 26; colIndex = Convert.ToInt32(Math.Floor(colIndex / 26.0)); lstIndex.Add(remainder); while (colIndex > 26) { remainder = colIndex % 26; colIndex = Convert.ToInt32(Math.Floor(colIndex / 26.0)); lstIndex.Add(remainder); } if (colIndex > 0) { colName += ALPHABET_UPPER[colIndex - 1]; } for (int i = lstIndex.Count - 1; i >= 0; i--) { if (i == 0) { colName += ALPHABET_UPPER[lstIndex[i]]; } else { colName += ALPHABET_UPPER[lstIndex[i] -1]; } } } return colName; } }

 

 

转载地址:http://ycfgx.baihongyu.com/

你可能感兴趣的文章
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
Ubuntu12.04 编译android源代码及生成模拟器经历分享
查看>>
KVM网络桥接设置方法
查看>>
Puppet学习手册:Puppet Yum安装
查看>>
我的友情链接
查看>>
ansible学习记录
查看>>
网思科技校园网计费解决方案
查看>>
我的友情链接
查看>>
携程 Apollo分布式部署
查看>>
2017 Hackatari Codeathon B. 2Trees(深搜)(想法)
查看>>
单词统计
查看>>
输入一个数字计算圆的面积
查看>>
在Delphi中隐藏程序进程
查看>>
AngularJS PhoneCat代码分析
查看>>
MEF元数据应用说明
查看>>
maven错误解决:编码GBK的不可映射字符
查看>>