Datafiltrering

Autofilterdata

Autofiltrering är det snabbaste sättet att välja endast de poster från arbetsbladet som du vill visa i en lista. Autofilterfunktionen gör det möjligt för användare att filtrera poster i en lista enligt ett angivet kriterium. Filtrera baserat på text, nummer eller datum.

Autofilter i Microsoft Excel

För att aktivera autofilterfunktionen i Microsoft Excel:

  1. Klicka på den rubrikraden i en arbetsbok.
  2. Från menyn Data, välj Filter och sedan AutoFilter.

När du tillämpar ett autofilter på en arbetsbok visas filteromkopplare (svarta pilar) till höger om kolumnrubrikerna.

  1. Klicka på en filterpil för att se en lista över filteralternativ.

Några av autofilteralternativen är:

Alternativ Beskrivning
All Visa alla poster i listan en gång.
Custom Anpassa filterkriterier som innehåller/inte innehåller
Filter by Color Filter baserat på fyllningsfärg
Date Filters Filtrera rader baserat på olika kriterier på datum
Number Filters Olika typer av filter på nummer som jämförelse, medeltal och Topp 10 etc.
Text Filters Olika filter som börjar med, slutar med, innehåller osv.
Blanks/Non Blanks Dessa filter kan implementeras genom textfilter Tom

Användare filtrerar manuellt sina arbetsboksdata i Microsoft Excel med dessa alternativ.

Autofilter med Aspose.Cells for Python Excel Library

Aspose.Cells for Python via .NET tillhandahåller en klass, Arbetsbok, som representerar en Excel-fil. Arbetsboksklassen innehåller en Kalkylbladssamling som möjliggör åtkomst till varje kalkylblad i Excel-filen.

En arbetsbok representeras av klassen Worksheet. Worksheet-klassen tillhandahåller ett brett utbud av egenskaper och metoder för att hantera arbetsböcker. För att skapa ett autofilter, använd AutoFilter-egenskapen i Worksheet-klassen. AutoFilter-egenskapen är en instans av klassen AutoFilter, som ger Range-egenskapen för att ange den rad med celler som utgör en rubrikrad. Ett autofilter appliceras på cellområdet som är rubrikraden.

I varje arbetsbok kan du endast ange ett filterområde. Detta är begränsat av Microsoft Excel. För anpassad datafiltrering, använd AutoFilter.Custom-metoden.

I exemplet nedan har vi skapat samma autofilter med Aspose.Cells for Python via .NET som vi skapade med Microsoft Excel i avsnittet ovan.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(dataDir + "book1.xls")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Creating AutoFilter by giving the cells range of the heading row
worksheet.auto_filter.range = "A1:B1"
# Saving the modified Excel file
workbook.save(dataDir + "output.out.xls")

Olika typer av filter

Aspose.Cells for Python via .NET erbjuder flera alternativ för att tillämpa olika typer av filter som färgfilter, datorfilter, numeriskt filter, textfilter, tomma filter och icke-tomma filter.

Fyllfärg

Aspose.Cells for Python via .NET erbjuder en funktion för att lägga till fyllnadsfärgfilter för att filtrera data baserat på cellernas fyllnadsfärgsegenskap. I exemplet nedan används en mallfil som har olika fyllnadsfärger i den första kolumnen i arket för att testa färgfiltreringsfunktionen. Exempelfilerna kan laddas ner från följande länkar.

  1. ColouredCells.xlsx
  2. FilteredColouredCells.xlsx
from aspose.cells import BackgroundType, Workbook
from aspose.pydrawing import Color
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "ColouredCells.xlsx")
# Instantiating a CellsColor object for foreground color
clrForeground = workbook.create_cells_color()
clrForeground.color = Color.red
# Instantiating a CellsColor object for background color
clrBackground = workbook.create_cells_color()
clrBackground.color = Color.white
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call AddFillColorFilter function to apply the filter
worksheet.auto_filter.add_fill_color_filter(0, BackgroundType.SOLID, clrForeground, clrBackground)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredColouredCells.xlsx")
Datum

Olika typer av datumsfilter kan implementeras för att filtrera alla rader med datum i januari 2018. Följande exempelkod demonstrerar detta filter using AddDateFilter-funktionen. Exempelfiler ges nedan.

  1. Date.xlsx
  2. FilteredDate.xlsx
from aspose.cells import DateTimeGroupingType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Date.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call AddDateFilter function to apply the filter
worksheet.auto_filter.add_date_filter(0, DateTimeGroupingType.MONTH, 2018, 1, 0, 0, 0, 0)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredDate.xlsx")
Dynamiskt datum

Ibland krävs dynamiska filter baserat på datum som alla celler med datum i januari oavsett år. I detta fall används DynamicFilter-funktionen enligt det följande exempelkodet. Exempelfiler ges nedan.

  1. Date.xlsx
  2. FilteredDynamicDate.xlsx
from aspose.cells import DynamicFilterType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Date.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call DynamicFilter function to apply the filter
worksheet.auto_filter.dynamic_filter(0, DynamicFilterType.JANUARY)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredDynamicDate.xlsx")
Nummer

Anpassade filter kan användas med Aspose.Cells for Python via .NET såsom att välja celler som har nummer mellan en given omfattning. Följande exempel demonstrerar användningen av Custom() funktionen för att filtrera nummer. Exempelfiler ges nedan.

  1. Number.xlsx
  2. FilteredNumber.xlsx
