1. Produktai
  2.   Skaičiuoklė
  3.   .NET
  4.   ClosedXML
 
  

Atvirojo kodo .NET biblioteka, skirta manipuliuoti Excel skaičiuoklėmis

„ClosedXML“ leidžia skaityti, valdyti ir rašyti „Microsoft Excel“ dokumentus

ClosedXML yra atvirojo kodo C# API, skirta skaityti, valdyti ir rašyti Microsoft Excel 2007+ (.xlsx, .xlsm) dokumentus. API leidžia kurti „Excel“ failus nenaudojant „Excel“ programos ir skaityti failus naudojant patobulintas funkcijas.

Naudodami API galite sukurti darbaknygių stilių naudodami fono spalvą ir langelių apvadą. Galite pridėti, pašalinti ir perkelti darbalapius bei tvarkyti duomenų tipus programoje „Excel“.

Previous Next

Darbo su ClosedXML pradžia

Rekomenduojamas ClosedXML diegimo būdas yra iš NuGet. Norėdami greičiau įdiegti, naudokite šią komandą.

Įdiekite „ClosedXML“ iš „NuGet“.

 Install-Package ClosedXML

Sukurkite naujas darbaknyges nemokamai naudodami C#

CLosedXML leidžia C# .NET kūrėjams kurti naujus Excel darbalapius. Galite sukurti tuščią darbaknygę naudodami XLWorkbook() metodą. Bibliotekoje yra keletas svarbių darbalapio dokumentų tvarkymo funkcijų. Tai leidžia pridėti darbalapių į darbaknygę, pridėti langelių ir stulpelių, pritaikyti stilius eilutėms ir stulpeliams, ištrinti nereikalingus langelius ir dar daugiau.

Kurkite naujas darbaknyges naudodami .NET API


using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.Worksheets.Add("Sample Sheet");
    worksheet.Cell("A1").Value = "Hello World!";
    worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)";
    workbook.SaveAs("HelloWorld.xlsx");
}

„Excel“ lapų stilius naudojant C#

Atvirojo kodo ClosedXML API leidžia programinės įrangos kūrėjams pritaikyti stilius savo „Excel“ lapams naudojant tik kelias C# kodo eilutes. API praturtinta stiliaus funkcijomis, įskaitant lygiavimą, kraštinę, užpildymą, šriftą, skaičių formatą, eilučių, stulpelių stilių ir kt. Biblioteka taip pat leidžia vartotojams keisti stilių pagal savo poreikius.

Kaip pritaikyti stilius „Excel“ lapams per C# biblioteką


            var path = Program.BaseCreatedDirectory;
            new StyleFont().Create(Path.Combine(path, "styleFont.xlsx"));
            new StyleFill().Create(Path.Combine(path, "styleFill.xlsx"));
            new StyleBorder().Create(Path.Combine(path, "styleBorder.xlsx"));
            new StyleAlignment().Create(Path.Combine(path, "styleAlignment.xlsx"));
            new StyleNumberFormat().Create(Path.Combine(path, "styleNumberFormat.xlsx"));
            new StyleIncludeQuotePrefix().Create(Path.Combine(path, "styleIncludeQuotePrefix.xlsx"));

Automatinių filtrų naudojimas programoje Excel naudojant C#

„ClosedXML“ biblioteka apima visišką filtrų taikymo „Excel“ darbalapiuose palaikymą. Naudotojo patogumui bibliotekoje yra įvairių tipų filtrai. Galite taikyti filtrą konkrečiam diapazonui, taikyti filtrą vertėms ir sukurti savo pasirinktinius filtrus.

Kaip taikyti automatinius filtrus „Excel“ naudojant C#

public class DynamicAutoFilter : IXLExample
    {
        public void Create(string filePath)
        {
            var wb = new XLWorkbook();
            IXLWorksheet ws;
            #region Single Column Numbers
            String singleColumnNumbers = "Single Column Numbers";
            ws = wb.Worksheets.Add(singleColumnNumbers);
            // Add a bunch of numbers to filter
            ws.Cell("A1").SetValue("Numbers")
                         .CellBelow().SetValue(2)
                         .CellBelow().SetValue(3)
                         .CellBelow().SetValue(3)
                         .CellBelow().SetValue(5)
                         .CellBelow().SetValue(1)
                         .CellBelow().SetValue(4);
            // Add filters
            ws.RangeUsed().SetAutoFilter().Column(1).AboveAverage();
            // Sort the filtered list
            //ws.AutoFilter.Sort(1);
            #endregion
            #region Multi Column
            String multiColumn = "Multi Column";
            ws = wb.Worksheets.Add(multiColumn);
            ws.Cell("A1").SetValue("First")
             .CellBelow().SetValue("B")
             .CellBelow().SetValue("C")
             .CellBelow().SetValue("C")
             .CellBelow().SetValue("E")
             .CellBelow().SetValue("A")
             .CellBelow().SetValue("D");
            ws.Cell("B1").SetValue("Numbers")
                         .CellBelow().SetValue(2)
                         .CellBelow().SetValue(3)
                         .CellBelow().SetValue(3)
                         .CellBelow().SetValue(5)
                         .CellBelow().SetValue(1)
                         .CellBelow().SetValue(4);
            ws.Cell("C1").SetValue("Strings")
             .CellBelow().SetValue("B")
             .CellBelow().SetValue("C")
             .CellBelow().SetValue("C")
             .CellBelow().SetValue("E")
             .CellBelow().SetValue("A")
             .CellBelow().SetValue("D");
            // Add filters
            ws.RangeUsed().SetAutoFilter().Column(2).BelowAverage();
            // Sort the filtered list
            //ws.AutoFilter.Sort(3);
            #endregion
            using (var ms = new MemoryStream())
            {
                wb.SaveAs(ms);
                var workbook = new XLWorkbook(ms);
                #region Single Column Numbers
                //workbook.Worksheet(singleColumnNumbers).AutoFilter.Sort(1, XLSortOrder.Descending);
                #endregion
                #region Multi Column 
                //workbook.Worksheet(multiColumn).AutoFilter.Sort(3, XLSortOrder.Descending);
                #endregion
                workbook.SaveAs(filePath);
                ms.Close();
            }
        }
    }
 Lietuvių