Introducere
Aspose.Cells FOSS for .NET este o bibliotecă pură de cod gestionat, licențiată MIT, pentru citire, scriere,
și manipularea foilor de calcul Excel .xlsx fără nicio dependență de Microsoft Office. Instalată ca
pachetul Aspose.Cells_FOSS NuGet, se integrează în orice proiect .NET — aplicații console, web
API-uri, lucrători în fundal și funcții serverless.
Acest articol oferă o prezentare pas cu pas a funcționalităților API-ului public, arătând ce este posibil și cum să invoci fiecare capacitate din cod C#.
Prezentare generală a funcționalităților
Ciclul de viață al registrului de lucru și al foii de lucru
Punctul de intrare pentru fiecare operație este clasa Workbook. Construiți una de la zero cu new Workbook(), sau încărcați o .xlsx existentă cu new Workbook(filePath) sau new Workbook(stream). Navigați prin foi prin intermediul Workbook.Worksheets, setați Worksheet.Name și Worksheet.VisibilityType, și persistați cu Workbook.Save(). Pentru fișiere deteriorate, furnizați o instanță LoadOptions cu TryRepairPackage = true și 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);
}
Datele celulei și formulele
Scrie valori în celule cu Cell.PutValue() — suprasarcinile acceptă string, int, double,
decimal, bool și DateTime. Citește valorile înapoi prin Cell.Value, Cell.StringValue și
Cell.Formula. Setează formulele Excel cu proprietatea Cell.Formula; șirul formulei este
păstrat la salvare și supraviețuiește unui ciclu de reîncărcare.
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);
Stilizare celulă
Aplicați obiectele Style pentru a controla fontul, umplerea, bordurile, formatul numeric și alinierea.
Recuperați stilul curent cu Cell.GetStyle(), modificați-l, apoi confirmați cu Cell.SetStyle().
Pentru umpleri de fundal, setați Style.Pattern = FillPattern.Solid și atribuiți un Color la Style.ForegroundColor.
Utilizați Cells.Merge() pentru a extinde intervalele de celule.
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}");
Formatare condițională
Atașați reguli de formatare condiționată la intervale de celule prin ConditionalFormattingCollection.
Regulile acceptă FormatConditionType.CellValue, Expression, ColorScale, DataBar, șiIconSet. Utilizați OperatorType pentru a specifica operatorii de comparație (Between, Equal,GreaterThan, etc.), atribuiți un Style celulelor care se potrivesc și configurați prioritatea și
comportamentul stop-if-true pentru fiecare regulă.
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");
Validare date
Adăugați constrângeri de intrare la celule utilizând Worksheet.Validations. Tipurile de validare acceptate
includ ValidationType.List, Decimal, Custom, și altele. Configurați solicitările de intrare
(InputTitle, InputMessage) și mesajele de eroare (ErrorTitle, ErrorMessage,ValidationAlertType). Utilizați CellArea.CreateCellArea() pentru a defini intervalul validat șiValidation.AddArea() pentru a aplica o regulă la intervale suplimentare.
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");
Configurare pagină și opțiuni de imprimare
Configurează aspectul de tipărire prin Worksheet.PageSetup. Setează marginile (LeftMarginInch,
RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, scala,
zona de tipărire, rândurile și coloanele de titlu, anteturile și subsolurile și întreruperile de pagină. Toate setările supraviețuiesc
un ciclu de salvare-încărcare.
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");
Setări și protecție ale foii de lucru
Controlați afișarea pe foaie cu Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom și TabColor. Protejați foile cu Worksheet.Protect()
și configurați semnalizări detaliate Protection (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Gestionați înălțimea rândului, lățimea coloanei, rândurile/coloanele ascunse și
regiunile fuzionate prin Cells.Rows, Cells.Columns și 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");
Hiperlinkuri și intervale denumite
Adăugați hyperlinkuri externe, interne și mailto: prin HyperlinkCollection.Add(). Setați
Hyperlink.TextToDisplay și Hyperlink.ScreenTip pentru etichete vizibile utilizatorului. Definiți intervale denumite
la nivel de registru de lucru sau foaie utilizând DefinedNameCollection.Add() — intervalele denumite servesc ca
ancore stabile pentru formule și surse de date pentru diagrame care supraviețuiesc reîncărcării fișierului.
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);
Start rapid
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");
Formate acceptate
| Format | Extensie | Citire | Scriere |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Open Source și Licențiere
Aspose.Cells FOSS pentru .NET este publicat sub licența MIT și distribuit prin NuGet ca
Aspose.Cells_FOSS. Este potrivit atât pentru proiecte open-source, cât și pentru proiecte comerciale.