Introduzione
Aspose.Cells FOSS for .NET è una libreria a codice gestito puro, con licenza MIT, per la lettura, scrittura,
e manipolazione di cartelle di lavoro Excel .xlsx senza alcuna dipendenza da Microsoft Office. Installata come
il pacchetto NuGet Aspose.Cells_FOSS, si integra in qualsiasi progetto .NET — app console, web
API, processi in background e funzioni serverless.
Questo post fornisce una panoramica funzionalità per funzionalità dell’API pubblica, mostrando ciò che è possibile e come invocare ogni capacità dal codice C#.
Panoramica delle funzionalità
Ciclo di vita della cartella di lavoro e del foglio di lavoro
Il punto di ingresso per ogni operazione è la classe Workbook. Costruiscine una da zero con new Workbook(), oppure carica una .xlsx esistente con new Workbook(filePath) o new Workbook(stream). Naviga tra i fogli tramite Workbook.Worksheets, imposta Worksheet.Name e Worksheet.VisibilityType, e persisti con Workbook.Save(). Per i file danneggiati, passa un’istanza LoadOptions con TryRepairPackage = true e TryRepairXml = true.
using Aspose.Cells_FOSS;
var options = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
_ = new Workbook("sample.xlsx", options);
}
catch (WorkbookLoadException exception)
{
Console.WriteLine(exception.Message);
}
Dati e formule delle celle
Scrivi valori nelle celle con Cell.PutValue() — le sovraccariche accettano string, int, double, decimal, bool e DateTime. Leggi i valori indietro tramite Cell.Value, Cell.StringValue e Cell.Formula. Imposta le formule Excel con la proprietà Cell.Formula; la stringa della formula viene preservata al salvataggio e sopravvive a un ciclo di ricarica.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("hello.xlsx");
var loaded = new Workbook("hello.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].Formula);
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].StringValue);
Stile della cella
Applica gli oggetti Style per controllare il carattere, il riempimento, i bordi, il formato numerico e l’allineamento.
Recupera lo stile corrente con Cell.GetStyle(), modificalo, quindi conferma conCell.SetStyle(). Per i riempimenti di sfondo, imposta Style.Pattern = FillPattern.Solid e assegna unColor a Style.ForegroundColor. Usa Cells.Merge() per estendere gli intervalli di celle.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var cell = workbook.Worksheets[0].Cells["A1"];
cell.PutValue("Styled");
var style = cell.GetStyle();
style.Font.Bold = true;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 241, 196, 15);
cell.SetStyle(style);
Console.WriteLine($"{cell.StringValue} / Bold={cell.GetStyle().Font.Bold}");
Formattazione condizionale
Allega regole di formattazione condizionale a intervalli di celle tramite ConditionalFormattingCollection.
Le regole supportano FormatConditionType.CellValue, Expression, ColorScale, DataBar, eIconSet. Usa OperatorType per specificare gli operatori di confronto (Between, Equal,GreaterThan, ecc.), assegna un Style alle celle corrispondenti e configura la priorità e
il comportamento stop-if-true per ogni regola.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
var cfCollection = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCollection.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCollection[cfCollection.AddCondition(
FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var style = rule.Style;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
style.Font.Bold = true;
rule.Style = style;
workbook.Save("conditional-formatting.xlsx");
Validazione dei dati
Aggiungi vincoli di input alle celle usando Worksheet.Validations. I tipi di convalida supportati
includono ValidationType.List, Decimal, Custom, e altri. Configura i prompt di input
(InputTitle, InputMessage) e i messaggi di errore (ErrorTitle, ErrorMessage,ValidationAlertType). Usa CellArea.CreateCellArea() per definire l’intervallo convalidato eValidation.AddArea() per applicare una regola a intervalli aggiuntivi.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Validation Sheet";
var listIdx = sheet.Validations.Add(CellArea.CreateCellArea("A1", "A3"));
var listVal = sheet.Validations[listIdx];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed\"";
listVal.IgnoreBlank = true;
listVal.InCellDropDown = true;
listVal.ShowInput = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Pick a status";
listVal.ShowError = true;
listVal.ErrorTitle = "Invalid";
listVal.ErrorMessage = "Choose from the list";
workbook.Save("validations-sample.xlsx");
Impostazioni pagina e opzioni di stampa
Configura il layout di stampa tramite Worksheet.PageSetup. Imposta i margini (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, scala, area di stampa, righe e colonne del titolo, intestazioni e piè di pagina e interruzioni di pagina. Tutte le impostazioni sopravvivono a un ciclo di salvataggio e caricamento.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Print Sheet";
sheet.Cells["A1"].PutValue("Title");
var pageSetup = sheet.PageSetup;
pageSetup.Orientation = PageOrientationType.Landscape;
pageSetup.PaperSize = PaperSizeType.PaperA4;
pageSetup.PrintArea = "$A$1:$C$10";
pageSetup.PrintTitleRows = "$1:$2";
pageSetup.LeftHeader = "Left Header";
pageSetup.CenterFooter = "Center Footer";
pageSetup.PrintGridlines = true;
pageSetup.CenterHorizontally = true;
workbook.Save("page-setup-sample.xlsx");
Impostazioni e protezione del foglio di lavoro
Controlla la visualizzazione per foglio con Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom e TabColor. Proteggi i fogli con Worksheet.Protect()
e configura flag Protection a grana fine (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Gestisci l’altezza delle righe, la larghezza delle colonne, le righe/colonne nascoste e
le regioni unite tramite Cells.Rows, Cells.Columns e Cells.Merge().
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var layout = workbook.Worksheets[0];
layout.Name = "Layout";
layout.VisibilityType = VisibilityType.Hidden;
layout.TabColor = Color.FromArgb(255, 34, 68, 102);
layout.ShowGridlines = false;
layout.Zoom = 85;
layout.Protect();
layout.Protection.FormatCells = true;
layout.Protection.InsertRows = true;
layout.Cells["A1"].PutValue("Merged");
layout.Cells.Rows[1].Height = 22.5d;
layout.Cells.Columns[0].Width = 18.25d;
layout.Cells.Merge(0, 0, 2, 2);
workbook.Save("worksheet-settings-sample.xlsx");
Collegamenti ipertestuali e intervalli denominati
Aggiungi collegamenti ipertestuali esterni, interni e mailto: tramite HyperlinkCollection.Add(). ImpostaHyperlink.TextToDisplay e Hyperlink.ScreenTip per le etichette visibili all’utente. Definisci intervalli denominati a livello di cartella di lavoro o di foglio usando DefinedNameCollection.Add() — gli intervalli denominati servono come ancore di formula stabili e fonti di dati per i grafici che sopravvivono al ricaricamento del file.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Docs");
var link = sheet.Hyperlinks[sheet.Hyperlinks.Add("A1", 1, 1, "https://example.com/docs")];
link.TextToDisplay = "Docs";
link.ScreenTip = "External documentation";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("PrimaryRange", "='Sheet1'!$A$1:$D$5")];
name.Comment = "Primary data range";
workbook.Save("hyperlinks-names.xlsx");
Console.WriteLine("Hyperlinks: " + sheet.Hyperlinks.Count);
Console.WriteLine("Defined names: " + workbook.DefinedNames.Count);
Avvio rapido
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("output.xlsx");
Formati supportati
| Formato | Estensione | Lettura | Scrittura |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (vari) | ✓ | — |
Open Source e Licenze
Aspose.Cells FOSS per .NET è pubblicato sotto licenza MIT e distribuito tramite NuGet comeAspose.Cells_FOSS. È adatto sia a progetti open-source che commerciali.