1. Produkti
  2.   Izklājlapa
  3.   .NET
  4.   ClosedXML
 
  

Atvērtā pirmkoda .NET bibliotēka manipulēšanai ar Excel izklājlapām

ClosedXML ļauj lasīt, apstrādāt un rakstīt Microsoft Excel dokumentus

ClosedXML ir atvērtā koda C# API, kas paredzēta Microsoft Excel 2007+ (.xlsx, .xlsm) dokumentu lasīšanai, manipulēšanai un rakstīšanai. API ļauj izveidot Excel failus, neizmantojot Excel lietojumprogrammu, un lasīt failus, izmantojot uzlabotos līdzekļus.

Izmantojot API, varat veidot darbgrāmatas stilu, izmantojot fona krāsošanu un šūnu apmales. Programmā Excel varat pievienot, noņemt un pārvietot darblapas un pārvaldīt datu tipus.

Previous Next

Darba sākšana ar ClosedXML

Ieteicamais ClosedXML instalēšanas veids ir no NuGet. Lūdzu, izmantojiet šo komandu ātrākai instalēšanai.

Instalējiet ClosedXML no NuGet

 Install-Package ClosedXML

Izveidojiet jaunas darbgrāmatas bez maksas, izmantojot C#

CLosedXML ļauj C# .NET izstrādātājiem izveidot jaunas Excel darblapas. Varat izveidot tukšu darbgrāmatu, izmantojot XLWorkbook() metodi. Bibliotēkā ir iekļauti vairāki svarīgi līdzekļi darblapu dokumentu pārvaldībai. Tas ļauj darbgrāmatai pievienot darblapas, pievienot šūnas un kolonnas, piemērot stilus rindām un kolonnām, dzēst nevēlamās šūnas un daudz ko citu.

Izveidojiet jaunas darbgrāmatas, izmantojot .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");
}

Veidojiet Excel lapas, izmantojot C#

Atvērtā koda ClosedXML API ļauj programmatūras izstrādātājiem lietot stilus savām Excel lapām, izmantojot tikai dažas C# koda rindas. API ir bagātināta ar stila funkcijām, tostarp līdzināšanu, apmali, aizpildījumu, fontu, skaitļu formātu, rindu, kolonnu ieveidošanu un daudz ko citu. Bibliotēka arī ļauj lietotājiem mainīt stilu atbilstoši savām vajadzībām.

Kā lietot stilus Excel lapām, izmantojot C# bibliotēku


            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"));

Automātisko filtru izmantošana programmā Excel, izmantojot C#

ClosedXML bibliotēkā ir iekļauts pilnīgs atbalsts filtru lietošanai jūsu Excel darblapās. Lietotāja ērtībām bibliotēkā ir iekļauti dažāda veida filtri. Varat lietot filtru noteiktam diapazonam, lietot filtru vērtībām un izveidot arī savus pielāgotos filtrus.

Kā lietot automātiskos filtrus programmā Excel, izmantojot 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();
            }
        }
    }
 Latviski