Mit Spreadsheet Management arbeiten

Mit Spreadsheet Management arbeiten

Mit Spreadsheet Management arbeiten

Die Workbook Klasse ist das Wurzelobjekt für alle Spreadsheet-Aktionen in Aspose.Cells FOSS für .NET. Es bietet Zugriff auf die WorksheetCollection, definierte Namen und Speichern/Ladern Lebenszyklus. Dieser Leitfaden umfasst Fehlerverträgliche Laden, Arbeitsblattorganisation, Druck-Layout-Konfiguration und Reihenfolge/Sol/Zell-Layout-Kontrolle.


Laden von Arbeitsbüchern mit Repair Options

Geben Sie einen Dateiweg zum Workbook Konstruktor zu laden eine vorhandene XLSX Datei. LoadOptions Objekt mit TryRepairPackage und TryRepairXml Set zu true Versuchen, Dateien mit geringeren strukturellen Korruption zu erholen. a WorkbookLoadException wird gestohlen, wenn die Datei nicht wiederherstellbar ist.

using Aspose.Cells_FOSS;

var options = new LoadOptions
{
    TryRepairPackage = true,
    TryRepairXml = true,
};

try
{
    var wb = new Workbook("data.xlsx", options);
    Console.WriteLine("Sheets: " + wb.Worksheets.Count);
    Console.WriteLine("Cell A1: " + wb.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Unrecoverable: " + ex.Message);
}

Erfüllung und Organisation von Workshops

Workbook.Worksheets zurückkehren a WorksheetCollection.- Call Add(name) um eine neue Arbeitsblatt nach Namen hinzufügen; die Methode kehrt den neuen Arbeitsblatt Index zurück. WorksheetCollection.ActiveSheetName überprüfen, welche Tab aktiv ist, wenn die Datei geöffnet wird.

using Aspose.Cells_FOSS;

var wb = new Workbook();

// Rename the default sheet
wb.Worksheets[0].Name = "Summary";

// Add sheets
var dataIdx = wb.Worksheets.Add("Data");
var archiveIdx = wb.Worksheets.Add("Archive");

// Set active sheet
wb.Worksheets.ActiveSheetName = "Data";

// Write to sheets by name
wb.Worksheets["Summary"].Cells["A1"].PutValue("Overview total");
wb.Worksheets["Data"].Cells["A1"].PutValue("Raw rows start here");

wb.Save("organised.xlsx");

// Verify
var loaded = new Workbook("organised.xlsx");
Console.WriteLine("Active: " + loaded.Worksheets.ActiveSheetName);
Console.WriteLine("Sheet count: " + loaded.Worksheets.Count);

Verbergen und zeigen Werkblätter

Set Worksheet.VisibilityType zu VisibilityType.Hidden Verborgenen Blätter werden in der XLSX-Datei gespeichert und können durch Setup sichtbar gemacht werden VisibilityType.Visible.Tab Farbe wird über Worksheet.TabColor.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Visible";
var hiddenIdx = wb.Worksheets.Add("Internal");
var hiddenSheet = wb.Worksheets[hiddenIdx];

hiddenSheet.VisibilityType = VisibilityType.Hidden;
hiddenSheet.Cells["A1"].PutValue("Internal data");

wb.Worksheets["Visible"].TabColor = Color.FromArgb(255, 70, 130, 180);

wb.Save("hidden.xlsx");

Konfiguration der Page Setup

Worksheet.PageSetup alle mit Druck verbundenen Eigenschaften ausdrücken. PageOrientationType Um zwischen Portrait und Landschaft zu wechseln. PaperSizeType für eine Papiergröße auswählen.Definieren Sie das Druckbereich mit PrintArea, Set Repeat Röhren / Kolumne mit PrintTitleRows/PrintTitleColumns, und manuelle Seitenbrechen mit AddHorizontalPageBreak und AddVerticalPageBreak.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Sample data
for (var r = 0; r < 60; r++)
    ws.Cells[r, 0].PutValue("Row " + (r + 1));

var ps = ws.PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.LeftMarginInch = 0.5d;
ps.RightMarginInch = 0.5d;
ps.TopMarginInch = 0.75d;
ps.BottomMarginInch = 0.75d;
ps.PrintArea = "$A$1:$H$60";
ps.PrintTitleRows = "$1:$1";
ps.CenterHeader = "Sales Report";
ps.LeftFooter = "Confidential";
ps.RightFooter = "Page &P of &N";
ps.PrintGridlines = true;
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(30);

wb.Save("paged.xlsx");

var loaded = new Workbook("paged.xlsx");
Console.WriteLine("Orientation: " + loaded.Worksheets[0].PageSetup.Orientation);
Console.WriteLine("Print area: " + loaded.Worksheets[0].PageSetup.PrintArea);

Röhr und Kolumn Size

Zugang Worksheet.Cells.Rows Indikator zu erhalten, um eine Row Objekte - Set Row.Height (in Punkten) zu steuern die Reihenhöhe. Set Row.IsHidden zu true Verstopfen Sie die Linie. Zugang Worksheet.Cells.Columns Indikator zu erhalten, um eine Column Objekte - Set Column.Width (in Charakteren) und Column.IsHidden.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Populate data
for (var r = 0; r < 5; r++)
    for (var c = 0; c < 4; c++)
        ws.Cells[r, c].PutValue($"R{r + 1}C{c + 1}");

// Row height and visibility
ws.Cells.Rows[0].Height = 28d;   // Header taller
ws.Cells.Rows[3].IsHidden = true; // Hide row 4

// Column width and visibility
ws.Cells.Columns[0].Width = 22d;
ws.Cells.Columns[3].IsHidden = true;

wb.Save("layout.xlsx");

var loaded = new Workbook("layout.xlsx");
Console.WriteLine("Row 0 height: " + loaded.Worksheets[0].Cells.Rows[0].Height);
Console.WriteLine("Col 0 width: " + loaded.Worksheets[0].Cells.Columns[0].Width);

Zellen verwandeln

Anruf Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) zu einer kontextuellen rektangulären Block in eine einzige Zelle zu fusionieren. Die gemischte Zelle erfährt den Wert der oberen linken Zelle. Worksheet.Cells.MergedCells Zurücklesen Sie alle vereinigten Regionen in einem ladenen Arbeitsbuch.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Title spanning A1:D1
ws.Cells["A1"].PutValue("Quarterly Sales Report");
ws.Cells.Merge(0, 0, 1, 4);

