zoukankan      html  css  js  c++  java
  • 黄聪:C#中 Excel列字母与数字的转换

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.Regularexpression_rs;

    namespace Hooogle
    {
        public static class ExcelConvert
        {
            #region - 由数字转换为Excel中的列字母 -
           
            public static 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 - 1;
            }

           
            public static string ToName(int index)
            {
                if (index < 0) { throw new Exception("invalid parameter"); }

                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());
            }
            #endregion
        }
    }

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/huangcong/p/1697054.html
Copyright © 2011-2022 走看看