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 "); | |
} |