3

次の形式の open xml sdk を介して Excel スプレッドシートを読み込もうとしています。どの 1 行目が 2 行目に対応するセルをマージしたかを判断します。

セルが結合状態かどうかを確認するにはどうすればよいですか?

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

2 に答える 2

3
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();
}
于 2013-01-21T06:24:39.523 に答える
2

ClosedXml ライブラリを使用している場合、セルが結合されているかどうかを確認するには、以下のコードを使用できます。

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

チェックは true または false を返します

エリザベス

于 2014-05-08T06:06:03.033 に答える