Filformaten XLSX och XLS används ofta för att manipulera enorma data. På samma sätt används AutoFilters för att organisera data i Excel-filer. Med C# eller VB.NET kan du enkelt lägga till eller ta bort AutoFilter i Excel-filer med Aspose.Cells for .NET API. Filter kan användas för att kvantifiera vissa data för att extrahera viss meningsfull information. Till exempel vill en organisation filtrera månader med låg försäljning, för att utforma och förbättra sina strategier. I den här artikeln kommer vi att utforska datafiltrering med automatiska filter i C#:

C# VB .NET Lägg till eller ta bort AutoFilter i Excel-filer - API-installation

Aspose.Cells for .NET API låter dig effektivt arbeta med Excel-kalkylblad. Du kan skapa, redigera eller manipulera XLS, XLSX och andra format som stöds programmatiskt med minimal kod. Du kan ladda ner och installera MSI- eller ZIP-paketet från Nedladdningssektionen, eller helt enkelt installera det via NuGet-galleriet i din lösning. Du kan till exempel enkelt installera det i din miljö med följande kommando:

Install-Package Aspose.Cells -Version 20.9.0

Efter att ha installerat API framgångsrikt, låt oss fortsätta med några av de viktiga och användbara användningsfallen.

Använd AutoFilter på celler i Excel-filer med C#

Du kan använda AutoFilter på ett specifikt cellområde i Excel-filer. Detta gör att du kan sortera värdena i stigande eller fallande ordning samt andra nummerfilter när cellerna innehåller numeriska värden. Du måste följa följande steg för att använda AutoFilter i Excel-filer med C#:

  1. Öppna en Excel-fil och öppna Arbetsbladet
  2. Skapa AutoFilter genom att ange specifikt cellintervall
  3. Spara utdata XLS/XLSX-fil

Kodavsnittet visar hur man använder AutoFilter på celler i Excel-fil med C#:

// Instantiera ett arbetsboksobjekt
// Öppna Excel-filen genom filströmmen
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Åtkomst till det första kalkylbladet i Excel-filen
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Skapa AutoFilter genom att ge rubrikradens cellområde
worksheet.AutoFilter.Range = "A1:B1";

// Sparar den ändrade Excel-filen
workbook.Save(dataDir + "output.xlsx");

Du kan märka autofiltret som lagts till i käll XLSX-filen i skärmdumpen nedan:

AutoFilter-Excel-Csharp

Lägg till Date AutoFilter i XLSX med C#

Data i Excel-filer innehåller ofta information om datum. Ibland kan du behöva utforska information baserad på olika tidsperioder som kan identifieras av datumen. Låt oss till exempel överväga fallet där vi behöver filtrera data relaterade till januari 2018 och sedan måste du följa följande steg:

  1. Ladda inmatningsark
  2. Åtkomst till ett kalkylblad
  3. Lägg till datumfilter och spara utdatafilen

Följande kodexempel följer dessa steg och visar hur du lägger till Date AutoFilter i Excel-filer med C#:

// Instantiera ett arbetsboksobjekt
// Öppna Excel-filen genom filströmmen
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Åtkomst till det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Anrop AddDateFilter-funktionen för att tillämpa filtret
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Ring uppdateringsfunktionen för att uppdatera arbetsbladet
worksheet.AutoFilter.Refresh();

// Sparar den ändrade Excel-filen
workbook.Save(dataDir + "FilteredDate.xlsx");

Lägg till Dynamic Date AutoFilter i XLSX med C#

Som vi redan har diskuterat scenariot med att filtrera data baserat på datum. Datumscenariot kan dock vara lite mer generiskt också, i vissa scenarier. Till exempel behöver vi att uppgifterna filtreras bort för januari månad oavsett vilket år. Sådana krav kan enkelt hanteras med ett dynamiskt datumfilter genom att använda stegen nedan:

  1. Ladda indata XLSX-fil
  2. Få tillgång till ett arbetsblad
  3. Ställ in DynamicFilter för januari månad
  4. Spara utdata Excel-ark

