Я пытаюсь добиться, чтобы первые 4 строки файла xlsx повторялись вверху каждой страницы при печати. Для этого я использую Open XML SDK.
Мой файл создается веб-службой выполнения SSRS как файловый поток. Затем мне нужно изменить несколько настроек макета и страницы (поля, размер страницы, масштаб и т. д.), прежде чем доставлять файл пользователю, поскольку у моих пользователей очень мало знаний Excel. Все остальные настройки, которые мне нужно настроить, работают правильно, поэтому я удалил весь этот код из этого примера.
При попытке установить повторяющиеся заголовки страниц с помощью кода ниже он выполняется без ошибок. Однако когда я пытаюсь открыть файл после выполнения кода, я получаю сообщение о поврежденном файле, и он не открывается.
Есть идеи, что я здесь делаю не так?! Это сводит меня с ума!
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().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();
}
Подробнее здесь: https://stackoverflow.com/questions/135 ... -and-excel