Rechercher des données à l'aide des valeurs d'origine
Contents
[
Hide
]
Parfois, la valeur des données est masquée car elle est formatée d’une manière ou d’une autre. Par exemple, supposons que la cellule D4 ait la formule = Somme (A1: A2) et que sa valeur soit 20 mais qu’elle soit formatée comme —, alors la valeur 20 est masquée et ne peut pas être trouvée à l’aide des options de recherche Excel Microsoft. Cependant, vous pouvez le trouver en utilisant Aspose.Cells en utilisantLookInType.ORIGINAL_VALUES
Rechercher des données à l’aide des valeurs d’origine
L’exemple de code suivant illustre le point ci-dessus. Il trouve la cellule D4 qui ne peut pas être trouvée en utilisant les options de recherche Excel Microsoft mais Aspose.Cells peut la trouver en utilisantLookInType.ORIGINAL_VALUES. Veuillez lire les commentaires à l’intérieur du code pour plus d’informations.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String dataDir = Utils.getDataDir(SearchDataUsingOriginalValues.class); | |
// Create workbook object | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Add 10 in cell A1 and A2 | |
worksheet.getCells().get("A1").putValue(10); | |
worksheet.getCells().get("A2").putValue(10); | |
// Add Sum formula in cell D4 but customize it as --- | |
Cell cell = worksheet.getCells().get("D4"); | |
Style style = cell.getStyle(); | |
style.setCustom("---"); | |
cell.setStyle(style); | |
// The result of formula will be 20, but 20 will not be visible because the cell is formated as --- | |
cell.setFormula("=Sum(A1:A2)"); | |
// Calculate the workbook | |
workbook.calculateFormula(); | |
// Create find options, we will search 20 using. original values otherwise 20 will never be found,because it is formatted | |
// as | |
FindOptions options = new FindOptions(); | |
options.setLookInType(LookInType.ORIGINAL_VALUES); | |
options.setLookAtType(LookAtType.ENTIRE_CONTENT); | |
Cell foundCell = null; | |
Object obj = 20; | |
// Find 20 which is Sum(A1:A2) and formatted as --- | |
foundCell = worksheet.getCells().find(obj, foundCell, options); | |
// Print the found cell | |
System.out.println(foundCell); | |
// Save the workbook | |
workbook.save(dataDir + "output.xlsx"); |
Sortie console
Voici la sortie console de l’exemple de code ci-dessus.
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]