Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
=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 with LookInType.OriginalValues.
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.OriginalValues. Please read the comments inside the code for more information.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook object
Workbook workbook;
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Add 10 to cells A1 and A2
worksheet.GetCells().Get(u"A1").PutValue(10);
worksheet.GetCells().Get(u"A2").PutValue(10);
// Add a SUM formula in cell D4 but customize its format to ---
Cell cell = worksheet.GetCells().Get(u"D4");
Style style = cell.GetStyle();
style.SetCustom(u"---", true);
cell.SetStyle(style);
// The result of the formula will be 20, but 20 will not be visible because the cell is formatted as ---
cell.SetFormula(u"=Sum(A1:A2)");
// Calculate the workbook
workbook.CalculateFormula();
// Create find options; we will search for 20 using original values; otherwise 20 will never be found because it is formatted as ---
FindOptions options;
options.SetLookInType(LookInType::OriginalValues);
options.SetLookAtType(LookAtType::EntireContent);
Cell foundCell;
int32_t obj = 20;
// Find 20, which is Sum(A1:A2) and formatted as ---
foundCell = worksheet.GetCells().Find(obj, foundCell, options);
// Print the found cell
std::cout << foundCell.ToString().ToUtf8() << std::endl;
// Save the workbook
workbook.Save(outDir + u"output_out.xlsx");
Aspose::Cells::Cleanup();
}
Here is the console output of the above sample code.
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.