以下方法实现了递增Excel中单元格的CellReference的功能,只支持两位字母。

 public static string CellReferenceIncrement(string cellReference)
{
Match m1 = Regex.Match(cellReference, "^([A-Z]+)");
Match m2 = Regex.Match(cellReference, @"(\d+)$"); string value = m1.Value;
List<char> newChars = new List<char>();
for (int i = value.Length - ; i >= ; )
{
if (value[i] == 'Z')
{
newChars.Insert(, 'A');
if ((i - ) >= )
newChars.Insert(, (char)((int)value[i - ] + ));
else
newChars.Insert(, 'A');
break;
}
else
{
newChars.Insert(, (char)((int)value[i] + ));
if ((i - ) >= )
newChars.Insert(, value[i - ]);
break;
}
}
return string.Join("", newChars) + m2.Value;
}

以下为测试代码:

 static void Main(string[] args)
{
List<string> tList = new List<string>() { "A2", "Z3", "AA3", "AZ9", "WF20" };
foreach (string s in tList)
Console.WriteLine(CellReferenceIncrement(s));
}

以下为输出结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABgCAIAAADQG7YaAAABeUlEQVRoge2YS3LEMAgFdf9T6WjZpSYCHsjh46p5vdLIcmhLGFxZixBCnrH/Aq4OmLlj+bMcat0QTKC37Ja1pgn3sAacZNThlIp4jDkBj8ltA1V+C/q0CCHE56pJ9xWzuFZr9bceXa3+4GeykxrAmpdrSnisVX6CahhrftmHnqzlfkRYNxY6XY3B7ZkED86d/wKtI3W2wF2W70QIISFAN7T6dEfdUmO7Y/XGTOSjz2tt7XNv+Ati2VpuApWfoAyDd6sp3+XGRHKo/ATxGBhUmVnhb+cHtLoLxJFS28C6qzzrCSHkBNen5f3vtNYMSOCZgVb9O4O7TUdPVEOOaYHeN6nlhrTWFCY+eHprIz8nu7WCb9ykFgjfnVv4cMud1AQ6ZqwFJU6EEII4WptVvayeKEtXWj07tI55PLYuJZhlaQV76L+0wB99qZZ6+7u0gjn3UEu+hur7CJzytZbYqkiMW8scrXV/QMNakWUJTpbWMrJqC+TVBCdCSD0/CbBkrqKEZIAAAAAASUVORK5CYII=" alt="" />

使用OpenXml操作Excel,以下方法用于在添加列时修改Cell的CellReference属性。的更多相关文章

  1. VBS操作Excel常见方法

    VBS操作Excel常见方法 作者: 字体:[增加 减小] 类型:转载 时间:2009-11-13我要评论 VBS控制Excel常见方法,需要的朋友可以参考下. dim oExcel,oWb,oShe ...

  2. 在 VS2008 下操作 Excel 的方法总结

      这些天做个软件,需要读取 Excel 并导入到数据库中,所以研究了一下在 VC 下操作 Excel 的方法,这里做个总结,以作备忘. 一.最常用的 OLE 自动化方式 这个方式应该说是功能最全的方 ...

  3. 使用DocumentFormat.OpenXml操作Excel文件.xlsx

    1.开始 DocumentFormat.OpenXml是ms官方给一个操作office三大件新版文件格式(.xlsx,.docx,.pptx)的组件:特色是它定义了OpenXml所包含的所有对象(たぶ ...

  4. 用VB操作Excel的方法

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...

  5. C#操作excel(多种方法比较)

    1.用查询表的方式查询并show在数据集控件上. public static string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; D ...

  6. Ruby操作Excel的方法与技巧大全

    测试工作中,批量的数据通常会放到excel表格中,测试输出的数据写回表格中,这样输入输出易于管理,同时清晰明了 使用ruby来操作excel文件首先需要在脚本里包含以下语句 require'win32 ...

  7. C# - openxml 操作excel - '“System.IO.Packaging.Package”在未被引用的程序集中定义'

    在 CodeProject中,有位网友写的一篇基于OpenXML SDK 2.0对excel(大数据量)进行操作,其中,运行的时候,有如下错误: 类型“System.IO.Packaging.Pack ...

  8. OpenXml操作Excel

    要使用OpenXml首先要下载最新的Open XML Format SDK 2.0.具体的导入openxml的dll,去网上搜,很多 1.我个人写的XmlHelp类 using System; usi ...

  9. NPOI操作EXCEL(二)——大量不同模板时设计方式

    上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...

随机推荐

  1. Matrix 二维树状数组的第二类应用

    Matrix Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 17976   Accepted: 6737 Descripti ...

  2. SSO 登录功能的实现

    一.引言 自己早晚都会碰到的问题. 当需要到分离多站点多应用的时候,都是希望用户只要在一个站点登录,其它所有的应用站点都是已登录的状态. 查了下新浪与淘宝的登录的资料,自己实现了一个并做下记录. 二. ...

  3. Java基础知识强化之网络编程笔记24:Android网络通信之 AndroidAsync(基于nio的异步通信库)

    1. AndroidAsync   AndroidAsync 是一个基于nio的异步socket ,http(客户端服务器端),websocket,socket.io库,AndroidAsync 是一 ...

  4. 关于docker中的几个小命令

    问题 A VirtualBox machine with the name 'vagrant_c__devops_docker_vagrant' already exists. 解决命令:VBoxMa ...

  5. backboneJs 导图

  6. Tomcat - JNDI 配置

    1. Create Your JavaBean Class Create the JavaBean class which will be instantiated each time that th ...

  7. 搜索本地网络内所有可用的SQl实例

    '搜索本地网络内所有可用的SQl实例 Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance Dim dt ...

  8. lstm-思想

    RNN(Recurrent Neural Network) 今天我这里讲到的RNN主要是上图这种结构的,即是Hidden Layer会有连向下一时间Hidden Layer的边,还有一种结构是Bidi ...

  9. Learn Python The Hard Way学习笔记001

    今天搜索了一下raw_input() 和 input()的区别,引用下原文部分内容 两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 ...

  10. Swift常量和变量以及命名规范

    我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量.常量和变量是构成表达式的重要组成部分.常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变 ...