zoukankan      html  css  js  c++  java
  • 数值转换成Excel列名

    相信这个问题解决方案在网上早已流传,下面是我自己的解决方法。如有雷同,只能说明我们的想法是一样,请见谅。

    View Code
     1         public static string strResult = "";
     2         /// <summary>
     3         /// 将指定数值转换成Excel列名
     4         /// </summary>
     5         /// <param name="colIndex">数值</param>
     6         /// <returns>返回数值对应的Excel列名</returns>
     7         public static string NumbertoString(int colIndex)
     8         {
     9             int once = colIndex / 26;
    10             int twice = colIndex % 26;
    11             strResult = ((char)(twice - 1 + 'A')).ToString() + strResult;
    12             if (once > 26)
    13             {
    14                 NumbertoString(once);
    15             }
    16             else
    17             {
    18                 strResult = ((char)(once - 1 + 'A')).ToString() + strResult;
    19             }
    20             return strResult;
    21         }

    注意:调用此方法之前一定要保证strResult变量为空,如果不是,则调用前要赋空。

    下面是网上评论为比较好的方法:

    View Code
     1 /// <summary>
     2         /// 将指定数值转换成Excel列名
     3         /// </summary>
     4         /// <param name="colIndex">数值</param>
     5         /// <returns>返回数值对应的Excel列名</returns>
     6         public static string NumbertoString(int colIndex)
     7         {
     8             string strResult = ""; // result                
     9             int iRest = 0;         // remainder                  
    10             while (colIndex != 0)
    11             {
    12                 iRest = colIndex % 26;
    13                 char ch = ' ';
    14                 if (iRest == 0)
    15                 {
    16                     ch = 'Z';
    17                 }
    18                 else
    19                 {
    20                     ch = (char)(iRest - 1 + 'A');
    21                 }
    22 
    23                 strResult = ch.ToString() + strResult;
    24                 if (strResult[0] == 'Z')
    25                 {
    26                     colIndex = colIndex / 26 - 1;
    27                 }
    28                 else
    29                 {
    30                     colIndex /= 26;
    31                 }
    32             }
    33             return strResult;
    34         }


     

  • 相关阅读:
    vmware 虚拟机共享 windows 目录
    下载 golang.org/x 包出错不用代理的解决办法
    c++小游戏——彩票
    恶意代码要注意
    Pascal到c++,求大佬翻译!
    【CYH-01】小奔的国庆练习赛:赛后标程
    鸽巢原理及其扩展——Ramsey定理
    区块链,你知道多少?
    go语言
    10.2:异或树经验
  • 原文地址:https://www.cnblogs.com/pfcan66/p/2679128.html
Copyright © 2011-2022 走看看