Rad s upravljanjem preglednikom
Rad s upravljanjem preglednikom
U skladu s člankom 1. Workbook class je korijen objekta za sve operacije tabele u Aspose.Cells FOSS for .NET. Pruža pristup na WorksheetCollection,Ovaj vodič obuhvaća opterećenje koje podnosi greške, organizaciju radnog lista, konfiguraciju rasporeda za tisak i kontrole raspoređenja redova/stolupca/stanica.
Uplatiti radne sveske s opcijama popravka
Predajte put za datoteku na Workbook Konstruktor za učitavanje postojeće XLSX datoteke. LoadOptions predmet s: TryRepairPackage i u članku 1. TryRepairXml postavljen na: true da pokušaju oporavak datoteka s manjim strukturnim kvarom. A WorkbookLoadException je bačen kada datoteka nije obnovljiva.
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);
}Dodavanje i organiziranje radnih lista
Workbook.Worksheets vraća a WorksheetCollection.Nazovi. Add(name) Prihvatite radne listove indeksom na osnovi nule ili imenom. Postavite: WorksheetCollection.ActiveSheetName da kontrolira koja kartica je aktivna kada se datoteka otvori.
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);Skrivanje i prikaz radnih lista
Sastavljeno Worksheet.VisibilityType u iznosu od: VisibilityType.Hidden skriveni listovi su sačuvani u XLSX datoteke i mogu se učiniti vidljivim postavljanjem VisibilityType.Visible.Označavanje boje kartice se postavlja putem: 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");Konfiguracija postavke stranice
Worksheet.PageSetup izloži sve svojstva vezane za otisak. PageOrientationType Za prebacivanje između portreta i krajolika. PaperSizeType Da biste odabrali veličinu papira, definirajte područje ispisa s: PrintArea, postaviti ponavljajuće redove/stolpce s: PrintTitleRows/PrintTitleColumns, i dodati ručne prekida stranice s AddHorizontalPageBreak i u članku 1. 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);Izgradnja redova i stupnica
Prihvat Worksheet.Cells.Rows po indeksu da dobijem a Row -Obijek. Row.Height (u točkama) za kontrolu visine reda. Row.IsHidden u iznosu od: true -Pristup. Worksheet.Cells.Columns po indeksu da dobijem a Column -Obijek. Column.Width (u znakovnim jedinicama) i 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);Spojeni stanice
Zovi me. Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) Spojena ćelija naslijedi vrijednost gore lijeve ćelije. Koristite Worksheet.Cells.MergedCells Da se sve spajene regije pročitaju u učvršćenoj radnoj svitnici.
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);Savjeti i najbolje prakse
- Upotreba:
WorksheetCollection.ActiveSheetNameda se osigura ispravna kartica kada je datoteka otvorena u programu Excel. - Postavite rublje stranica u inča (
LeftMarginInch,TopMarginInch) to su vrijednosti u pomjernoj točki, a ne cijele brojeve. - Skrivanje redova/stolpca (
IsHidden = true) čuva podatke; brisanje reda trajno uklanja podatke. - Uvijek nazovi.
Workbook.Save()U slučaju da je to moguće, u skladu s člankom 16. stavkom 2. - spajanje regija sprečava pravilno funkcioniranje sortiranja i automatske filtracije u svim spajanim područjima.
Zajednički problemi
| Izdavanje | Uzrok | Popraviti |
|---|---|---|
WorkbookLoadException na teret | Korumpirani ZIP ili XML u XLSX-u | Sastavljeno LoadOptions.TryRepairPackage = true i u članku 1. TryRepairXml = true |
Add(name) vraća pogrešan indeks | Upotreba imena lista kao indeksa | Add() vraća int indeks; koristiti taj index za pristup novom listu |
| Visina reda nije ustrajna | Uređenje na 0 ili negativnu vrijednost | Koristite pozitivnu dvostruku vrijednost kao što je: 28d |
| Spojena ćelija prikazuje pogrešnu vrijednost | Vrijednost zapisana u ćeliju koja nije gore lijevo od opsega spajanja | Napišite vrijednost u gornju lijevu ćeliju prije poziva Cells.Merge() |
| Ne pojavljuje se razlomka stranice | AddHorizontalPageBreak Pozvana je nakon… Save() | Postavi prekid stranice prije poziva Save() |
FAQ
Koliko radnih lista mogu dodati?
XLSX format podržava do 1024 listova po radnoj svitnici. Praktične granice zavise od raspoložive memorije i veličine datoteke.
Mogu li kopirati radni list između radnih sveski?
Trenutna API površina ne izložava CopyTo Metod za kopiranje različitih listova radne knjige.
Kako da preuređujem radne listove?
Upotreba: WorksheetCollection Direktno pozicijsko pomicanje nije u trenutnoj API površini.
Koje jedinice radi? PageSetup korištenje za marže?
U ovom slučaju, u skladu s člankom 77. stavkom 1. točkom (b) CRR-a.LeftMarginInch, TopMarginInch, itd.) su u inča kao double vrijednosti.
Da li je? Cells.Merge zamjeniti postojeće podatke o stanicama?
U ovom slučaju, ako je to moguće, treba se uključiti u sljedeće:.
Svrha referentnog API-a
| Klasa / metoda | Opisivanje |
|---|---|
Workbook | Root objekt kreirati, učitati i čuvati radne sveske |
Workbook.Worksheets | Vrati se: WorksheetCollection |
Workbook.Save(path) | Nastaviti radnu svesku na XLSX |
WorksheetCollection.Add(name) | Pridružiti novi radni list po imenu |
WorksheetCollection.ActiveSheetName | Aktivna kartica na otvorenom datoteku |
Worksheet.VisibilityType | VisibilityType.Hidden ili: Visible |
Worksheet.TabColor | Slika (Color) |
Worksheet.PageSetup | Postavke rasporeda za štampanje |
PageSetup.Orientation | PageOrientationType.Landscape ili: Portrait |
PageSetup.PaperSize | PaperSizeType.PaperA4, itd. |
PageSetup.AddHorizontalPageBreak(row) | Ustaviti horizontalni razlom stranice |
Cells.Rows[index].Height | Visina reda u točkama |
Cells.Rows[index].IsHidden | Izvješće o preuzimanju odobrenja za primjenu |
Cells.Columns[index].Width | Širina kolone u jedinicama znakova |
Cells.Columns[index].IsHidden | Sljedeći članakSvijetlo: |
Cells.Merge(row, col, numRows, numCols) | Udružiti pravougaoni blok |
Cells.MergedCells | Popis regija koje su se spojile u listu |
LoadOptions.TryRepairPackage | Pokušaj ZIP popravka na terenu |
LoadOptions.TryRepairXml | Pokušaj popravka XML-a pri učitavanju |
WorkbookLoadException | Izbaci kada je datoteka nepovratna |