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, și
IconSet. 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 și
Validation.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

FormatExtensieCitireScriere
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.


Începeți

Resurse conexe