2012-09-21 101 views
1

我想通过打开xml sdk读取具有以下格式的excel电子表格,并确定哪些第一行合并单元格corrpsond到第二行。打开xml sdk电子表格检查合并的单元格

如何检查单元格是否处于合并状态?

------------------------------------------------------------ 
     Main Heading 1  |  Main heading 2    | 
------------------------------------------------------------ 
Sub Head 1 | sub head 2 |  sub head 3     | 
------------------------------------------------------------- 
      |   |         | 

回答

2
 const string testFileName = @"C:\Users\koo\Desktop\test\test\Test.xlsx"; 
     string sheetName = "Sheet1"; 
     using (SpreadsheetDocument document = SpreadsheetDocument.Open(testFileName, true)) 
     { 
      WorkbookPart wbPart = document.WorkbookPart; 

      Sheet theSheet = wbPart.Workbook.Descendants<Sheet>().Where(s => s.Name == sheetName).FirstOrDefault(); 

      WorksheetPart wsPart = (WorksheetPart)(wbPart.GetPartById(theSheet.Id)); 

      MergeCells mcs = wsPart.Worksheet.Descendants<MergeCells>().First(); 

      var mcl= mcs.ChildElements.ToList(); 
      foreach (MergeCell mc in mcl) 
      { 

      } 
      document.WorkbookPart.Workbook.Save(); 
     } 
0

如果您使用的是ClosedXml库,然后再检查小区是否被合并或不是你可以使用下面给出的代码。

XLWorkbook excelWorkBook = null; 
excelWorkBook = new XLWorkbook(filePath); 
var ws = excelWorkBook.Worksheet("Sheet1"); 
bool check= ws.Cell("Cell Name").IsMerged(); 

检查将返回true或false

伊丽莎白

相关问题