// Section header spanning A3:D3
ws.Cells["A3"].PutValue("Region: North");
ws.Cells.Merge(2, 0, 1, 4);

// Column headers
ws.Cells["A4"].PutValue("Product"); ws.Cells["B4"].PutValue("Q1");
ws.Cells["C4"].PutValue("Q2");      ws.Cells["D4"].PutValue("Q3");

wb.Save("report.xlsx");

var loaded = new Workbook("report.xlsx");
Console.WriteLine("Merged regions: " + loaded.Worksheets[0].Cells.MergedCells.Count);

Tipps und beste Praktiken

  • Gebrauch WorksheetCollection.ActiveSheetName um sicherzustellen, dass die richtige Tab ausgewählt wird, wenn die Datei in Excel geöffnet wird.
  • Die Marge der Seite in Zoll (LeftMarginInch, TopMarginInch- Das sind Flößendpunktswerte, nicht Integrationen.
  • Die Schlüssel und die Schlüssel (IsHidden = true- bewahrt ihre Daten; das Löschen einer Reihe entfernt die Daten permanent.
  • immer rufen Workbook.Save() Einmal am Ende einer Batch-Operation statt nach jeder Veränderung.
  • Zellen sparen sich in Datenblätter – verbundene Regionen verhindern, dass Sortierung und Autofilter über das verbundene Gebiet richtig funktionieren.

Gemeinsame Probleme

ThemaUrsacheFix
WorkbookLoadException auf LastKorrupt ZIP oder XML im XLSXSet LoadOptions.TryRepairPackage = true und TryRepairXml = true
Add(name) Fehler Index zurückBenutzen Sie den Namen als IndexAdd() eine int-index zurückgibt; verwenden Sie diesen index, um das neue sheet zu erhalten
Die Höhenhöhe nicht beständigHöhen auf 0 oder negativen WertNutzen Sie eine positive Doppelwert wie 28d
Verwirrte Zelle zeigt falsche WerteWert geschrieben an eine nicht-top-lechts-Zelle des MündungsrahmensSchreiben Sie die Wert in die obere linken Zelle vor der Anrufe Cells.Merge()
Page break nicht erscheinenAddHorizontalPageBreak Nachruf nach Save()Set Page Break vor Anrufen Save()

FAQ

Wie viele Werkblätter kann ich hinzufügen?

Das XLSX-Format unterstützt bis zu 1024 Blätter pro Arbeitsbuch. Praktische Grenzen hängen von verfügbaren Speicher und Dateigröße ab.

Kann ich eine Arbeitsblatt zwischen Arbeitsbüchern kopieren?

Die aktuelle API-Plattform zeigt keine CopyTo Methode für Cross-Workbook-Buchkopien. Laden Sie sowohl Dateien und übertragen Sie Datenzellen pro Zelle.

Wie kann ich Werkblätter neu bestellen?

Gebrauch WorksheetCollection Indexzugang und rename-blätter ändern ihre logische ordnung. direkte positionelle bewegung ist nicht in der aktuellen API-oberfläche.

Welche Einheiten PageSetup Verwenden Sie Margen?

Alle Eigenschaften der Marge (LeftMarginInch, TopMarginInch,… und so weiter) sind in Zoll wie double Werte zu.

Das macht Cells.Merge Ersatz bestehender Daten?

Die obere linken Zellwerte werden beibehalten; die Werte in den anderen gemischten Zellen werden gereinigt.


API Referenzabschnitt

Klasse / MethodeBeschreibung
WorkbookRoot object – erstellen, laden, speichern Arbeitsbücher
Workbook.WorksheetsZurück zum WorksheetCollection
Workbook.Save(path)Persistisches Workbook für XLSX
WorksheetCollection.Add(name)Ein neues Arbeitsblatt nach Namen hinzufügen
WorksheetCollection.ActiveSheetNameAktivierung auf Open File
Worksheet.VisibilityTypeVisibilityType.Hidden oder Visible
Worksheet.TabColorFarbschutz (Color)
Worksheet.PageSetupPrint Layout Einstellungen
PageSetup.OrientationPageOrientationType.Landscape oder Portrait
PageSetup.PaperSizePaperSizeType.PaperA4,und so weiter.
PageSetup.AddHorizontalPageBreak(row)Horizontale Seite brechen
Cells.Rows[index].HeightHöhen in Punkten
Cells.Rows[index].IsHiddenVerborgen / Show Rue
Cells.Columns[index].WidthKolumnenweite in Charakteren
Cells.Columns[index].IsHiddenStellungen / Show Column
Cells.Merge(row, col, numRows, numCols)Ein rektangulärer Block
Cells.MergedCellsListe der gemischten Regionen im Blatt
LoadOptions.TryRepairPackageZIP Reparatur auf Last
LoadOptions.TryRepairXmlXML Reparatur auf Last
WorkbookLoadExceptionSchleim, wenn die Datei nicht wiederherstellbar ist
 Deutsch