Práce s správu tabulky

Práce s správu tabulky

Úřad pro bezpečnost a ochranu zdraví Workbook class je kořenový objekt pro všechny operace tabulky v Aspose.Cells FOSS pro .NET. Poskytuje přístup k funkci WorksheetCollection,Tato příručka pokrývá nastavení ukládání bezchybného, organizaci pracovního listu, konfiguraci rozvrhu tisku a ovládací prvky pro uspořádání řádků/souhelníků/buňek.


Naložení pracovních souborů s možnostmi opravy

Přeneste cestu souboru do … Workbook Konstruktor pro načtení existujícího souboru XLSX. Dodávat a LoadOptions předmět s TryRepairPackage a) TryRepairXml nastaven na: true pokus o obnovení souborů s menší strukturální poškození. A WorkbookLoadException je vyhodeno, když soubor není obnovitelný.

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

Přidávání a uspořádání pracovních listů

Workbook.Worksheets vrací a WorksheetCollection.Zavolej . Add(name) připojit nový list podle jména; metoda vrací index nového listu. Přístup k pracovním listům pomocí indexu založeného na nule nebo po jménu. Nastavit WorksheetCollection.ActiveSheetName ovládat, která karta je aktivní při otevření souboru.

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

Schovávání a zobrazování pracovních listů

Sestavení: Worksheet.VisibilityType na … VisibilityType.Hidden skrýt list bez jeho smazání. Skrývané listy jsou uchovávány v souboru XLSX a mohou být viditelné nastavením VisibilityType.Visible.Barva tabulek je nastavena prostřednictvím: 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");

Konfigurování nastavení stránky

Worksheet.PageSetup odhalí všechny vlastnosti související s tiskem. PageOrientationType Použití: PaperSizeType Vyberte si velikost papíru. Definizujte tiskovou plochu pomocí PrintArea, nastavit opakované řádky/součítka s PrintTitleRows/PrintTitleColumns, a přidat manuální odbory stránek 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);

Rozdíl mezi řádkem a sloupcem

Přístup Worksheet.Cells.Rows podle indexu, abychom získali a. Row Objekt. Nastavení Row.Height (v bodech) na výšku řádku. Row.IsHidden na … true Pro ukrývání řady. Worksheet.Cells.Columns podle indexu, abychom získali a. Column Objekt. Nastavení 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);

Spojování buněk

Zavolej . Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) Spojena buňka zdědí hodnotu horní levé bujníky. Použijte Worksheet.Cells.MergedCells přečíst všechny sloučené oblasti v naloženém pracovním seznamu.

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 nejlepší postupy

  • Použití: WorksheetCollection.ActiveSheetName zajistit, aby byla při otevření souboru v Excelu vybrána správná karta.
  • Nastavit okraje stránek v palcích (LeftMarginInch, TopMarginInch) jsou to hodnoty s pohyblivým bodem, ne celá čísla.
  • Schovávání řádků/souhelníků (IsHidden = true) uchovává jejich údaje; smazání řádku trvale odstraní data.
  • Vždycky voláš. Workbook.Save() jednou na konci operace šarže, a nikoli po každé změně.
  • Spojovat buňky v datových listech méně sloučené oblasti zabraňují správnému fungování třídění a automatického filtrování po celé sloupené oblasti.

Obvyklé problémy

Výše:Příčina:Opravy
WorkbookLoadException na nákladuZkorumpovaný ZIP nebo XML v XLSXSestavení: LoadOptions.TryRepairPackage = true a) TryRepairXml = true
Add(name) Vrátí nesprávný index.Použití názvu listu jako indexuAdd() vrací int index; použijte tento index k přístupu do nového listu.
Výška řádku nepřetržitáVýška nastavená na 0 nebo záporná hodnotaPoužijte pozitivní dvojitou hodnotu, například: 28d
Spojovaná buňka zobrazuje špatnou hodnotuHodnota zapsaná do buněk v oblasti spojení, který není nahoře vlevo.Před voláním napište hodnotu do horní levé buňky . Cells.Merge()
Neobjevuje se přerušení stránky .AddHorizontalPageBreak nazývaný po: Save()Nastavit přestávky před voláním . Save()

FAQ

Kolik pracovních listů můžu přidat?

Formát XLSX podporuje až 1024 listů na pracovní knižku. Praktické limity závisí na dostupné paměti a velikosti souboru.

Můžu kopírovat pracovní list mezi pracovními učebnicemi?

Současný API povrch nevykazuje CopyTo Metodou pro kopírování listů v různých pracovních knihách.

Jak mám přerozdělit pracovní listy?

Použití: WorksheetCollection Přímý poziční pohyb není v aktuálním API povrchu.

Jaké jednotky to dělá? PageSetup Použití pro marže?

Všechny marže (LeftMarginInch, TopMarginInch, atd.) jsou v palcích jako double hodnoty.

- Ano. Cells.Merge nahradit existující data?

Hodnota v horní levé části buňky je zachována; hodnoty ve všech ostatních sloučených bujních jsou vymazány.


Souhrnná referenční informace API

Třída / metodaPopis:
WorkbookRoot objekt vytvořit, načítat a uložit pracovní knihy
Workbook.WorksheetsVrátí se: WorksheetCollection
Workbook.Save(path)Zůstávat v pracovním seznamu XLSX
WorksheetCollection.Add(name)Přidání nového pracovního listu podle jména
WorksheetCollection.ActiveSheetNameAktivní karta na otevřeném souboru
Worksheet.VisibilityTypeVisibilityType.Hidden nebo: Visible
Worksheet.TabColorBarva tabulky (Color)
Worksheet.PageSetupNastavení rozvrhu tisku
PageSetup.OrientationPageOrientationType.Landscape nebo: Portrait
PageSetup.PaperSizePaperSizeType.PaperA4, atd.
PageSetup.AddHorizontalPageBreak(row)Vkládat horizontální rozbití stránek
Cells.Rows[index].HeightVýška řádku v bodech
Cells.Rows[index].IsHiddenZkrácení/ukázání řádku
Cells.Columns[index].WidthŠířka sloupce v jednotkách znaků
Cells.Columns[index].IsHiddenSloupec Ukryj/Pokaž
Cells.Merge(row, col, numRows, numCols)Spojte obdélníkový blok
Cells.MergedCellsSeznam sloučených regionů v listu
LoadOptions.TryRepairPackageZkus opravit ZIP při naložení.
LoadOptions.TryRepairXmlZkoušet opravit XML při načtení .
WorkbookLoadExceptionVyhozeno, když soubor není obnovitelný
 Čeština