Det här ämnet ger dig nödvändig information om hur du filtrerar data i Excel-tabellen med C#. Exempelkoden visar hur man lägger till filter i Excel med C# i filen XLSX. Dessutom kan du skapa dynamiska filter i Excel-kalkylblad med C# i några enkla steg.
Steg för att filtrera data i Excel-tabell med C#
- Skaffa paketet Aspose.Cells for .NET från NuGet.org
- Importera namnområdet Aspose.Cells till projektet
- Instantiera och ställ in License-objekt med SetLicense-metoden
- Skapa en Workbook från början
- Infoga data i det första kalkylbladet i arbetsboken
- Ställ in AutoFilter intervall och lägg till anpassad filtrering
- Spara filtrerad data till XLSX-fil
Att filtrera data dynamiskt innebär att endast visa de poster som skulle täcka vissa kriterier. Om du bara vill få poster för specifik frukt (druvor i det här fallet), visar det här exemplet Excels autofilterfunktion och hjälper dig att förstå hur du använder anpassade filter i Excel i C#.
Exempelkod för att filtrera data i Excel-tabell med C#
using System; | |
using Aspose.Cells; | |
namespace FilterDataInExcelTable | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Create License object and set it at the start before using any other APIs | |
Aspose.Cells.License Aspose_Cells_lic = new Aspose.Cells.License(); | |
Aspose_Cells_lic.SetLicense("Aspose.Cells.lic"); | |
//Create an empty Excel workbook | |
Workbook FilteringDataWorkbook = new Workbook(); | |
//Get the worksheet at first indexed position in the workbook - default worksheet | |
Worksheet FilteringDataSheet = FilteringDataWorkbook.Worksheets[0]; | |
//Obtain the cells collection from the first sheet | |
Cells FilteringDataCells = FilteringDataSheet.Cells; | |
//Put data/values into the cells for the table | |
FilteringDataCells["A1"].PutValue("Fruits"); | |
FilteringDataCells["B1"].PutValue("Total"); | |
FilteringDataCells["A2"].PutValue("Blueberries"); | |
FilteringDataCells["B2"].PutValue(2500); | |
FilteringDataCells["A3"].PutValue("Apples"); | |
FilteringDataCells["B3"].PutValue(1100); | |
FilteringDataCells["A4"].PutValue("Mangoes"); | |
FilteringDataCells["B4"].PutValue(1500); | |
FilteringDataCells["A5"].PutValue("Grapes"); | |
FilteringDataCells["B5"].PutValue(1200); | |
FilteringDataCells["A6"].PutValue("Oranges"); | |
FilteringDataCells["B6"].PutValue(3000); | |
FilteringDataCells["D1"].PutValue("Count:"); | |
//Specify formula to E1 cell - this formula would give you count | |
FilteringDataCells["E1"].Formula = "=SUBTOTAL(2,B1:B6)"; | |
//Set the range to which the specified autofilters would be applied | |
FilteringDataSheet.AutoFilter.Range = "A1:B6"; | |
//Now add your desired filter to first column to select your desired data | |
FilteringDataSheet.AutoFilter.AddFilter(0, "Grapes"); | |
FilteringDataSheet.AutoFilter.Refresh(); | |
//Save Excel XLSX file | |
FilteringDataWorkbook.Save("FilteredData.xlsx"); | |
} | |
} | |
} |
Kodsegmentet (ovan) instansierar en tom arbetsbok och infogar sedan data i ett cellintervall i det första kalkylbladet. C#-koden ställer in Excel autofilterintervall; det lägger till eller tillämpar anpassat filter i excel-kalkylblad. Slutligen sparar den filtrerade data till XLSX-fil på disken. Du kanske också är intresserad av ämnet hur man skapar Excel cirkeldiagram i C#.