Ustaw Wiersze do powtórzenia na górze podczas drukowania - Otwórz XML i Excel

Próbuję uzyskać pierwsze 4 wiersze pliku xlsx do powtórzenia na górze każdej strony po wydrukowaniu. W tym celu używam pakietu SDK Open XML.

Mój plik jest generowany przez serwis WWW do wykonywania SSRS jako strumień plików. Następnie muszę zmodyfikować kilka ustawień układu i strony (marginesy, rozmiar strony, powiększenie itp.) Przed dostarczeniem pliku do użytkownika, ponieważ moi użytkownicy mają bardzo mało świadomości programu Excel. Wszystkie inne ustawienia, które muszę dostosować, działają poprawnie, więc usunąłem cały ten kod z tego przykładu.

Próbując ustawić powtarzające się nagłówki stron przy użyciu poniższego kodu, wykonuje się bez błędów. Jednak gdy próbuję otworzyć plik po wykonaniu kodu, otrzymuję komunikat o uszkodzonym pliku i nie otworzy się.

Jakiś pomysł, co robię źle tutaj ?! To doprowadza mnie do szału!

using (SpreadsheetDocument xl = SpreadsheetDocument.Open("C:\\" + filename, true))
{
WorkbookPart wbp = xl.WorkbookPart;

//-----------------------------------------
// repeat rows at top when printing
//-----------------------------------------
DefinedNames dn = new DefinedNames();
wbp.Workbook.Append(dn);
wbp.Workbook.Save();

DefinedNames definedNames = wbp.Workbook.Descendants<DefinedNames>().FirstOrDefault();
DefinedName n1 = new DefinedName() { Name = "_xlnm.Print_Titles", LocalSheetId = (UInt32Value)0U };
n1.Text = "alpha_sort_nc!$1:$4";
definedNames.Append(n1);
wbp.Workbook.Save();

xl.Close();
}

questionAnswers(3)

yourAnswerToTheQuestion