Open XML操作Excel实现单元格的合并

Open XML操作Excel实现单元格的合并

ID:38272412

大小:25.15 KB

页数:6页

时间:2019-06-07

Open XML操作Excel实现单元格的合并_第1页
Open XML操作Excel实现单元格的合并_第2页
Open XML操作Excel实现单元格的合并_第3页
Open XML操作Excel实现单元格的合并_第4页
Open XML操作Excel实现单元格的合并_第5页
资源描述:

《Open XML操作Excel实现单元格的合并》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenXML操作Excel实现单元格的合并1、引入必要的lib文件以下代码是建立在OpenXMLSDKCTP2基础上的,使用前请先下载OpenXMLFormatSDK2.0。SDK默认会安装在C:ProgramFiles(x86)OpenXMLFormatSDKV2.0(64bit)目录下,lib子目录下的DocumentFormat.OpenXml.dll必须被引用到项目中。添加对WindowsBase的引用2、获取SpreadsheetDocument对象在OpenXMLSDK中,SpreadsheetDocument类表示Excel文档包。若要打开并使用Excel文档,请基于

2、文档创建SpreadsheetDocument类的一个实例。基于文档创建实例后,即可获取对包含工作表的主工作簿部件的访问权限。在此包中,使用SpreadsheetML标记将文档中的文本表示为XML形式。若要从文档中创建类实例,请调用Open重载方法之一。提供了多个方法,每个方法都有不同的签名。本主题中的示例代码使用带有需要两个参数的签名的Open(String,Boolean)方法。第一个参数采用表示要打开的文档的完整路径字符串。第二个参数是true或false,表示是否要打开文件以进行编辑。如果此参数为false,则不会保存对该文档所做的任何更改。下面的using语句中显示了调用Open

3、方法的代码。//Openthedocumentforediting.using(SpreadsheetDocumentdocument=SpreadsheetDocument.Open(docName,true)){//Insertothercodehere.}3、获取Worksheet对象privatestaticWorksheetGetWorksheet(SpreadsheetDocumentdocument,stringworksheetName){IEnumerablesheets=document.WorkbookPart.Workbook.Descendants<

4、Sheet>().Where(s=>s.Name==worksheetName);WorksheetPartworksheetPart=(WorksheetPart)document.WorkbookPart.GetPartById(sheets.First().Id)if(sheets.Count()==0)returnnull;elsereturnworksheetPart.Worksheet;}4、获取列名称代码会新建一个正则表达式以匹配单元格名称的列名称部分。此正则表达式匹配任何大写字母或小写字母的组合。代码通过调用Regex.Match获取列名称。privatestaticstr

5、ingGetColumnName(stringcellName){//Createaregularexpressiontomatchthecolumnnameportionofthecellname.Regexregex=newRegex("[A-Za-z]+");Matchmatch=regex.Match(cellName);returnmatch.Value;}5、获取行索引为了获取行索引,代码会新建一个正则表达式以匹配单元格名称的行索引部分。此正则表达式匹配任何十进制数字组合。下面的代码示例创建一个正则表达式以匹配单元格名称的行索引部分(由十进制数字组成)。privatestati

6、cuintGetRowIndex(stringcellName){//Createaregularexpressiontomatchtherowindexportionthecellname.Regexregex=newRegex(@"d+");Matchmatch=regex.Match(cellName);returnuint.Parse(match.Value);}6、验证单元格是否已创建,如果没有就创建验证指定的单元格是否存在,如果不存在,则通过调用CreateSpreadsheetCellIfNotExist方法来创建单元格,并将其追加到适当的Row对象。privatestat

7、icvoidCreateSpreadsheetCellIfNotExist(Worksheetworksheet,stringcellName){stringcolumnName=GetColumnName(cellName);uintrowIndex=GetRowIndex(cellName);IEnumerablerows=worksheet.Descendants().Where(r=>r.Ro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。