c.Excel.CloneWorksheet

PHOTO EMBED

Fri May 13 2022 13:30:52 GMT+0000 (Coordinated Universal Time)

Saved by @rick_m #c#

    static void CloneSheet(SpreadsheetDocument spreadsheetDocument, string sheetName, string clonedSheetName)
    {
        WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
        WorksheetPart sourceSheetPart = GetWorkSheetPart(workbookPart, sheetName);
        Sheets sheets = workbookPart.Workbook.GetFirstChild<Sheets>();

        SpreadsheetDocument tempSheet = SpreadsheetDocument.Create(new MemoryStream(), spreadsheetDocument.DocumentType);
        WorkbookPart tempWorkbookPart = tempSheet.AddWorkbookPart();
        WorksheetPart tempWorksheetPart = tempWorkbookPart.AddPart(sourceSheetPart);
        WorksheetPart clonedSheet = workbookPart.AddPart(tempWorksheetPart);

        Sheet copiedSheet = new Sheet();
        copiedSheet.Name = clonedSheetName;
        copiedSheet.Id = workbookPart.GetIdOfPart(clonedSheet);
        copiedSheet.SheetId = (uint)sheets.ChildElements.Count + 1;
        sheets.Append(copiedSheet);
    }
content_copyCOPY

https://stackoverflow.com/questions/50856596/c-sharp-openxml-copy-and-paste-excel-sheet-to-new-workbook