Sök data med hjälp av ursprungliga värden
Contents
[
Hide
]
Ibland är datavärdet dolt eftersom det är formaterat på något sätt. Till exempel, anta att cell D4 har formeln =Sum(A1:A2) och dess värde är 20, men det är formaterat som —, då är värdet 20 dolt och kan inte hittas med hjälp av Microsoft Excels sökalternativ. Du kan dock hitta det med Aspose.Cells genom att använda LookInType.ORIGINAL_VALUES.
Sök data med originalvärden
Följande exemplarkod illustrerar ovanstående punkt. Den hittar cell D4 vilken inte kan hittas med Microsoft Excels sökalternativ men Aspose.Cells kan hitta den med LookInType.ORIGINAL_VALUES. Läs gärna kommentarerna i koden för mer information.
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"); |
Konsoloutput
Här är konsoloutputen från ovanstående exempelkod.
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]