Arbejde med regnearkstyring

Arbejde med regnearkstyring

Arbejde med regnearkstyring

Den Europæiske Union Workbook class er rodobjektet for alle regnearkoperationer i Aspose.Cells FOSS til .NET. Det giver adgang til den WorksheetCollection,Denne vejledning dækker fejl tolerant indlæsning, regnearkorganisation, print-layout konfiguration og række/kolonne/celle layout kontroller.


Indlæse arbejdsbøger med reparationsmuligheder

Indtast en filvej til den… Workbook Konstruktor til at indlæse en eksisterende XLSX-fil. Tilvejebring et LoadOptions genstand med TryRepairPackage og: TryRepairXml indstillet til true at forsøge at gendanne filer med mindre strukturelle fejl. A WorkbookLoadException er kastet, når filen ikke kan genvindes.

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);
}

Arbejdsskemaer tilsat og organiseret

Workbook.Worksheets returnerer en WorksheetCollection.Ring til mig. Add(name) at tilføje et nyt regneark ved navn; metoden returnerer det nye arkets indeks. Tilgå regnearks ved nulbaseret index eller ved navne. Sæt WorksheetCollection.ActiveSheetName at kontrollere, hvilken fane der er aktiv, når filen åbnes.

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);

Skjul og vis arbejdssedler

Indstilling Worksheet.VisibilityType til VisibilityType.Hidden Skjulte ark bevares i XLSX-filen og kan gøres synlige ved at indstille VisibilityType.Visible.Tabfarven indstilles via 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");

Konfigurering af sideindstilling

Worksheet.PageSetup udviser alle trykkerelaterede egenskaber. PageOrientationType at skifte mellem portræt og landskab. PaperSizeType at vælge en papirstørrelse. Definer trykområdet med PrintArea, sæt gentagne rækker/kolonner med PrintTitleRows/PrintTitleColumns, og tilføje manuelle sidebrud med AddHorizontalPageBreak og: 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ække- og kolonneformørkelse

Tilgang til Worksheet.Cells.Rows Indeks for at få en Row Objekt. Row.Height (i punkter) til kontrol af rækkehøjde. Row.IsHidden til true Tilgang til at skjule rækken. Worksheet.Cells.Columns Indeks for at få en Column Objekt. Column.Width (i tegn) og 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);

Fusion af celler

Ring til mig. Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) Hvis du ikke har en form for overførsel, kan du bruge den til at samle et sammenhængende rektangulært blok i én celle. Den sammensatte celle arver værdien af cellen øverst til venstre. Brug Worksheet.Cells.MergedCells at læse alle de sammenlagte regioner tilbage i en indlæst arbejdsbog.

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);

Tips og bedste praksis

  • Anvendelse: WorksheetCollection.ActiveSheetName at sikre, at den korrekte fane er valgt, når filen åbnes i Excel.
  • Indstil sidemarginer i inches (LeftMarginInch, TopMarginInch) Det er flydende punktværdier, ikke heltal.
  • Skjulte rækker/kolonner (IsHidden = true) bevarer deres data; ved at slette en række fjernes dataene permanent.
  • Ring altid. Workbook.Save() en gang ved afslutningen af et parti, snarere end efter hver ændring.
  • Fusning af celler sparsomt i dataark fusionerede områder forhindrer, at sortering og automatisk filtrering fungerer korrekt på tværs af det fusionerede område.

Almindelige problemer

Udgave:Årsagen til detteForklaret
WorkbookLoadException på lastKorrupt ZIP eller XML i XLSX-systemetIndstilling LoadOptions.TryRepairPackage = true og: TryRepairXml = true
Add(name) returnerer forkert indeksBruge arkenavn som indeksAdd() returnerer et int-indeks; brug det indeks til at få adgang til det nye ark
Rækkehøjde ikke vedvarendeHøjde indstillet på 0 eller negativ værdiBrug en positiv dobbeltværdi, f.eks. 28d
Fælles celle viser forkert værdiVærdi skrevet til en celle uden for øverst venstre i fusionsområdetSkriv værdien i den øverste venstre celle før opkald Cells.Merge()
Sidernes pause ikke vistAddHorizontalPageBreak efterkaldt Save()Indstil sidepauser før opkald Save()

FAQ

Hvor mange regnearker kan jeg tilføje?

XLSX-formatet understøtter op til 1024 ark pr. arbejdsbog. Praktiske grænser afhænger af tilgængelig hukommelse og filstørrelse.

Kan jeg kopiere et regneark mellem arbejdsbøger?

Den aktuelle API-overflade udsætter ikke en CopyTo Metode til kopiering af ark i arbejdsmapper. Lade begge filer og overføre data celle for celle.

Hvordan omordner jeg regnearks?

Anvendelse: WorksheetCollection Indeksadgang og omdøbning af ark for at ændre deres logiske rækkefølge. Direkte positionel bevægelse er ikke i den aktuelle API-overflade.

Hvad gør enhederne? PageSetup - Hvad med margenerne?

Alle margenegenskaber (LeftMarginInch, TopMarginInch, osv.) er i inches som double værdierne.

- Ja. Det gør det. Cells.Merge erstatte eksisterende celledata?

Værdien i den øverste venstre celle bevares; værdierne i de andre sammenflettede celler slettes.


API-referenceoversigt

Klasse/metodeBeskrivelse:
WorkbookRoot-objekt oprette, indlæse og gem arbejdsbøger
Workbook.WorksheetsReturnerer den WorksheetCollection
Workbook.Save(path)Arbejdsbog til XLSX
WorksheetCollection.Add(name)Tilføje et nyt regneark ved navn
WorksheetCollection.ActiveSheetNameAktiv fane på filen åben
Worksheet.VisibilityTypeVisibilityType.Hidden eller en anden Visible
Worksheet.TabColorFladkortfarve (Color)
Worksheet.PageSetupIndstillinger for trykindstilling
PageSetup.OrientationPageOrientationType.Landscape eller en anden Portrait
PageSetup.PaperSizePaperSizeType.PaperA4, osv.
PageSetup.AddHorizontalPageBreak(row)Indsæt horisontal sidebrud
Cells.Rows[index].HeightRækkehøjde i punkter
Cells.Rows[index].IsHiddenHide/show-radie
Cells.Columns[index].WidthKolonnens bredde i tegnenheder
Cells.Columns[index].IsHiddenHide/show-kolonne
Cells.Merge(row, col, numRows, numCols)Fusioner en rektangulær blok
Cells.MergedCellsListe over fusionerede regioner i bladet
LoadOptions.TryRepairPackageForsøg på ZIP-reparation under opladning.
LoadOptions.TryRepairXmlForsøg at reparere XML under opladning
WorkbookLoadExceptionFuldstændig, når filen ikke kan genvindes.
 Dansk