Práca s správu tabuľky

Práca s správu tabuľky

Úrad pre bezpečnosť a ochranu zdravia Workbook class je koreňový objekt pre všetky operácie tabuľky v Aspose.Cells FOSS for .NET. Poskytuje prístup k WorksheetCollection,Táto príručka zahŕňa nastavenie, ktoré je odolné voči poruchám, organizáciu hárkov, konfiguráciu layoutu tlače a ovládanie rozloženia riadkov/stolpov/obvodov.


Nahrávanie pracovníkov s možnosťami opravy

Predajte cestu súboru na Workbook Konstruktor pre načítanie existujúceho súboru XLSX. Dodávať a LoadOptions predmet s TryRepairPackage a) TryRepairXml nastavený na: true na pokus o obnovu súborov s menšou štrukturálnou porušením. A WorkbookLoadException je vyhodený, keď súbor nie je obnoviteľný.

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

Pridanie a usporiadanie pracovných hárkov

Workbook.Worksheets vráti a WorksheetCollection.Zavolaj . Add(name) Pridať nový hárok podľa názvu; metóda vráti index nového hárka. Prístup k hárkom na základe indexu s nulovou základňou alebo podľa mena. Nastaviť WorksheetCollection.ActiveSheetName ovládať, ktorá karta je aktívna pri otvorení súboru.

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

Ukryť a zobraziť pracovné listy

Sadzba Worksheet.VisibilityType na: VisibilityType.Hidden Skryté listy sú uchovávané v XLSX súbore a môžu byť viditeľné nastavením VisibilityType.Visible.Farba tabuľky je nastavená prostredníctvom: 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");

Konfigurácia nastavenia stránky

Worksheet.PageSetup odhaľuje všetky vlastnosti súvisiace s tlačou. PageOrientationType Používať PaperSizeType Vybrať veľkosť papiera. Definovať tlačiarenskú plochu s PrintArea, nastaviť opakované riadky/spojky s: PrintTitleRows/PrintTitleColumns, a pridať manuálne odlomky stránok s AddHorizontalPageBreak a) 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);

Rozmer riadkov a stĺpcov

Prístup Worksheet.Cells.Rows podľa indexu, aby sa získala hodnota Row Objekt. Nastavenie Row.Height (v bode) na kontrolu výšky riadku. Nastavenie Row.IsHidden na: true Prístup k číslu. Worksheet.Cells.Columns podľa indexu, aby sa získala hodnota Column Objekt. Nastavenie Column.Width (v znakových jednotkách) a 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);

Zlúčenie buniek

Zavolajte . Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) Zlúčená bunka zdedí hodnotu hornej ľavej bunky. Použijte Worksheet.Cells.MergedCells prečítať všetky zlúčené oblasti v naloženom zošite.

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

Tipy a najlepšie postupy

  • Použitie: WorksheetCollection.ActiveSheetName aby sa zabezpečilo, že pri otvorení súboru v programe Excel je vybratá správna karta.
  • Nastaviť okraj stránky v palcoch (LeftMarginInch, TopMarginInch) sú to hodnoty s pohyblivým bodom, nie celkové čísla.
  • Skryté riadky/spojky (IsHidden = true) uchováva svoje údaje; vymazanie riadku trvalo odstráni dáta.
  • Vždy zavolaj . Workbook.Save() raz na konci operácie sardy, nie po každej zmene.
  • Zlúčenie buniek v dátových listech zlúčené oblasti zabraňujú správnemu fungovaniu triedenia a automatického filtrovania v celej zlučenej oblasti.

Spoločné problémy

VýstavaPríčina:Oprava
WorkbookLoadException na zaťaženieZkorumpovaný ZIP alebo XML v XLSXSadzba LoadOptions.TryRepairPackage = true a) TryRepairXml = true
Add(name) vráti nesprávny indexPoužitie názvu hárka ako indexuAdd() vráti int index; použijte tento index na prístup k novému hárku
Výška riadku nie je pretrvávajúcaVýška nastavená na 0 alebo zápornú hodnotuPoužite pozitívnu dvojitú hodnotu, ako napríklad: 28d
Zlúčená bunka zobrazuje nesprávnu hodnotuHodnota zapísaná do bunky v oblasti zlúčenia, ktorá nie je hore na ľavej strane.Vymenujte hodnotu do hornej ľavej bunky pred volaním . Cells.Merge()
Nevykazuje sa rozbitie stránky .AddHorizontalPageBreak nazývaný po: Save()Nastavenie prestávok pred volaním . Save()

FAQ

Koľko hárkov môžem pridať?

Formát XLSX podporuje až 1024 hárkov na pracovnú knihu. Praktické limity závisia od dostupnej pamäte a veľkosti súboru.

Môžem kopírovať pracovný hárok medzi zošitmi?

Aktuálny API povrch neukazuje CopyTo Metóda pre kopírovanie listov v pracovnom knihe. Nahrávajte oba súbory a prenášajte údaje bunku po bunkách.

Ako mám preurčiť pracovné listy?

Použitie: WorksheetCollection Priamy polohový pohyb nie je v aktuálnom API povrchu.

Aké jednotky to robia? PageSetup Používanie na marže?

Všetky vlastnosti marže (LeftMarginInch, TopMarginInch, atď.) sú v palcoch ako double hodnoty.

Je to tak ? Cells.Merge nahradiť existujúce bunkové údaje?

Hodnota hornej ľavej časti bunky sa zachováva; hodnoty v ostatných zlúčených bunkách sú vymazané.


Zhrnutie referenčného API

Trieda / metódaOpis:
WorkbookRoot objekt vytvoriť, načítať a uložiť zošitov
Workbook.WorksheetsVráti sa: WorksheetCollection
Workbook.Save(path)Zostávať v zošite na XLSX
WorksheetCollection.Add(name)Pridať nový hárok podľa mena
WorksheetCollection.ActiveSheetNameAktivný záložok na otvorenom súbore
Worksheet.VisibilityTypeVisibilityType.Hidden alebo: Visible
Worksheet.TabColorFarba tabuľky (Color)
Worksheet.PageSetupNastavenia layoutu tlače
PageSetup.OrientationPageOrientationType.Landscape alebo: Portrait
PageSetup.PaperSizePaperSizeType.PaperA4, atď.
PageSetup.AddHorizontalPageBreak(row)Vložiť horizontálny rozbitok stránky
Cells.Rows[index].HeightVýška riadkov v bodoch
Cells.Rows[index].IsHiddenVzor ukladať/ukážka
Cells.Columns[index].WidthŠírka stĺpca v jednotkách znakov
Cells.Columns[index].IsHiddenStĺpec skryť/ukážka
Cells.Merge(row, col, numRows, numCols)Zlúčenie obdĺžnikového bloku
Cells.MergedCellsZoznam zlúčených regiónov v liste
LoadOptions.TryRepairPackageSkúste ZIP opravu pri načítaní .
LoadOptions.TryRepairXmlSkúste opravy XML pri načítaní .
WorkbookLoadExceptionVydané , keď nie je možné obnoviť súbor .
 Slovenčina