Treballar amb la gestió de fitxes de càlcul

Treballar amb la gestió de fitxes de càlcul

Treballar amb la gestió de fitxes de càlcul

El Workbook class és l’objecte raí de totes les operacions d’header en Aspose.Cells FOSS per a .NET. Ofereix accés al sistema de dades del servidor web. WorksheetCollection,Aquesta guia cobreix la càrrega tolerant a errors, l’organització de les fitxes, la configuració del disseny d’impressió i els controls de dissenys de fila/columna/cel·la.


Carregar quadres de treball amb opcions de reparació

Passar una ruta de fitxer a la pàgina d’accés. Workbook constructor per carregar un arxiu XLSX existent. Subministrar una LoadOptions objecte amb TryRepairPackage i de la TryRepairXml fixat a: true per intentar recuperar arxius amb corrupció estructural menor. A WorkbookLoadException es llança quan el fitxer no és recuperable.

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

Ajuntament i organització de feules de treball

Workbook.Worksheets retorna un WorksheetCollection.- Truca. Add(name) Per afegir una nova fitxa de treball per nom; el mètode retorna l’índex de la nova fulla. Accedir a les fulles de feina amb un índex basat en zero o pel seu nom. WorksheetCollection.ActiveSheetName per controlar quina pesta està activa quan s’obre el fitxer.

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

Ocultar i mostrar les fitxes de treball

Set de punts Worksheet.VisibilityType a la VisibilityType.Hidden Per amagar una fulla sense eliminar-la. Les folls amagades es conserven en el fitxer XLSX i poden ser visualitzades mitjançant la configuració de VisibilityType.Visible.El color de la pesta es configura mitjançant: 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");

Configuració de la configuració del lloc web

Worksheet.PageSetup exposa totes les propietats relacionades amb la impressió. PageOrientationType Per canviar entre retrat i paisatge. PaperSizeType Per seleccionar una mida de paper. Defineix l’àrea d’impressió amb PrintArea, fixar repeticions de files/columnes amb: PrintTitleRows/PrintTitleColumns, i afegir pauses de pàgines manuals amb AddHorizontalPageBreak i de la 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);

Dimensió de filas i columnes

Accés Worksheet.Cells.Rows per índex per obtenir un Row object. Set Row.Height (en punts) per controlar l’alçada de la fila. Row.IsHidden a la true Per amagar la fila. Worksheet.Cells.Columns per índex per obtenir un Column object. Set Column.Width (en unitats de caràcters) 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);

Cèl·lules fusionades

L’anomenaràs. Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) La cel·la fusionada hereta el valor de la cèl·lula superior esquerra. Use Worksheet.Cells.MergedCells per llegir totes les regions fusionades en un llibre de treball carregat.

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

Consells i millors pràctiques

  • Utilització: WorksheetCollection.ActiveSheetName per assegurar-se que s’ha seleccionat la pesta correcta quan es obre el fitxer en Excel.
  • Ajustar els marges de pàgines en polzades (LeftMarginInch, TopMarginInch) són valors de punt flotant, no nombres enters.
  • Escondint files/columnes (IsHidden = true) conserva les seves dades; la supressió d’una línia elimina de forma permanent les dades.
  • Sempre trucar. Workbook.Save() una vegada al final d’una operació de batxeria en lloc de després de cada canvi.
  • Fondre cèl·lules amb moderació en fitxes de dades les regions fusionades impedeixen que el classificació i l’autofiltració funcionin correctament a tota la zona fusionada.

Problemàtiques comuns

EdicióCausaCorrecció
WorkbookLoadException en càrregaZIP o XML corromput en el XLSXSet de punts LoadOptions.TryRepairPackage = true i de la TryRepairXml = true
Add(name) Retorna un índex incorrecte.Utilitzar el nom de la ficha com a indexAdd() Retorna un índex int; utilitza aquest índèx per accedir a la nova fulla.
Alçada de fila no persistentAlçada establerta en 0 o valor negatiu.Utilitzar un doble valor positiu com ara: 28d
La cel·la fusionada mostra un valor incorrecte.Valor escrit en una cèl·lula no superior esquerra de la gamma d’unióEscriure el valor a la cel·la d’esquerra abans de trucar Cells.Merge()
No apareix la secció de pàgines.AddHorizontalPageBreak cridat després. Save()Configurar interrupcions de pàgina abans d’acudir Save()

FAQ

Quantes fletes de treball puc afegir?

El format XLSX suporta fins a 1024 fulles per llibre de treball. Els límits pràctics depenen de la memòria disponible i el mida del fitxer.

Puc copiar una fitxa entre quadres de treball?

La superfície API actual no exposa una CopyTo Metode per a les còpies de follons del llibre de treball. Carregar tots dos arxius i transferir dades cel·la per cel•la.

Com puc reordenar les fulles de treball?

Utilització: WorksheetCollection L’accés d’índex i la renomenada de les fulles per canviar el seu ordre lògic. El moviment posicional directe no es troba en l’actual superfície API.

Quines unitats fa? PageSetup utilització per a marges?

Totes les propietats de marges (LeftMarginInch, TopMarginInch, etc.) són en polzades com a double valors.

És així. Cells.Merge substituir les dades de cèl·lules existents?

El valor de la cèl·lula superior esquerra es conserva; els valors en les altres cellules fusionades s’esborren.


Resum de referència d’API

Classe / mètodeDescripció
WorkbookObjectos de raí crear, carregar i guardar quadres de treball
Workbook.WorksheetsRetorna el nombre de punts. WorksheetCollection
Workbook.Save(path)Persistir en el llibre de treball a XLSX
WorksheetCollection.Add(name)Ajuntar una nova plantilla amb el nom
WorksheetCollection.ActiveSheetNameTab activa en arxiu obert
Worksheet.VisibilityTypeVisibilityType.Hidden o de la seva Visible
Worksheet.TabColorColor de la pesta (Color)
Worksheet.PageSetupAjustes de disseny d’impressió
PageSetup.OrientationPageOrientationType.Landscape o de la seva Portrait
PageSetup.PaperSizePaperSizeType.PaperA4, etc.
PageSetup.AddHorizontalPageBreak(row)Insertar un trencament de pàgina horitzontal
Cells.Rows[index].HeightAlçada de fila en punts
Cells.Rows[index].IsHiddenEscutar/montrar fila
Cells.Columns[index].WidthAmpleitud de columna en unitats de caràcters
Cells.Columns[index].IsHiddenColumna d’amagar/montrar
Cells.Merge(row, col, numRows, numCols)Fondre un bloc rectangular
Cells.MergedCellsLlista de regions fusionades en la ficha
LoadOptions.TryRepairPackageIntent de reparació ZIP en càrrega
LoadOptions.TryRepairXmlIntentar la reparació XML en càrrega
WorkbookLoadExceptionArrancat quan el fitxer no es pot recuperar.
 Català