元の値を使用してデータを検索
Contents
[
Hide
]
データの値がある形式でフォーマットされているため、値が隠されていることがあります。たとえば、セルD4に式=Sum(A1:A2)があり、その値が20であるが、—としてフォーマットされている場合、値20は非表示であり、Microsoft Excelの検索オプションでは見つけることはできません。ただし、Aspose.Cellsを使用してLookInType.OriginalValuesを使用してそれを見つけることができます。
以下のサンプルコードは上記の点を説明しています。Microsoft Excelの検索オプションでは見つけることができないセルD4を見つけますが、Aspose.Cellsを使用してLookInType.OriginalValuesを使用してそれを見つけることができます。詳細については、コード内のコメントをお読みください。
Node.jsで元の値を使ったデータ検索コード例
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
const AsposeCells = require("aspose.cells.node"); | |
const path = require("path"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
// Create workbook object | |
const workbook = new AsposeCells.Workbook(); | |
// Access first worksheet | |
const 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 --- | |
const cell = worksheet.getCells().get("D4"); | |
let 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 formatted 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 --- | |
const options = new AsposeCells.FindOptions(); | |
options.setLookInType(AsposeCells.LookInType.OriginalValues); | |
options.setLookAtType(AsposeCells.LookAtType.EntireContent); | |
let foundCell = null; | |
const obj = 20; | |
// Find 20 which is Sum(A1:A2) and formatted as --- | |
foundCell = worksheet.getCells().find(obj, foundCell, options); | |
// Print the found cell | |
console.log(foundCell); | |
// Save the workbook | |
workbook.save(path.join(dataDir, "output_out.xlsx")); |
サンプルコードによって生成されたコンソール出力
上記のサンプルコードのコンソール出力は次の通りです。
Aspose.Cells.Cell [ D4; ValueType : IsNumeric; Value : ---; Formula:=SUM(A1:A2)]