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 :

  • Objet : L’objet à rechercher. Le type doit être int, double, DateTime, chaîne, booléen.
  • Cellule précédente : Cellule précédente avec le même objet. Ce paramètre peut être défini sur null si la recherche est effectuée depuis le début.
  • FindOptions: 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.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Opening the Excel file
Workbook workbook = new Workbook(sourceDir + "sampleFindingCellsContainingFormula.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Instantiate FindOptions Object
FindOptions findOptions = new FindOptions();
findOptions.LookInType = LookInType.Formulas;
// Finding the cell containing the specified formula
Cell cell = worksheet.Cells.Find("=SUM(A5:A10)", null, findOptions);
// Printing the name of the cell found after searching worksheet
System.Console.WriteLine("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 :

  • Valeur de recherche, les données ou la valeur à rechercher.
  • Cellule précédente, la dernière cellule qui contient la même valeur. Ce paramètre peut être défini sur null lors de la recherche depuis le début.
  • Options de recherche, les options de recherche.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Instantiate the workbook object
Workbook workbook = new Workbook(sourceDir + "sampleFindingDataOrFormulasUsingFindOptions.xlsx");
workbook.CalculateFormula();
// Get Cells collection
Cells cells = workbook.Worksheets[0].Cells;
// Instantiate FindOptions Object
FindOptions findOptions = new FindOptions();
// Create a Cells Area
CellArea ca = new CellArea();
ca.StartRow = 8;
ca.StartColumn = 2;
ca.EndRow = 17;
ca.EndColumn = 13;
// Set cells area for find options
findOptions.SetRange(ca);
// Set searching properties
findOptions.SearchBackward = false;
findOptions.SearchOrderByRows = true;
// Set the lookintype, you may specify, values, formulas, comments etc.
findOptions.LookInType = LookInType.Values;
// Set the lookattype, you may specify Match entire content, endswith, starwith etc.
findOptions.LookAtType = LookAtType.EntireContent;
// Find the cell with value
Cell cell = cells.Find(341, null, findOptions);
if (cell != null)
{
Console.WriteLine("Name of the cell containing the value: " + cell.Name);
}
else
{
Console.WriteLine("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.LookInType et FindOptions.LookAtType. 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.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate the workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Get Cells collection
Cells cells = workbook.Worksheets[0].Cells;
FindOptions opts = new FindOptions();
opts.LookInType = LookInType.Values;
opts.LookAtType = LookAtType.EntireContent;
// Find the cell with the input integer or double
Cell cell1 = cells.Find(205, null, opts);
if (cell1 != null)
{
Console.WriteLine("Name of the cell containing the value: " + cell1.Name);
}
else
{
Console.WriteLine("Record not found ");
}
// Find the cell with the input string
Aspose.Cells.Cell cell2 = cells.Find("Items A", null, opts);
if (cell2 != null)
{
Console.WriteLine("Name of the cell containing the value: " + cell2.Name);
}
else
{
Console.WriteLine("Record not found ");
}
// Find the cell containing with the input string
opts.LookAtType = LookAtType.Contains;
Cell cell3 = cells.Find("Data", null, opts);
if (cell3 != null)
{
Console.WriteLine("Name of the cell containing the value: " + cell3.Name);
}
else
{
Console.WriteLine("Record not found ");
}

Sujets avancés