首页 > 代码库 > 使用OpenXml操作Excel,以下方法用于在添加列时修改Cell的CellReference属性。
使用OpenXml操作Excel,以下方法用于在添加列时修改Cell的CellReference属性。
以下方法实现了递增Excel中单元格的CellReference的功能,只支持两位字母。
1 public static string CellReferenceIncrement(string cellReference) 2 { 3 Match m1 = Regex.Match(cellReference, "^([A-Z]+)"); 4 Match m2 = Regex.Match(cellReference, @"(\d+)$"); 5 6 string value =http://www.mamicode.com/ m1.Value; 7 List<char> newChars = new List<char>(); 8 for (int i = value.Length - 1; i >= 0; ) 9 {10 if (value[i] == ‘Z‘)11 {12 newChars.Insert(0, ‘A‘);13 if ((i - 1) >= 0)14 newChars.Insert(0, (char)((int)value[i - 1] + 1));15 else16 newChars.Insert(0, ‘A‘);17 break;18 }19 else20 {21 newChars.Insert(0, (char)((int)value[i] + 1));22 if ((i - 1) >= 0)23 newChars.Insert(0, value[i - 1]);24 break;25 }26 }27 return string.Join("", newChars) + m2.Value;28 }
以下为测试代码:
1 static void Main(string[] args)2 {3 List<string> tList = new List<string>() { "A2", "Z3", "AA3", "AZ9", "WF20" };4 foreach (string s in tList)5 Console.WriteLine(CellReferenceIncrement(s));6 }
以下为输出结果:
使用OpenXml操作Excel,以下方法用于在添加列时修改Cell的CellReference属性。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。