Számlalapkezeléssel való munka

Számlalapkezeléssel való munka

Számlalapkezeléssel való munka

A Bizottság Workbook class a gyökérobjektum minden táblázat műveletének az Aspose.Cells FOSS for .NET-ben. Ez hozzáférést biztosít a WorksheetCollection,Ez a kézikönyv tartalmazza az hibát toleráló betöltést, a munkalapok szervezését, az nyomtatási felület konfigurációját és a sor/oszlop/sejt elrendezésének ellenőrzését.


A munkafüzetek betöltése javítási lehetőségekkel

Adjon át egy fájl útvonalat a Workbook A programot a következőkben kell elhelyezni: LoadOptions objektum, amely TryRepairPackage és a következők: TryRepairXml beállított true A rendszer a szerkezeti rendellenességek kis mértékű helyreállítását kísérli. WorkbookLoadException Ha a fájl nem áll helyre.

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

Munkalapok hozzáadása és megszervezése

Workbook.Worksheets az a-t adja vissza. WorksheetCollection.Hívj fel. Add(name) az új munkalapot név szerint hozzáadja; a módszer az újszöveg indexjét adja vissza. A munkamegosztókat nullás alapú index vagy néven kell elérni. WorksheetCollection.ActiveSheetName hogy a fájl megnyitásakor melyik lap van aktív.

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

Munkaprények elrejtése és megjelenítése

Összeállítva Worksheet.VisibilityType a … VisibilityType.Hidden a levelezés nélkül elrejteni. A rejtett lapok az XLSX fájlon vannak megőrve, és láthatóvá tehetik úgy, hogy beállítja: VisibilityType.Visible.A tábla színét a következő formában lehet beállítani: 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");

A oldal beállításának konfigurálása

Worksheet.PageSetup A nyomtatáshoz kapcsolódó összes tulajdonság feltárása. PageOrientationType A portrait és a táj között való váltás. PaperSizeType A nyomtatási területet a következőkkel határozza meg: PrintArea, ismételt sorokat/oszlopokat állít meg, amelyekben a következők szerepelnek: PrintTitleRows/PrintTitleColumns, és hozzáadjuk a kézi oldalszakadékokat az alábbiakkal: AddHorizontalPageBreak és a következők: 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);

Sor és oszlop méretezés

Hozzáférés Worksheet.Cells.Rows index szerint, hogy a Row A tárgy. Row.Height (pontokban) a sormagasság szabályozására. Row.IsHidden a … true A sor elrejtésére. Worksheet.Cells.Columns index szerint, hogy a Column A tárgy. Column.Width (jeljegyegységekben) és 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);

Célok egyesülése

Hívj! Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) A felolvasott cellák örökölni fogják a bal felső részben lévő cellával kapcsolatos értékeket. Worksheet.Cells.MergedCells Az összes egyesített régiót egy töltött munkafüzetben visszaolvasni.

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

Tippek és legjobb gyakorlatok

  • Használat WorksheetCollection.ActiveSheetName hogy a helyes lap kiválasztása biztosítható legyen, amikor az Excelben megnyitják a fájlt.
  • A oldalhatárokat hüvelykben állítsa be (LeftMarginInch, TopMarginInch) ezek a mozgópontos értékek, nem egészszámok.
  • A sorok/rögök elrejtése (IsHidden = true) megőrzi az adatait; egy sor törlése a adatokat véglegesen eltávolítja.
  • Mindig hívj. Workbook.Save() a tétel elkészítésének végén, nem pedig minden egyes változtatás után.
  • Az egyesített területeken a szorzás és az automatikus szűrés nem működik megfelelően.

Általános kérdések

A kérdésOkokMegjavítani.
WorkbookLoadException terhelveElrontott ZIP vagy XML a XLSX-benÖsszeállítva LoadOptions.TryRepairPackage = true és a következők: TryRepairXml = true
Add(name) Nem megfelelő indexet ad vissza.A lapnév indexként való használataAdd() int indexet ad; használja ezt az indexot, hogy hozzáférjen az új laphoz.
Sormagasság nem tartósítottMagasság 0-ra vagy negatív értékre beállítvaHasználjon pozitív kettős értéket, például: 28d
A egyesített cellában helytelen érték jelenik meg.Az egyesítési tartomány nem felső bal oldalán lévő cellájába írott értékÍrja meg az értéket a bal felső cellába, mielőtt hívná. Cells.Merge()
Az oldalszünet nem jelenik meg.AddHorizontalPageBreak - Hívta. Save()A hívás előtt beállítja a lapszünetet. Save()

FAQ

Hány munkamegosztót adhatok hozzá?

Az XLSX formátum 1024 lapot támogat munkafüzetenként. A gyakorlati határértékek a rendelkezésre álló memóriától és fájlméretétől függnek.

Képes vagyok-e munkalapokat másolni?

A jelenlegi API felület nem mutatja a CopyTo Mód a munkafüzet keresztlapokhoz való másolatához. Mindkét fájlt töltse be, és az adatokat cellánként továbbítsa.

Hogyan rendezzem át a munkalapokat?

Használat WorksheetCollection Az index hozzáférés és a címváltoztatás folyadékok logikai sorrendjüket megváltoztatására. A közvetlen pozíciós mozgás nincs az aktuális API felületen.

Milyen egységek? PageSetup Használható a haszonkulcsokhoz?

Minden értékpapír (LeftMarginInch, TopMarginInch, stb.) a számozban, mint az double értékek.

- Igen. Cells.Merge a meglévő sejtadatok helyettesítése?

A bal felső cellában található érték megőrződik; a többi egyesített cellába tartozó értékek kitörlésre kerülnek.


API-referencia összefoglaló

Rendszer / módszerLeírás
WorkbookRoot objektum munkafüzet létrehozása, betöltése és mentése
Workbook.WorksheetsVisszaadja a WorksheetCollection
Workbook.Save(path)Folytatás a munkafüzet XLSX-re
WorksheetCollection.Add(name)Új munkalapot nevezve hozzáadni
WorksheetCollection.ActiveSheetNameAktíva lap a nyitott fájlban
Worksheet.VisibilityTypeVisibilityType.Hidden vagy a következő: Visible
Worksheet.TabColorTab színe (Color)
Worksheet.PageSetupNyomtatási beállítások
PageSetup.OrientationPageOrientationType.Landscape vagy a következő: Portrait
PageSetup.PaperSizePaperSizeType.PaperA4, stb.
PageSetup.AddHorizontalPageBreak(row)A horizontális oldalszegés beillesztése
Cells.Rows[index].HeightSormagasság pontokban
Cells.Rows[index].IsHiddenElrejtő/megmutató sor
Cells.Columns[index].WidthA oszlop szélessége karakteregységekben
Cells.Columns[index].IsHiddenA rejtőzködő/megmutató oszlop
Cells.Merge(row, col, numRows, numCols)Egy téglalapú blokk egyesítése
Cells.MergedCellsAz egyesített régiók listája a lapban
LoadOptions.TryRepairPackageMegpróbáljuk a ZIP-javítást töltés közben.
LoadOptions.TryRepairXmlXML-javítás a betöltés közben
WorkbookLoadExceptionEldobás, ha a fájl nem áll helyre.
 Magyar