使用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需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...
随机推荐
- python分页和session和计算时间差
分页 #!/usr/bin/env python # -*- coding:utf-8 -*- class Pagenation: def __init__(self,current_page,all ...
- poj1328解题报告(贪心、线段交集)
POJ 1328,题目链接http://poj.org/problem?id=1328 题意: 有一海岸线(x轴),一半是陆地(y<0).一半是海(y>0),海上有一些小岛(用坐标点表示P ...
- Android 高级UI设计笔记05:使用TextView实现跑马灯的效果
1. 使用TextView属性实现跑马灯的效果: (1). 新建一个Android工程,命名为"MarqueeTextViewDemo",如下: (2). 来到activity_m ...
- c++算术运算时数据类型提升带来的问题
两类位移运算:左移和右移,逻辑的或者算术的. 左移比较简单:右边补0:右移:算术的补位是根据符号位确定的,逻辑的补0即可:java中是不同的,java貌似只补0. 位移中的类型提升问题过去没有注意过, ...
- iOS的APP验证版本更新方法
一个老项目没有集成自动检测及提示用户更新新版本的功能,自己在网上查资料捣鼓出自己的方法,可能比较粗陋,希望大家多多指导,我们的项目的版本号是X.X.X的格式,所以直接把字符串转换成float类型的值无 ...
- iOS XMPP(2)自己创建客户端
一.目的以及效果: 用Xcode利用xmpp框架建立客户端,实现向服务器注册添加用户 密码,以及登陆,离线状态 工程的主要结构:新建singleview工程,用xib拖放两个输入框和两个按钮, 并在v ...
- [改善Java代码]覆写变长方法也循规蹈矩
建议6:覆写变长方法也循规蹈矩 在Java中,子类覆写父类中的方法很常见,这样做既可以修正Bug也可以提供扩展的业务功能支持,同时还符合开闭原则(Open-Closed Principle),我们来看 ...
- [设计模式]<<设计模式之禅>>抽象工厂模式
1 女娲的失误 上一篇讲了女娲造人的故事.人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱.仇恨.喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍 脑袋,忘记给人类定义性别了 ...
- [未完成]plugin.xml文件
此文章部分转自:http://fxzcollege6.iteye.com/blog/2013055 关于plugin.xml文件我还总结过一篇文章:http://www.cnblogs.com/Dre ...
- 开发Android应用 提升性能的小技巧
前 言 2015年,Android OS 目前在手机操作系统的市场占有率已达59%,权威机构预计,Android市场占有率在2016年将达到63%,由于Android的开放性,未来占有率还将不断增加, ...