Definir linhas para repetir no topo durante a impressão - Open XML e Excel

Eu estou tentando obter as primeiras 4 linhas de um arquivo xlsx para repetir no topo de cada página quando impresso. Eu estou usando o Open XML SDK para fazer isso.

Meu arquivo está sendo gerado pelo serviço da Web de execução do SSRS como um fluxo de arquivos. Eu então preciso modificar várias configurações de layout e página (margens, tamanho de página, zoom, etc) antes de entregar o arquivo ao usuário, já que meus usuários têm muito pouca perspicácia no Excel. Todas as outras configurações que preciso ajustar estão funcionando corretamente, então tirei todo o código desse exemplo.

Ao tentar definir os cabeçalhos de página repetidos usando o código abaixo, ele é executado sem erros. No entanto, quando tento abrir o arquivo depois de executar o código, recebo uma mensagem de arquivo corrompida e ela não abre.

Alguma ideia do que estou fazendo errado aqui ?! Está me deixando louco!

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