# 데이터 검색

## Content

위젯에서 문자열을 검색할 때, 대소문자 구분, 정확히 일치 여부, 와일드카드 사용, 셀 범위, 검색 순서 등 다양한 검색 옵션을 지정할 수 있습니다. [search](/spreadjs/api/classes/GC.Spread.Sheets.Worksheet#search) 메서드와 [SearchCondition](/spreadjs/api/classes/GC.Spread.Sheets.Search.SearchCondition) 클래스를 사용하면 셀의 텍스트, 태그, 주석, 값 또는 수식 등을 검색할 수 있습니다.
또한, `SearchFoundFlags` 열거형을 통해 검색 대상 범위를 지정할 수 있으며, 셀 값, 수식, 태그, 주석 내에서 검색할 수 있도록 여러 플래그 옵션이 제공됩니다.

> **참고 사항**
>
> * 검색 시 `SearchFlags`와 `SearchOrder`에 정의된 규칙을 따릅니다.
> * 주석을 검색 대상으로 지정한 경우, **주석 내부의 텍스트**가 검색 대상이 됩니다.
> * SpreadJS에서는 주석의 **텍스트와 사용자 이름** 모두 검색 대상에 포함됩니다.

아래 코드는 검색 대상이 셀 주석일 경우 문자열을 검색하는 예제를 보여줍니다. 검색 조건에 따라 검색 대상을 변경할 수 있습니다.

```javascript
var sheet = spread.getSheet(0);
sheet.getCell(2,3).value("user");

// 주석 추가
var comment = new GC.Spread.Sheets.Comments.Comment();
comment.text("user comment!");

// 주석 검색
var searchCondition = new GC.Spread.Sheets.Search.SearchCondition();
searchCondition.searchString = "user";
searchCondition.startSheetIndex = spread.getActiveSheetIndex();
searchCondition.endSheetIndex = spread.getActiveSheetIndex();
searchCondition.searchOrder = GC.Spread.Sheets.Search.SearchOrder.nOrder;

// searchTarget은 셀 주석
searchCondition.searchTarget = GC.Spread.Sheets.Search.SearchFoundFlags.cellComment;

// searchTarget은 셀의 텍스트
// searchCondition.searchTarget = GC.Spread.Sheets.Search.SearchFoundFlags.CellText; 

searchCondition.searchFlags = GC.Spread.Sheets.Search.SearchFlags.ignoreCase | GC.Spread.Sheets.Search.SearchFlags.useWildCards;
var searchresult = spread.search(searchCondition);
var str = "[searchFoundFlag:" + searchresult.searchFoundFlag + ",\r\n foundSheetIndex:" + searchresult.foundSheetIndex + ",foundRowIndex:" +
searchresult.foundRowIndex + ", foundColumnIndex:" + searchresult.foundColumnIndex + ", foundComment:" + searchresult.foundString + "]";
console.log(str);
```

## 디자이너 사용하기

Spread 디자이너에서는 **찾기 및 바꾸기(Find and Replace)** 대화 상자를 통해 값, 셀 태그, 수식, 셀 주석을 기준으로 문자열을 검색할 수 있습니다. 다음 단계에 따라 사용할 수 있습니다:

1. **홈** 탭에 **찾기** 버튼을 클릭합니다.
2. 찾기 및 바꾸기 대화 상자가 나타납니다.
3. 대화 상자에서 **옵션>>** 버튼을 클릭합니다.
4. **찾는 위치** 드롭다운을 클릭한 후, 검색 조건에 따라 원하는 항목을 선택합니다.

아래 이미지는 다양한 옵션으로 검색을 수행할 수 있는 **찾기 및 바꾸기(Find and Replace)** 대화 상자를 보여줍니다.
![image](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/9c3d6948-546a-4e49-bd0d-d1a9991a1a68/image.e72918.png)