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.ActiveSheetNamezajistit, 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ákladu | Zkorumpovaný ZIP nebo XML v XLSX | Sestavení: LoadOptions.TryRepairPackage = true a) TryRepairXml = true |
Add(name) Vrátí nesprávný index. | Použití názvu listu jako indexu | Add() 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á hodnota | Použijte pozitivní dvojitou hodnotu, například: 28d |
| Spojovaná buňka zobrazuje špatnou hodnotu | Hodnota 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 / metoda | Popis: |
|---|---|
Workbook | Root objekt vytvořit, načítat a uložit pracovní knihy |
Workbook.Worksheets | Vrá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.ActiveSheetName | Aktivní karta na otevřeném souboru |
Worksheet.VisibilityType | VisibilityType.Hidden nebo: Visible |
Worksheet.TabColor | Barva tabulky (Color) |
Worksheet.PageSetup | Nastavení rozvrhu tisku |
PageSetup.Orientation | PageOrientationType.Landscape nebo: Portrait |
PageSetup.PaperSize | PaperSizeType.PaperA4, atd. |
PageSetup.AddHorizontalPageBreak(row) | Vkládat horizontální rozbití stránek |
Cells.Rows[index].Height | Výška řádku v bodech |
Cells.Rows[index].IsHidden | Zkrácení/ukázání řádku |
Cells.Columns[index].Width | Šířka sloupce v jednotkách znaků |
Cells.Columns[index].IsHidden | Sloupec Ukryj/Pokaž |
Cells.Merge(row, col, numRows, numCols) | Spojte obdélníkový blok |
Cells.MergedCells | Seznam sloučených regionů v listu |
LoadOptions.TryRepairPackage | Zkus opravit ZIP při naložení. |
LoadOptions.TryRepairXml | Zkoušet opravit XML při načtení . |
WorkbookLoadException | Vyhozeno, když soubor není obnovitelný |