• nemo's blog

  • 致力于游戏开发
  • 首页
  • 登录
  • Excel列字母与数字的转换,C#实现

    post by idnemo / 2009-9-24 15:58 Thursday

    今天写工具时碰到的问题,贴出来分享一下       

    //用于excel表格中列号字转成数字,返回的列号索引从1开始
            public  int ToIndex(string columnName)
            {
                if (!Regex.IsMatch(columnName.ToUpper(), @"[A-Z]+"))
                    throw new Exception("Invalid parameter");
                int index = 0;
                char[] chars = columnName.ToUpper().ToCharArray();
                for (int i = 0; i < chars.Length; i++)
                {
                    index += ((int)chars[i] - (int)'A' + 1) * (int)Math.Pow(26, chars.Length - i - 1);
                }
                return index;
            }

            //用于将数字转成excel表格中列号字母,返回的列号索引从A开始,从A对应1开始
            public string ToName(int index)
            {
                if (index <= 0)
                    throw new Exception("invaild parameter");
               
                index--;
                List<string> chars = new List<string>();
                do
                {
                   if (chars.Count > 0)
                       index--;
                    chars.Insert(0, ((char)(index % 26 + (int)'A' )).ToString());
                    index = (int)((index - index % 26) / 26);
                } while (index > 0);
               
                return String.Join(string.Empty, chars.ToArray());
            }

    标签: 游戏开发
    « 独立游戏 | 梦想实现的一刻……»

    引用地址:

    发表评论:

  • blogger

      blogger
    • idnemo
    • 目前供职于2k Games,快乐地实现自己梦想,美…… MAIL:shenheshen@163.com Skype:idnemo QQ:64183074
  • 标签

    • 游戏 牢骚 音乐 电影 游戏开发 足球
  • 日历

  • 随机日志

    • 用PSP完美阅读PDF书籍
    • 新开BLOG
    • I/O模型
    • 跳并快乐着!
    • C++与C#的不同(一)
    • C++与C#的不同(二)
    • 古蒂:欧洲足坛最后的艺术家
    • Excel列字母与数字的转换,C#实现
  • 碎语

    • 最新评论

      • wy
        请教,打印出来是mdi格式吗?
      • Vinci
        哈哈哈,听起来真不错,上古4我刚一出生就迷茫了,不知道该干啥,走走和卫兵打起来了,结果就挂了....
      • 狒狒王
        谢谢,博主,也祝你新年快乐,虎虎生威,吉祥如意!
      • Melody
        我用了上面的方法,还是不成啊.除了一本英文书由20M转换成了4M并成功看到,其它中文书都不成...郁闷的.不停地死机,刷机,够烦.800多页的书正转成TXT
      • idnemo
        多谢徒儿支持
      • 哞哞
        师父,您复活了
      • Tangboke
        文章深入浅出。
      • →龍少爺→
        恭喜也,呵呵
      • 艺术高考
        真牛比
      • Vinci
        。。。游戏bug啊~死神应该掉落一个物品,并且触发任务
      • Vinci
        我的捡起我的ps2玩一玩了~
      • Vinci
        ....在输入框的下边
      • idnemo
        是啊,我也纳闷,摘要在哪里,摘要栏又在哪里?
      • Vinci
        老沈,你的模版文字都变成了粗体,是因为你在这骗文章里插入了[break]么?去看看看,如果是,就把摘要写到摘要栏里即可
      • Vinci
        不错不错
    • 链接

      • emlog
      • 我的豆瓣
    • 存档

      • 2010年2月(3)
      • 2009年11月(1)
      • 2009年10月(1)
      • 2009年9月(3)
      • 2009年8月(1)
      • 2009年4月(1)
      • 2009年3月(1)
      • 2009年2月(2)
      • 2009年1月(1)
      • 2008年12月(1)
      • 2008年11月(1)
      • 2008年10月(2)
      • 2008年9月(1)
      • 2008年8月(4)
      • 2008年7月(2)
      • 2008年6月(4)
      • 2008年5月(5)
      • 2008年4月(4)
      • 2008年3月(4)
      • 2008年2月(4)
      • 2008年1月(4)
      • 2007年12月(5)
      • 2007年11月(5)
      • 2007年10月(5)
      • 2007年9月(7)
    • 搜索

    • 信息

      • 日志数量:72
      • 评论数量:154
      • 引用数量:3
      • 今日访问:116
      • 总访问量:120086
    • 豆瓣

    订阅Rss
    Powered by emlog