Поиск данных с использованием исходных значений
Поиск данных с использованием исходных значений
Нижеприведенный образец кода иллюстрирует вышесказанное. Он находит ячейку D4, которая не может быть найдена с помощью параметров поиска в Microsoft Excel, но Aspose.Cells может найти ее, используя LookInType.ORIGINAL_VALUES. Пожалуйста, прочитайте комментарии внутри кода для получения дополнительной информации.
// 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"); |
Вывод в консоль
Вот вывод в консоль вышеуказанного образца кода.
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]