使用OpenXml操作Excel,以下方法用于在添加列时修改Cell的CellReference属性。
以下方法实现了递增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属性。的更多相关文章
- VBS操作Excel常见方法
VBS操作Excel常见方法 作者: 字体:[增加 减小] 类型:转载 时间:2009-11-13我要评论 VBS控制Excel常见方法,需要的朋友可以参考下. dim oExcel,oWb,oShe ...
- 在 VS2008 下操作 Excel 的方法总结
这些天做个软件,需要读取 Excel 并导入到数据库中,所以研究了一下在 VC 下操作 Excel 的方法,这里做个总结,以作备忘. 一.最常用的 OLE 自动化方式 这个方式应该说是功能最全的方 ...
- 使用DocumentFormat.OpenXml操作Excel文件.xlsx
1.开始 DocumentFormat.OpenXml是ms官方给一个操作office三大件新版文件格式(.xlsx,.docx,.pptx)的组件:特色是它定义了OpenXml所包含的所有对象(たぶ ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
- C#操作excel(多种方法比较)
1.用查询表的方式查询并show在数据集控件上. public static string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; D ...
- Ruby操作Excel的方法与技巧大全
测试工作中,批量的数据通常会放到excel表格中,测试输出的数据写回表格中,这样输入输出易于管理,同时清晰明了 使用ruby来操作excel文件首先需要在脚本里包含以下语句 require'win32 ...
- C# - openxml 操作excel - '“System.IO.Packaging.Package”在未被引用的程序集中定义'
在 CodeProject中,有位网友写的一篇基于OpenXML SDK 2.0对excel(大数据量)进行操作,其中,运行的时候,有如下错误: 类型“System.IO.Packaging.Pack ...
- OpenXml操作Excel
要使用OpenXml首先要下载最新的Open XML Format SDK 2.0.具体的导入openxml的dll,去网上搜,很多 1.我个人写的XmlHelp类 using System; usi ...
- NPOI操作EXCEL(二)——大量不同模板时设计方式
上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...
随机推荐
- Matrix 二维树状数组的第二类应用
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17976 Accepted: 6737 Descripti ...
- SSO 登录功能的实现
一.引言 自己早晚都会碰到的问题. 当需要到分离多站点多应用的时候,都是希望用户只要在一个站点登录,其它所有的应用站点都是已登录的状态. 查了下新浪与淘宝的登录的资料,自己实现了一个并做下记录. 二. ...
- Java基础知识强化之网络编程笔记24:Android网络通信之 AndroidAsync(基于nio的异步通信库)
1. AndroidAsync AndroidAsync 是一个基于nio的异步socket ,http(客户端服务器端),websocket,socket.io库,AndroidAsync 是一 ...
- 关于docker中的几个小命令
问题 A VirtualBox machine with the name 'vagrant_c__devops_docker_vagrant' already exists. 解决命令:VBoxMa ...
- backboneJs 导图
- Tomcat - JNDI 配置
1. Create Your JavaBean Class Create the JavaBean class which will be instantiated each time that th ...
- 搜索本地网络内所有可用的SQl实例
'搜索本地网络内所有可用的SQl实例 Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance Dim dt ...
- lstm-思想
RNN(Recurrent Neural Network) 今天我这里讲到的RNN主要是上图这种结构的,即是Hidden Layer会有连向下一时间Hidden Layer的边,还有一种结构是Bidi ...
- Learn Python The Hard Way学习笔记001
今天搜索了一下raw_input() 和 input()的区别,引用下原文部分内容 两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收).而对于 ...
- Swift常量和变量以及命名规范
我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量.常量和变量是构成表达式的重要组成部分.常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变 ...