Caratteristiche

Caratteristiche

Aspose.Cells FOSS for .NET is a pure managed .NET library for creating, reading, and modifying Excel XLSX spreadsheets. The entry point is the Workbook class, che fornisce accesso a fogli di lavoro, nomi definiti e operazioni di salvataggio/carico. Questa pagina riassume ogni area principale con brevi esempi di codice.


Scrittura, caricamento e memorizzazione

Creare una nuova cartella di lavoro con: new Workbook(). Caricare un file XLSX esistente passando il percorso del file al costruttore. Usare LoadOptions Per consentire un carico tollerante ai guasti. Workbook.Save(path) per continuare i cambiamenti.

using Aspose.Cells_FOSS;

// New workbook
var wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Hello");
wb.Save("output.xlsx");

// Load with repair options
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
    var loaded = new Workbook("input.xlsx", opts);
    Console.WriteLine(loaded.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load failed: " + ex.Message);
}

Dati e formule delle cellule

Utilizzo: Cell.PutValue() per scrivere stringhe, numeri interi, decimali, booleani e DateTime Valori impostati. Cell.Formula per assegnare una stringa di formule compatibile con Excel. Leggere il testo visualizzato tramite Cell.StringValue e il valore grezzo tramite: Cell.Value.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Qty");
ws.Cells["B1"].PutValue("Price");
ws.Cells["C1"].PutValue("Total");
ws.Cells["A2"].PutValue(10);
ws.Cells["B2"].PutValue(4.99m);
ws.Cells["C2"].Formula = "=A2*B2";

wb.Save("data.xlsx");

var loaded = new Workbook("data.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C2"].StringValue); // 49.9

Stile delle celle

Ritracciare e modificare il file di controllo. Style oggetto per qualsiasi cella con: Cell.GetStyle() e di cui al punto 2 Cell.SetStyle().- Il … Style la classe fornisce Font (in grassetto, in corsivo, dimensione, nome), ForegroundColor, Pattern (di tipo: FillPattern), HorizontalAlignment (utilizzando il metodo di HorizontalAlignmentType), e il controllo delle frontiere attraverso la rete europea di sicurezza. Borders.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var cell = wb.Worksheets[0].Cells["A1"];
cell.PutValue("Styled Header");

var style = cell.GetStyle();
style.Font.Bold = true;
style.Font.Size = 14;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

Formattazione condizionale

Worksheet.ConditionalFormattings restituisce un ConditionalFormattingCollection.Chiamami . Add() per creare un insieme di regole, quindi AddCondition() per aggiungere regole utilizzando FormatConditionType e di cui al punto 2 OperatorType.I tipi di condizioni supportate includono: CellValue, Expression, ColorScale, DataBar, e IconSet.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 10; i++)
    ws.Cells[i, 0].PutValue(i + 1);

