Open Source .NET knihovna pro manipulaci s tabulkami Excel
ClosedXML umožňuje číst, manipulovat a psát dokumenty Microsoft Excel
ClosedXML je open source C# API pro čtení, manipulaci a zápis dokumentů Microsoft Excel 2007+ (.xlsx, .xlsm). Rozhraní API vám umožňuje vytvářet soubory aplikace Excel bez použití aplikace Excel a číst soubory pomocí vylepšených funkcí.
Pomocí rozhraní API můžete upravit styl sešitů pomocí obarvení pozadí a ohraničení buněk. V Excelu můžete přidávat, odebírat a přesouvat své listy a spravovat datové typy.
Začínáme s ClosedXML
Doporučený způsob instalace ClosedXML je z NuGet, použijte prosím následující příkaz pro rychlejší instalaci.
Nainstalujte ClosedXML z NuGet
Install-Package ClosedXML
Vytvářejte zdarma nové sešity pomocí C#
CLosedXML umožňuje vývojářům C# .NET vytvořit nové excelové listy. Můžete vytvořit prázdný sporák pomocí metody XLWorkbook(). Knihovna obsahuje několik důležitých funkcí pro správu dokumentů pracovního listu. Umožňuje přidat pracovní listy ve vašem kuchaři, přidávat buňky a sloupce, aplikovat styly na řádky a sloupce, odstranit nežádoucí buňky a mnoho dalšího.
Vytvořit nové kuchařky přes .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");
}
Styly tabulek Excelu pomocí C#
Open source ClosedXML API umožňuje vývojářům softwaru aplikovat styly na jejich excelové listy pomocí pouhých několika řádků kódu C#. Rozhraní API je obohaceno o funkce stylů včetně zarovnání, ohraničení, výplně, písma, formátu čísel, stylingu řádků, sloupců a dalších. Knihovna také umožňuje uživatelům měnit styl podle svých potřeb.
Jak aplikovat styly do Excelových listů přes C# knihovna
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"));
Použití automatických filtrů v Excelu pomocí C#
ClosedXML knihovna obsahuje kompletní podporu pro použití filtrů uvnitř vašich excelových pracovních listů. Knihovna obsahuje různé typy filtrů pro pohodlí uživatele. Můžete použít filtr na konkrétní rozsah, aplikovat filtr na hodnoty a vytvořit vlastní vlastní vlastní filtry.
Jak aplikovat automatické filtry v aplikaci Excel prostřednictvím 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();
}
}
}