Excel的列名都是以大写英文字母组成的,比如A-Z表示1-26列,AA表示27列,AZ表示52

数字转列名(C#)

public string GetCol(int col){//col从1开始string res = "";//col输入始终为非负数int remain = (col - 1) % 26;char addChar = (char)('A' + remain);res = addChar +res;col = (col-1) / 26;while (col >= 1){int left = (col - 1) % 26;char add = (char)('A' + left);res = add + res;col = (col-1) / 26;}return res;}

以英文字母表示数字的特点就是,没有0这个概念,如果是一般的26进制,表示26将是10(两位),而这里是Z(一位,因为没有零

列名转数字(C#)

//列名转数字public int GetNum(String col){int res = 0;int mod = 1;for (int i = col.Length-1; i >=0 ; i--){char now = col[i];int diff = now - 'A';res = res + (diff + 1) * mod;mod = mod * 26;}return res;}

这个还是一般的进制算法,从末位开始,到高位次,(n位字符),的和

平移选中行n个单位(C#),返回结果行Address

public string RowMove(String raw, int n){string res = "";//提取数字用string pattern = @"[0-9]+";Regex reg = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);string[] strList = raw.Split(',');for (int i = 0; i < strList.Length; i++){MatchCollection mc = reg.Matches(strList[i]);int temp1 = Convert.ToInt32(mc[0].Value) + n;int temp2 = Convert.ToInt32(mc[1].Value) + n;res = res + "$" + temp1 + ":$" + temp2;if (i != (strList.Length - 1)){res = res + ",";}}return res;}

参数raw为选中行的地址

Excel.Range select = (Excel.Range)Globals.ThisAddIn.Application.Selection;
string raw=select.Address;

例如:

如果设n为1,意思是将选中行平移1行得到的地址,将得到形如“$6:$6,$9:$13”的结果

Excel列与数字的转换相关推荐

  1. excel 列标 数字恢复为字母的设置

    excel教程中 列标默认情况下是使用字母标识列, ABC--,而不是123这样的数字列标. Excel行号列标用来标识单元格位置,每个单元格通过"列标+行号"来表示.如:C2,表 ...

  2. C语言32位正整数作为id进程,SOJ4453 Excel列数 进制转换

    描述 我们都知道Excel的列数是用字母表示的,比如第1列对应A,第27列对应AA. 假设给定一个正整数n,你能给出它所对应的字母表示么? 输入格式 程序需要读入多个测试样例,每个测试样例中: 一个正 ...

  3. Excel行列数字字母转换实现

    背景: Excel的列索引使用的是字母索引,某些开发中需要我们自己转换为数字,或者将数字转换为字母,比如基于Excel的公式,用户经常输入A1来表示引用Cell(0,0)的值.这时候我们需要把A转换为 ...

  4. Java poi Excel xls列号数字转字母

    最近遇到导出的xls中 列是动态生成的,且单元格中需要用到公式,而xls公式不是用数字列号而是用列字母来表示的,这时需要把数字的列号转成该列对应的字母.因为是按月导出 一个月最多31天,所以刚开始采用 ...

  5. csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法

    csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法 参考文章: (1)csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计 ...

  6. python报表自动化系列 - 译码:将纯数字译码为Excel列坐标的字母索引表示形式

    python译码器 将纯数字译码为Excel列坐标的字母索引表示形式(特殊的二十六进制) 李俊才 邮箱:291148484@163.com [内容概述] 译码在一定程度上相当于查字典.对于简单的编码, ...

  7. POI读取Excel 各种特殊数字和类型的转换

    POI读取Excel 各种特殊数字和类型的转换.取值带一个E http://blog.csdn.net/johnstrive/article/details/8393541 POI解析Excel[po ...

  8. Excel中的数字格式与文本格式进行转换

    Excel中的数字格式与文本格式进行转换 有时候因为在excel中的单元格中要输入比较多的数字例如身份证号或者银行账户号等,excel中的单元格就会出现类似下面图片中的"乱文". ...

  9. Excel中按照数字和汉字列对所有列排序

    今天学医的一个同学发消息说他那大量的Excel的数据想按照数字和汉字那一列数据进行排序,但是不知道怎么操作,于是我就自己给他制作了了比较粗糙的操作教程,希望能够帮助到需要帮助的人吧.也欢迎有较好的方法 ...

  10. Excel列数和列字母的转换(column number 和 column letters 互转)

    利用下面两个函数,可以实现excel 列总数和列字母的相互转换. public string ConvertColumnNum2String(int columnNum) {       if (co ...

最新文章

  1. 【MediaPipe】(2) AI视觉,人体姿态关键点实时跟踪,附python完整代码
  2. Nginx配置和内核优化 实现突破十万并发
  3. c语言作业 龟兔赛跑,c语言龟兔赛跑
  4. Jquery获取select 控件的change事件时选中的值
  5. 后端需要掌握的技术_何小伟:软件测试需要掌握的技术?
  6. 一文看懂async和“await”关键词是如何简化了C#中多线程的开发过程
  7. 欢迎使用Java 8之前要重温的10个JDK 7功能
  8. 【Linux】与用户管理相关的命令总结
  9. Atitit.运行cmd 命令行 php
  10. Python运算符含义汇总
  11. C#.net工作笔记001---Linq对象查询,排序,分组,去重在工作中的使用_随时更新
  12. msfconsole学习
  13. matlab神经网络预测模型,matlab人工神经网络预测
  14. WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头
  15. 《平台战略:正在席卷全球的商业模式革命》有感
  16. 文献笔记04-大学生运动会报名系统的设计与研究
  17. java限流器简单实现
  18. 怎么把字母缩小当符号_iPhone自带输入法怎么用 iPhone自带输入法小技巧【详解】...
  19. OpenJudge NOI 2.1 7621:硬币面值组合
  20. 区间估计Bootstraping/Jackknife

热门文章

  1. 计算机网络共享文件共享,终于发现如何取消计算机网络共享文件
  2. 2003年高考语文全国最高分_2003年参加高考的同学们?你们考了多少分啊?再议2003年高考数学...
  3. EDM营销常见问题之邮件被退回原因剖析
  4. ATO(韩商爱拓)1Gbit SPI NAND Flash领先全球
  5. 为什么还有6亿中国人仍不放弃QQ?
  6. 申论是什么额?如何备考,带你走进它
  7. Microbiome:鸡肠道微生物宏基因集的构建(张和平、魏泓、秦楠点评)
  8. Cox模型中的变量选择(1)---自适应Lasso方法
  9. Fluent中级工程进阶,从5种气体燃烧模型出发
  10. 线序检测 多芯线 线缆检测 正反线序 交叉线序检测 排线检测 成品线检测