from aspose.cells import FilterOperatorType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Number.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call Custom function to apply the filter
worksheet.auto_filter.custom(0, FilterOperatorType.GREATER_OR_EQUAL, 5, True, FilterOperatorType.LESS_OR_EQUAL, 10)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredNumber.xlsx")
Text

Om en kolumn innehåller text och celler ska väljas som innehåller särskild text, kan Filter-funktionen användas. I följande exempel, innehåller mallfilen en lista över länder och en rad ska väljas som innehåller ett visst landsnamn. Följande kod demonstrerar filtrering av text. Exempelfiler ges nedan.

  1. Text.xlsx
  2. FilteredText.xlsx
from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Text.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call Filter function to apply the filter
worksheet.auto_filter.filter(0, "Angola")
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredText.xlsx")
Tomma

Om en kolumn innehåller text så att några celler är tomma och det krävs ett filter för att välja de rader där tomma celler finns, kan MatchBlanks-funktionen användas enligt nedan demonstrerat. Exempelfiler ges nedan.

  1. Tomma.xlsx
  2. FiltreradeTomma.xlsx
from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Blank.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call MatchBlanks function to apply the filter
worksheet.auto_filter.match_blanks(0)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredBlank.xlsx")
Ej tomma

När celler med text ska filtreras, använd MatchNonBlanks filterfunktion enligt nedan. Exempelfiler ges nedan.

  1. Tomma.xlsx
  2. FiltreradeEjTomma.xlsx
from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
# Source directory
sourceDir = RunExamples.Get_SourceDirectory()
# Output directory
outputDir = RunExamples.Get_OutputDirectory()
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(sourceDir + "Blank.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Call MatchNonBlanks function to apply the filter
worksheet.auto_filter.match_non_blanks(0)
# Call refresh function to update the worksheet
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "FilteredNonBlank.xlsx")
Anpassat filter med Innehåller

Excel tillhandahåller anpassade filter som filterrader som innehåller någon specifik sträng. Den här funktionen finns i Aspose.Cells for Python via .NET och demonstreras nedan genom att filtrera namnen i den angivna exempelfilen. Exempelfiler ges nedan.

  1. sourseSampleCountryNames.xlsx
  2. outSourseSampleCountryNames.xlsx.
from aspose.cells import FilterOperatorType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiating a Workbook object containing sample data
workbook = Workbook("sourseSampleCountryNames.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Creating AutoFilter by giving the cells range
worksheet.auto_filter.range = "A1:A18"
# Initialize filter for rows containing string "Ba"
worksheet.auto_filter.custom(0, FilterOperatorType.CONTAINS, "Ba")
# Refresh the filter to show/hide filtered rows
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save("outSourseSampleCountryNames.xlsx")
Anpassat filter med EjInnehåller

Excel tillhandahåller anpassade filter som filterrader som inte innehåller någon specifik sträng. Den här funktionen finns i Aspose.Cells for Python via .NET och demonstreras nedan genom att filtrera namnen i den angivna exempelfilen.

  1. sourseSampleCountryNames.xlsx.
from aspose.cells import FilterOperatorType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiating a Workbook object containing sample data
workbook = Workbook("sourseSampleCountryNames.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Creating AutoFilter by giving the cells range
worksheet.auto_filter.range = "A1:A18"
# Initialize filter for rows containing string "Ba"
worksheet.auto_filter.custom(0, FilterOperatorType.NOT_CONTAINS, "Be")
# Refresh the filter to show/hide filtered rows
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save("outSourseSampleCountryNames.xlsx")
Anpassat filter med BörjaMed

Excel tillhandahåller anpassade filter som filterrader som börjar med någon specifik sträng. Den här funktionen finns i Aspose.Cells for Python via .NET och demonstreras nedan genom att filtrera namnen i den angivna exempelfilen.

  1. sourseSampleCountryNames.xlsx.
from aspose.cells import FilterOperatorType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiating a Workbook object containing sample data
workbook = Workbook(sourceDir + "sourseSampleCountryNames.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Creating AutoFilter by giving the cells range
worksheet.auto_filter.range = "A1:A18"
# Initialize filter for rows starting with string "Ba"
worksheet.auto_filter.custom(0, FilterOperatorType.BEGINS_WITH, "Ba")
# Refresh the filter to show/hide filtered rows
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "outSourseSampleCountryNames.xlsx")
Anpassat filter med SlutaMed

Excel tillhandahåller anpassade filter som filterrader som slutar med någon specifik sträng. Den här funktionen finns i Aspose.Cells for Python via .NET och demonstreras nedan genom att filtrera namnen i den angivna exempelfilen.

  1. sourseSampleCountryNames.xlsx.
from aspose.cells import FilterOperatorType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiating a Workbook object containing sample data
workbook = Workbook(sourceDir + "sourseSampleCountryNames.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Creating AutoFilter by giving the cells range
worksheet.auto_filter.range = "A1:A18"
# Initialize filter for rows end with string "ia"
worksheet.auto_filter.custom(0, FilterOperatorType.BEGINS_WITH, "ia")
# Refresh the filter to show/hide filtered rows
worksheet.auto_filter.refresh()
# Saving the modified Excel file
workbook.save(outputDir + "outSourseSampleCountryNames.xlsx")

Fortsatta ämnen