Stellen Sie die Zeilen so ein, dass sie beim Drucken oben wiederholt werden - Öffnen Sie XML und Excel
Ich versuche, die ersten 4 Zeilen einer xlsx-Datei so zu erstellen, dass sie beim Drucken oben auf jeder Seite wiederholt werden. Ich verwende das Open XML SDK, um dies zu erreichen.
Meine Datei wird vom SSRS-Ausführungswebdienst als Dateistream generiert. Ich muss dann mehrere Layout- und Seiteneinstellungen (Ränder, Seitengröße, Zoom usw.) ändern, bevor ich die Datei an den Benutzer weitergebe, da meine Benutzer nur sehr wenig Excel-Kenntnisse haben. Alle anderen Einstellungen, die ich anpassen muss, funktionieren ordnungsgemäß. Daher habe ich in diesem Beispiel den gesamten Code entfernt.
Wenn Sie versuchen, die sich wiederholenden Seitenkopfzeilen mit dem folgenden Code festzulegen, wird sie fehlerfrei ausgeführt. Wenn ich jedoch versuche, die Datei nach dem Ausführen des Codes zu öffnen, wird eine beschädigte Datei angezeigt, die nicht geöffnet werden kann.
Irgendeine Idee, was ich hier falsch mache ?! Es macht mich verrückt!
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();
}