Det här exemplet är en fortsättning på exemplet ovan, där kodavsnittet nedan visar hur man lägger till ett dynamiskt datum AutoFilter i en Excel-fil programmatiskt i C#:

// Instantiera ett arbetsboksobjekt
// Öppna Excel-filen genom filströmmen
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Åtkomst till det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Anrop DynamicFilter-funktionen för att tillämpa filtret
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Ring uppdateringsfunktionen för att uppdatera arbetsbladet
worksheet.AutoFilter.Refresh();

// Sparar den ändrade Excel-filen
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Använd anpassat nummer autofilter i XLSX med C#

Du kan filtrera data baserat på ett anpassat antal siffror med Aspose.Cells för .NET API. Till exempel när ett företag behöver få tillgång till hur många av dess anställda som har uppnått försäljningsmål. Likaså kan det finnas många möjligheter där denna filtreringsteknik kan hjälpa. Låt oss anta ett fall där vi behöver filtrera all data där siffrorna ligger inom intervallet 5 och 10 inklusive, då måste du följa stegen nedan:

  1. Instantiera ett Arbetsbok-objekt och ladda indatafilen
  2. Lägg till anpassat nummerfilter i ett specifikt kalkylblad
  3. Spara utdata Excel-fil

Baserat på dessa steg visar följande kod hur du lägger till anpassat nummer AutoFilter med C#:

// Instantiera ett arbetsboksobjekt
// Öppna Excel-filen genom filströmmen
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Åtkomst till det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Ring Anpassad funktion för att tillämpa filtret
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Ring uppdateringsfunktionen för att uppdatera arbetsbladet
worksheet.AutoFilter.Refresh();

// Sparar den ändrade Excel-filen
workbook.Save(dataDir + "FilteredNumber.xlsx");

Lägg till anpassat autofilter med innehåller med C#

Om du går ytterligare ett steg längre från AutoFilter för anpassat nummer, låt oss lära oss hur du lägger till Custom AutoFilter som kan användas för att spåra specifik text med hjälp av Innehåller filteroperatör. Det kan vara användbart att söka efter ord där någon text finns helt eller delvis i data. Du bör följa följande steg för att uppfylla dessa krav:

  1. Ladda indata Excel-fil med data
  2. Ange intervallet AutoFilter och FilterOperatorType
  3. Spara utdata XLSX-fil

Kodavsnittet nedan visar hur du lägger till Custom AutoFilter med Contains med C#:

// Instantiera ett arbetsboksobjekt som innehåller exempeldata
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Åtkomst till det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Skapa AutoFilter genom att ge cellerna intervall
worksheet.AutoFilter.Range = "A1:A18";

// Initiera filter för rader som innehåller strängen "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Uppdatera filtret för att visa/dölja filtrerade rader
worksheet.AutoFilter.Refresh();

// Sparar den ändrade Excel-filen
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Ta bort eller ta bort AutoFilter i Excel med C#

Eftersom vi har lärt oss olika scenarier för att lägga till AutoFilters i Excel-filer med C#, låt oss kolla omvänt. Användningsfallet för att ta bort eller ta bort autofiltren från Excel är lika viktigt och avgörande. Du måste följa stegen nedan för att ta bort alla autofilter från en XLSX-fil:

  1. Ladda indata XLSX-fil
  2. Iterera genom varje kalkylblad och ta bort AutoFilters
  3. Spara utdatafil

Följande kodavsnitt visar hur du tar bort autofilter från Excel-filer med C#:

// Instantiera ett arbetsboksobjekt
// Öppnar Excel-filen
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Iterera genom varje arbetsblad
foreach (var sheet in workbook.Worksheets)
{
    // Ta bort autofilter
    sheet.RemoveAutoFilter();
}
// Spara arbetsboken
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Slutsats

Aspose.Cells för .NET API erbjuder dig olika funktioner direkt. Att lägga till, ta bort eller ta bort ett autofilter med C# i .NET Framework är enkelt och enkelt. Vi har diskuterat flera möjligheter i detalj. Om du har några tvivel eller funderingar är du välkommen att kontakta oss på Free Support Forum.

Se även