Trouver ou rechercher des données

Recherche de cellules contenant des données spécifiées

Utilisation de Microsoft Excel

Microsoft Excel permet aux utilisateurs de trouver des cellules dans une feuille de calcul contenant des données spécifiées. Si vous sélectionnez Modifier dans le menu Rechercher de Microsoft Excel, vous verrez une boîte de dialogue où vous pouvez spécifier la valeur de recherche.

Ici, nous recherchons la valeur “Oranges”. Aspose.Cells permet également aux développeurs de trouver des cellules dans la feuille de calcul contenant des valeurs spécifiées.

Utilisation d’Aspose.Cells

Aspose.Cells fournit une classe, Workbook, qui représente un fichier Microsoft Excel. La classe Workbook contient une collection worksheets qui permet d’accéder à chaque feuille de calcul du fichier Excel. Une feuille de calcul est représentée par la classe Worksheet. La classe Worksheet fournit une collection cells qui représente toutes les cellules de la feuille de calcul. La collection cells propose plusieurs méthodes pour trouver des cellules dans une feuille de calcul contenant des données spécifiées. Quelques-unes de ces méthodes sont discutées ci-dessous en détail.

Recherche de cellules contenant une formule

Les développeurs peuvent trouver une formule spécifiée dans la feuille de calcul en appelant la méthode cells de la collection find. En général, la méthode find accepte trois paramètres :

  • qu’est-ce que: L’objet à rechercher. Le type doit être int, double, DateTime, string, bool.
  • cellule_précédente: Cellule précédente avec le même objet. Ce paramètre peut être défini sur null s’il s’agit d’une recherche depuis le début.
  • options_de_recherche: Options pour trouver l’objet requis.

Les exemples ci-dessous utilisent les données de la feuille de calcul pour apprendre les méthodes de recherche.

from aspose.cells import FindOptions, LookInType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Opening the Excel file
workbook = Workbook(sourceDir + "sampleFindingCellsContainingFormula.xlsx")
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Instantiate FindOptions Object
findOptions = FindOptions()
findOptions.look_in_type = LookInType.FORMULAS
# Finding the cell containing the specified formula
cell = worksheet.cells.find("=SUM(A5:A10)", None, findOptions)
# Printing the name of the cell found after searching worksheet
print("Name of the cell containing formula: " + cell.name)

Recherche de données ou de formules à l’aide de FindOptions

Il est possible de trouver des valeurs spécifiées en utilisant la méthode find de la collection cells avec divers FindOptions. En général, la méthode find accepte les paramètres suivants :

  • qu’est-ce que:, les données ou la valeur à rechercher.
  • cellule_précédente, la dernière cellule qui contenait la même valeur. Ce paramètre peut être défini sur null lors d’une recherche depuis le début.
  • find_options, les options de recherche.
from aspose.cells import CellArea, FindOptions, LookAtType, LookInType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiate the workbook object
workbook = Workbook(sourceDir + "sampleFindingDataOrFormulasUsingFindOptions.xlsx")
workbook.calculate_formula()
# Get Cells collection
cells = workbook.worksheets[0].cells
# Instantiate FindOptions Object
findOptions = FindOptions()
# Create a Cells Area
ca = CellArea()
ca.start_row = 8
ca.start_column = 2
ca.end_row = 17
ca.end_column = 13
# Set cells area for find options
findOptions.set_range(ca)
# Set searching properties
findOptions.search_backward = False
findOptions.seach_order_by_rows = True
# Set the lookintype, you may specify, values, formulas, comments etc.
findOptions.look_in_type = LookInType.VALUES
# Set the lookattype, you may specify Match entire content, endswith, starwith etc.
findOptions.look_at_type = LookAtType.ENTIRE_CONTENT
# Find the cell with value
cell = cells.find(341, None, findOptions)
if cell != None:
print("Name of the cell containing the value: " + cell.name)
else:
print("Record not found ")

Recherche des cellules contenant une valeur de chaîne spécifiée ou un nombre.

Il est possible de trouver des valeurs de chaîne spécifiées en appelant la même méthode find trouvée dans la collection cells avec divers FindOptions.

Spécifiez les propriétés FindOptions.look_in_type et FindOptions.look_at_type. L’exemple de code suivant illustre comment utiliser ces propriétés pour trouver des cellules avec un nombre varié de chaînes au début ou au centre ou à la fin de la chaîne de la cellule.

from aspose.cells import FindOptions, LookAtType, LookInType, 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(".")
# Instantiate the workbook object
workbook = Workbook(dataDir + "book1.xls")
# Get Cells collection
cells = workbook.worksheets[0].cells
opts = FindOptions()
opts.look_in_type = LookInType.VALUES
opts.look_at_type = LookAtType.ENTIRE_CONTENT
# Find the cell with the input integer or double
cell1 = cells.find(205, None, opts)
if cell1 != None:
print("Name of the cell containing the value: " + cell1.name)
else:
print("Record not found ")
# Find the cell with the input string
cell2 = cells.find("Items A", None, opts)
if cell2 != None:
print("Name of the cell containing the value: " + cell2.name)
else:
print("Record not found ")
# Find the cell containing with the input string
opts.look_at_type = LookAtType.CONTAINS
cell3 = cells.find("Data", None, opts)
if cell3 != None:
print("Name of the cell containing the value: " + cell3.name)
else:
print("Record not found ")

Sujets avancés