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.ActiveSheetNamehogy 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és | Okok | Megjavítani. |
|---|---|---|
WorkbookLoadException terhelve | Elrontott 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álata | Add() int indexet ad; használja ezt az indexot, hogy hozzáférjen az új laphoz. |
| Sormagasság nem tartósított | Magasság 0-ra vagy negatív értékre beállítva | Haszná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ódszer | Leírás |
|---|---|
Workbook | Root objektum munkafüzet létrehozása, betöltése és mentése |
Workbook.Worksheets | Visszaadja a WorksheetCollection |
Workbook.Save(path) | Folytatás a munkafüzet XLSX-re |
WorksheetCollection.Add(name) | Új munkalapot nevezve hozzáadni |
WorksheetCollection.ActiveSheetName | Aktíva lap a nyitott fájlban |
Worksheet.VisibilityType | VisibilityType.Hidden vagy a következő: Visible |
Worksheet.TabColor | Tab színe (Color) |
Worksheet.PageSetup | Nyomtatási beállítások |
PageSetup.Orientation | PageOrientationType.Landscape vagy a következő: Portrait |
PageSetup.PaperSize | PaperSizeType.PaperA4, stb. |
PageSetup.AddHorizontalPageBreak(row) | A horizontális oldalszegés beillesztése |
Cells.Rows[index].Height | Sormagasság pontokban |
Cells.Rows[index].IsHidden | Elrejtő/megmutató sor |
Cells.Columns[index].Width | A oszlop szélessége karakteregységekben |
Cells.Columns[index].IsHidden | A rejtőzködő/megmutató oszlop |
Cells.Merge(row, col, numRows, numCols) | Egy téglalapú blokk egyesítése |
Cells.MergedCells | Az egyesített régiók listája a lapban |
LoadOptions.TryRepairPackage | Megpróbáljuk a ZIP-javítást töltés közben. |
LoadOptions.TryRepairXml | XML-javítás a betöltés közben |
WorkbookLoadException | Eldobás, ha a fájl nem áll helyre. |