Мне нужно объединить рабочие листы некоторых рабочих книг в одну новую рабочую книгу. Я пытался это, но я получаю «Не могу вставить OpenXmlElement« newChild », потому что он является частью дерева.».
using (var document = SpreadsheetDocument.Create(destinationFileName, SpreadsheetDocumentType.Workbook))
{
// Add a WorkbookPart to the document
var workbookPart = document.AddWorkbookPart();
workbookPart.Workbook = new Workbook();
// Add a WorksheetPart to the WorkbookPart
var worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());
foreach (var sourceFileName in sourceFileNames)
{
using (var sourceDocument = SpreadsheetDocument.Open(sourceFileName, false))
{
var sheet = (Sheet)sourceDocument.WorkbookPart.Workbook.Sheets.FirstChild;
workbookPart.Workbook.AppendChild(new Worksheet(sheet));
}
}
}