Įvadas
Aspose.Cells FOSS for .NET yra grynai valdomo kodo, MIT licencijuota biblioteka, skirta skaityti, rašyti,
ir manipuliuoti Excel .xlsx darbaknygėmis be jokios Microsoft Office priklausomybės. Įdiegta kaip
Aspose.Cells_FOSS NuGet paketas, ji integruojama į bet kurį .NET projektą — konsolines programas, web
API, foninius darbininkus ir serverless funkcijas.
Šiame įraše pateikiama funkcija po funkcijos apžvalga viešosios API, rodanti, kas yra įmanoma ir kaip iškviesti kiekvieną galimybę iš C# kodo.
Funkcijų apžvalga
Workbook ir Worksheet gyvavimo ciklas
Įėjimo taškas kiekvienai operacijai yra Workbook klasė. Sukurkite ją nuo nulio su new Workbook(), arba įkelkite esamą .xlsx su new Workbook(filePath) arba new Workbook(stream). Naršykite lapus per Workbook.Worksheets, nustatykite Worksheet.Name ir Worksheet.VisibilityType, ir išsaugokite su Workbook.Save(). Sugadintiems failams perduokite LoadOptions egzempliorių su TryRepairPackage = true ir 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);
}
Ląstelių duomenys ir formulės
Rašykite reikšmes į langelius naudodami Cell.PutValue() — perkrovos priima string, int, double,
decimal, bool ir DateTime. Perskaitykite reikšmes atgal per Cell.Value, Cell.StringValue ir
Cell.Formula. Nustatykite Excel formules su Cell.Formula savybe; formulės eilutė išsaugoma išsaugojus ir išlieka po pakartotinio įkėlimo ciklo.
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);
Ląstelių stilius
Taikykite Style objektus, kad valdytumėte šriftą, užpildą, kraštines, skaičių formatą ir lygiavimą.
Gaukite dabartinį stilių su Cell.GetStyle(), modifikuokite jį, tada patvirtinkite suCell.SetStyle(). Dėl fono užpildų, nustatykite Style.Pattern = FillPattern.Solid ir priskirkiteColor į Style.ForegroundColor. Naudokite Cells.Merge(), kad apimtumėte langelių intervalus.
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}");
Sąlyginis formatavimas
Priskirkite sąlyginio formatavimo taisykles langelių diapazonams per ConditionalFormattingCollection.
Taisyklės palaiko FormatConditionType.CellValue, Expression, ColorScale, DataBar, irIconSet. Naudokite OperatorType, kad nurodytumėte palyginimo operatorius (Between, Equal,GreaterThan, ir kt.), priskirkite Style atitinkamiems langeliams ir konfigūruokite prioritetą bei
stop-if-true elgseną kiekvienai taisyklei.
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");
Duomenų tikrinimas
Pridėkite įvesties apribojimus langeliams naudodami Worksheet.Validations. Palaikomi patikrinimo tipai apima ValidationType.List, Decimal, Custom ir kt. Konfigūruokite įvesties užklausas (InputTitle, InputMessage) ir klaidos pranešimus (ErrorTitle, ErrorMessage, ValidationAlertType). Naudokite CellArea.CreateCellArea(), kad apibrėžtumėte patikrintą intervalą, ir Validation.AddArea(), kad pritaikytumėte taisyklę papildomiems intervalams.
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");
Puslapio nustatymai ir spausdinimo parinktys
Konfigūruokite spausdinimo išdėstymą per Worksheet.PageSetup. Nustatykite paraštes (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, mastelį, spausdinimo sritį, antraštės eilutes ir stulpelius, antraštes ir poraštes bei puslapių lūžius. Visi nustatymai išlieka po išsaugojimo ir įkėlimo ciklo.
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");
Darbalapio nustatymai ir apsauga
Valdykite kiekvieno lapo rodymą su Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom ir TabColor. Apsaugokite lapus su Worksheet.Protect()
ir konfigūruokite smulkias Protection vėliavas (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Tvarkykite eilučių aukštį, stulpelių plotį, paslėptas eilutes/stulpelius ir
sujungtas sritis per Cells.Rows, Cells.Columns ir 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");
Hipersaitai ir pavadinti diapazonai
Pridėkite išorines, vidines ir mailto: hipersaitus per HyperlinkCollection.Add(). NustatykiteHyperlink.TextToDisplay ir Hyperlink.ScreenTip naudotojui matomoms etiketėms. Apibrėžkite pavadintus
diapazonus darbalapio arba lakšto apimtyje naudodami DefinedNameCollection.Add() – pavadinti diapazonai veikia kaip stabilūs formulės inkarai ir diagramų duomenų šaltiniai, kurie išlieka po failo perkrovimo.
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);
Greitas pradžia
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");
Palaikomi formatai
| Formatas | Plėtinys | Skaityti | Rašyti |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (įvairūs) | ✓ | — |
Atviro kodo & licencijavimas
Aspose.Cells FOSS for .NET yra publikuojama pagal MIT licenciją ir platinama per NuGet kaipAspose.Cells_FOSS. Ji tinka tiek atvirojo kodo, tiek komerciniams projektams.