Excel字母标题转十进制索引号

近期做项目遇到用户自定义报表输出区域,使用NPOI进行导出时需要将列标题字母ABCD.....转成对应的索引号,所以自己写了二十六进制转十进制的共用,发出来给大家参考和找BUG,有bug欢迎下方评论,O(∩_∩)O谢谢        

        #region Excel列标题转换十进制索引
        public static int cellCodeToInt(string str)
        {
            //转大写
            str = str.ToUpper();

            //分割字符数组
            char[] arr = str.ToCharArray();

            //累计最终转换十进制结果
            int val = 0;

            //低位到高位开始转换
            for(int i = arr.Length - 1;i >= 0;i--)
            {
                val += Convert.ToInt32( Math.Pow(26, arr.Length - 1 - i) * (arr[i] - 64) );
            }

            //结果减1适配从零还是的索引
            val -= 1;

            return val;
        }
        #endregion

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值