Į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 su
Cell.SetStyle(). Dėl fono užpildų, nustatykite Style.Pattern = FillPattern.Solid ir priskirkite
Color į 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, ir
IconSet. 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(). Nustatykite
Hyperlink.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

FormatasPlėtinysSkaitytiRašyti
Xlsx.xlsx
Auto(įvairūs)

Atviro kodo & licencijavimas

Aspose.Cells FOSS for .NET yra publikuojama pagal MIT licenciją ir platinama per NuGet kaip
Aspose.Cells_FOSS. Ji tinka tiek atvirojo kodo, tiek komerciniams projektams.


Pradžia

Susiję ištekliai