Hallo,
ich hab mal eine vermutlich leichte Frage!?
Wie kann ich per C# einen Seitenumbruch in Excel machen?
Also ich fülle die erste Seite halb, und will dann am Anfang der zweiten Seite weiterschreiben.
Schonmal Danke & Gruß
mfg
Hallo,
versuch mal mit
objWorksheet.Rows[rowNumber].PageBreak = (int)Excel.XlPageBreak.xlPageBreakManual;
Grüße
**:::
Hallo,
erstmal danke für die Antworten.
habe Excel im Projekt als Verweis eingebunden.
Excel.Application myExcelApplication;
Excel.Workbook myExcelWorkbook;
Excel.Worksheet myExcelWorkSheet;
myExcelApplication = null;
try
{
// First Contact: Excel Prozess initialisieren
myExcelApplication = new Excel.Application();
myExcelApplication.Visible = false;
//myExcelApplication.ScreenUpdating = true;
// Excel Datei anlegen: Workbook
var myCount = myExcelApplication.Workbooks.Count;
myExcelWorkbook = (Excel.Workbook)(myExcelApplication.Workbooks.Add(System.Reflection.Missing.Value));
myExcelWorkSheet = (Excel.Worksheet)myExcelWorkbook.ActiveSheet;
//Datei-Kopf erstellen
myExcelWorkSheet.Cells[1, 1] = "Abrechnungszeitraum"; myExcelWorkSheet.Cells[1, 2] = periode;
wenn ich jetzt versuche,
myExcelWorkSheet.Rows[k].PageBreak = (int)Excel.XlPageBreak.xlPageBreakManual;
kennt er kein PageBreak, was genau muss ich tun?
danke & Gruß
mfg
Hallo,
die Intellisense von VS zeigt zwar nicht an, aber funktionieren tut es, oder was hast du für Fehlermeldung erhalten?
Grüße
Edit: zur Kontrolle kannst du auch myExcelApplication.Visible = true; schalten 😉
**:::
Morgen,
Er zeigt mir folgende Fehlermeldung:
Fehler 1 "object" enthält keine Definition für "PageBreak", und es konnte keine Erweiterungsmethode "PageBreak" gefunden werden, die ein erstes Argument vom Typ "object" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)
muss ich dafür vll noch einen Verweis einbinden?
danke & Gruß
mfg
muss ich dafür vll noch einen Verweis einbinden?
Der Verweis auf Microsoft.Office.Interop.Excel sollte reichen, du kannst auch ohne Verweis arbeiten, du musst dann nur den kompletten Namespace angeben. Hab grad getestet, es funktioniert so wie ich gezeigt habe.
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = true;
Microsoft.Office.Interop.Excel.Workbook wb = excel.Workbooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.ActiveSheet;//wb.Worksheets["Tabelle1"];
ws.Cells[1, 1].Value = "Test";
ws.Rows[5].PageBreak = (int)Microsoft.Office.Interop.Excel.XlPageBreak.xlPageBreakManual;
Gruß
**:::
hallo,
hab den Code von dir genau so mal kopiert, aber er bringt mir immer noch den Fehler das er PageBreak nicht kennt.
so scheint es zu funtkionieren:
myExcelWorkSheet.HPageBreaks.Add(myExcelWorkSheet.Rows[k]);
myExcelWorkSheet.HPageBreaks[1].Location.PageBreak = (int)Excel.XlPageBreak.xlPageBreakManual;
Meine nächste frage wäre jetzt wie ich HPageBreaks wieder leeren kann. Es gibt keine Clear Methode dafür.
myExcelWorkSheet.ResetAllPageBreaks();
scheint auch nicht zu funktionieren.
Danke & Gruß
mfg
Wenn IntelliSense nicht funktioniert würde ich mal die entsprechende HPageBreak Interface Dokumentation versuchen. Die Methode Delete sieht recht vielversprechend aus.