2012-09-21 168 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

伊麗莎白

相關問題