Search Data using Original Values
Contents
[
Hide
]
Sometimes the value of the data is hidden because it is formatted in some way. For example, suppose cell D4 has formula =Sum(A1:A2) and its value is 20 but it is formatted as —, then the value 20 is hidden and cannot be found using Microsoft Excel find options. However, you can find it using Aspose.Cells for Python via .NET using LookInType.ORIGINAL_VALUES.
The following sample code illustrates the above point. It finds cell D4 which cannot be found using Microsoft Excel find options but Aspose.Cells can find it using LookInType.ORIGINAL_VALUES. Please read the comments inside the code for more information.
Python code to search data using original values
This file contains hidden or 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
from aspose.cells import FindOptions, LookAtType, LookInType, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create workbook object | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Add 10 in cell A1 and A2 | |
worksheet.cells.get("A1").put_value(10) | |
worksheet.cells.get("A2").put_value(10) | |
# Add Sum formula in cell D4 but customize it as --- | |
cell = worksheet.cells.get("D4") | |
style = cell.get_style() | |
style.custom = "---" | |
cell.set_style(style) | |
# The result of formula will be 20 but 20 will not be visible because the cell is formated as --- | |
cell.formula = "=Sum(A1:A2)" | |
# Calculate the workbook | |
workbook.calculate_formula() | |
# Create find options, we will search 20 using original values otherwise 20 will never be found because it is formatted as --- | |
options = FindOptions() | |
options.look_in_type = LookInType.ORIGINAL_VALUES | |
options.look_at_type = LookAtType.ENTIRE_CONTENT | |
foundCell = None | |
obj = 20 | |
# Find 20 which is Sum(A1:A2) and formatted as --- | |
foundCell = worksheet.cells.find(obj, foundCell, options) | |
# Print the found cell | |
print(foundCell) | |
# Save the workbook | |
workbook.save(dataDir + "output_out.xlsx") |
Console output generated by the sample code
Here is the console output of the above sample code.
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]