var ruleSet = ws.ConditionalFormattings[ws.ConditionalFormattings.Add()];
ruleSet.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = ruleSet[ruleSet.AddCondition(FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var ruleStyle = rule.Style;
ruleStyle.Pattern = FillPattern.Solid;
ruleStyle.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
rule.Style = ruleStyle;

wb.Save("cf.xlsx");

Validazione dei dati

Worksheet.Validations restituisce un ValidationCollection.Chiamami . Add(CellArea) - per creare un sistema di Validation Per una gamma di cellule. Type proprietà utilizzando ValidationType (List, Decimal, o Custom) Configurazione Formula1, Formula2, Operator, InputTitle, InputMessage, ErrorTitle, e ErrorMessage.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed,Pending\"";
listVal.InCellDropDown = true;

var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ShowError = true;

wb.Save("validation.xlsx");

Filtro automatico

Worksheet.AutoFilter - che espone il AutoFilter Oggetto. AutoFilter.Range Per definire l’intervallo di riga dell’intestazione. Access AutoFilter.FilterColumns (una raccolta) e chiamata Add(columnIndex) per attivare il filtraggio su una specifica colonna.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Region");
ws.Cells["C1"].PutValue("Sales");
ws.Cells["A2"].PutValue("Alice"); ws.Cells["B2"].PutValue("North"); ws.Cells["C2"].PutValue(1200);

ws.AutoFilter.Range = "A1:C1";
ws.AutoFilter.FilterColumns.Add(1);

wb.Save("filter.xlsx");

Iperlink e nomi definiti

Worksheet.Hyperlinks è un HyperlinkCollection.Chiamami . Add() per inserire URL esterne, riferimenti interne a celle o link mailto. Set Hyperlink.TextToDisplay e di cui al punto 2 Hyperlink.ScreenTip per il testo rivolto all’utente. Workbook.DefinedNames è un DefinedNameCollection; chiamare Add(name, refersTo) per creare intervalli nominati.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Docs");
var link = ws.Hyperlinks[ws.Hyperlinks.Add("A1", 1, 1, "https://docs.aspose.org/cells/net/")];
link.TextToDisplay = "Documentation";

wb.DefinedNames[wb.DefinedNames.Add("DataRange", "Sheet1!$A$1:$D$10")].Comment = "Main data range";

wb.Save("links.xlsx");

Impostazione pagine

Worksheet.PageSetup Controlla i margini di stampa, l’orientamento, la dimensione della carta, le aree di impresa, righe/colonne del titolo, intestazioni e interruzioni delle pagine. PageOrientationType e di cui al punto 2 PaperSizeType - Non è vero.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ps = wb.Worksheets[0].PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.PrintArea = "$A$1:$H$50";
ps.CenterHeader = "My Report";
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(25);

wb.Save("paged.xlsx");

Gestione delle schede di lavoro

Aggiungere, rinominare, nascondere e riordinare fogli di lavoro attraverso WorksheetCollection. WorksheetCollection.Add(name) restituisce l’indice del nuovo foglio. Set Worksheet.VisibilityType utilizzando: VisibilityType. Fusione di cellule con Cells.Merge() e dimensioni di riga/colonna via Cells.Rows e di cui al punto 2 Cells.Columns.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Summary";
var dataIdx = wb.Worksheets.Add("Data");
wb.Worksheets[dataIdx].VisibilityType = VisibilityType.Hidden;
wb.Worksheets.ActiveSheetName = "Summary";

var ws = wb.Worksheets["Summary"];
ws.Cells["A1"].PutValue("Title");
ws.Cells.Merge(0, 0, 1, 4);
ws.Cells.Rows[0].Height = 30d;
ws.Cells.Columns[0].Width = 20d;

wb.Save("worksheets.xlsx");

Suggerimenti e migliori pratiche

  • Prendi sempre . WorkbookLoadException quando si caricano file da percorsi forniti dall’utente.
  • Utilizzo: Cell.PutValue() con l’esatto tipo .NET che intendi archiviare pass decimal per valuta, DateTime per gli appuntamenti.
  • Leggi . Cell.StringValue per il testo visualizzato; utilizzare: Cell.Value quando hai bisogno dell’oggetto .NET grezzo.
  • Creare i set di regole condizionali per la formattazione nella gamma più ampia necessaria Le regole per riga sono costose nei fogli grandi.
  • Chiamami. wb.Save() una volta alla fine piuttosto che dopo ogni cella scrivere.

Problemi comuni

Numero di pubblicazioneCausa di morteRettifica
WorkbookLoadException in apertoStruttura ZIP corretta in XLSXSet di dati LoadOptions.TryRepairPackage = true
Formula: ritorna vuota StringValueFormula non ricalcolata sul caricoAccesso Cell.StringValue dopo il Workbook.Save() viaggio di andata e ritorno
Indirizzo dell’iperlink mostra URL grezzaTextToDisplay non impostatoSet di dati Hyperlink.TextToDisplay dopo il Add()
Scheda di foglio non visibileVisibilityType impostato su: HiddenSet di dati ws.VisibilityType = VisibilityType.Visible

FAQ

Aspose.Cells FOSS per .NET richiede Microsoft Office?

No. La libreria è puro codice gestito senza dipendenza da Office, Excel o COM interop.

Quali formati di file sono supportati?

XLSX (lettura e scrittura). CSV, ODS, PDF e binario XSL non sono supportati in questa versione.

Posso usare questa libreria in un’applicazione commerciale?

Aspose.Cells FOSS è pubblicato sotto la licenza MIT, che permette un uso commerciale illimitato senza royalties.

Qual è la versione minima .NET?

.NET 6.0 o successiva.

Come faccio ad applicare un colore di sfondo a una cella?

Set di dati style.Pattern = FillPattern.Solid e di cui al punto 2 style.ForegroundColor = Color.FromArgb(...), allora chiama . cell.SetStyle(style).


Riassunto di riferimento API

Classe / metodoDescrizione
WorkbookClasse radice creare, caricare e salvare cartelle di lavoro
Workbook.WorksheetsRitorna il valore di WorksheetCollection
Workbook.Save(path)Salva la cartella di lavoro sul disco
Workbook.DefinedNamesRaccolta di intervalli denominati
Worksheet.CellsAccesso alla rete cellulare
Worksheet.ConditionalFormattingsSet di regole di formattazione condizionale
Worksheet.ValidationsRegole di convalida dei dati
Worksheet.AutoFilterConfigurazione del filtro automatico
Worksheet.HyperlinksRaccolta di collegamenti ipertestuali
Worksheet.PageSetupImpostazioni del layout di stampa
Cell.PutValue()Scrivere dati di cella digitati
Cell.FormulaStringa di formule compatibile con Excel
Cell.GetStyle() / Cell.SetStyle()Stile di lettura/scrittura delle celle
Style.PatternModello di riempimento (FillPattern (in numero)
Style.HorizontalAlignmentAllineamento delle celle (HorizontalAlignmentType)
LoadOptionsOpzioni per il caricamento dei file con tolleranza ai guasti
 Italiano