찾기 및 바꾸기

찾기 및 바꾸기 기능을 사용하면 스프레드시트에서 특정 내용을 빠르게 검색하고 바꿀 수 있습니다. 다양한 일치 옵션을 지원하므로 데이터를 효율적으로 처리할 수 있습니다.

아래 전체 플러그인 예제에서 찾기 및 바꾸기 패널을 열어 이 기능을 사용해 보세요.

플러그인 모드

설치

Shell
pnpm add @univerjs/find-replace @univerjs/sheets-find-replace

사용법

TypeScript
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import { UniverFindReplacePlugin } from '@univerjs/find-replace'import FindReplaceEnUS from '@univerjs/find-replace/locale/en-US'import { UniverSheetsFindReplacePlugin } from '@univerjs/sheets-find-replace'import '@univerjs/find-replace/lib/index.css'import '@univerjs/sheets-find-replace/facade'const univer = new Univer({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      FindReplaceEnUS,     ),  },})univer.registerPlugin(UniverFindReplacePlugin)univer.registerPlugin(UniverSheetsFindReplacePlugin)

모바일 지원

먼저 모바일 에디터를 구성하세요. 이 페이지의 플러그인 모드 초기화 코드에서 아래 데스크톱 등록을 같은 패키지의 모바일 버전으로 바꾸고 문서를 열기 전에 완료하세요. 모델 플러그인, 스타일, 언어 파일과 Facade 가져오기는 유지하며 두 버전을 동시에 등록하지 마세요.

패키지데스크톱 등록모바일 등록
@univerjs/find-replaceUniverFindReplacePluginUniverFindReplaceMobileUIPlugin
@univerjs/sheets-find-replaceUniverSheetsFindReplacePluginUniverSheetsFindReplaceMobileUIPlugin

프리셋 모드

설치

Shell
pnpm add @univerjs/preset-sheets-find-replace

사용법

TypeScript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'import { UniverSheetsFindReplacePreset } from '@univerjs/preset-sheets-find-replace'import UniverPresetSheetsFindReplaceEnUS from '@univerjs/preset-sheets-find-replace/locales/en-US'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-find-replace/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      UniverPresetSheetsCoreEnUS,      UniverPresetSheetsFindReplaceEnUS,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsFindReplacePreset(),   ],})

Facade API

전체 Facade API 타입 정의는 FacadeAPI에서 확인할 수 있습니다.

가져오기

플러그인 모드 참고

Facade 패키지를 수동으로 가져와야 하는 것은 플러그인 모드뿐입니다. 프리셋 모드에는 해당 Facade 패키지가 이미 포함되어 있으므로 추가로 가져올 필요가 없습니다.

TypeScript
import '@univerjs/sheets-find-replace/facade'

텍스트 검색기 만들기

univerAPI.createTextFinderAsync()는 텍스트 검색기를 만들고 FTextFinder 인스턴스를 반환합니다.

FTextFinder의 주요 멤버 메서드는 다음과 같습니다.

메서드설명
findAll현재 시트에서 일치하는 모든 셀을 가져옵니다. 현재 일치 셀은 마지막으로 일치한 셀입니다.
findNext현재 시트에서 다음으로 일치하는 셀이 있으면 해당 셀을 반환하고 현재 일치 셀을 그 셀로 이동합니다.
findPrevious현재 시트에서 이전에 일치하는 셀이 있으면 해당 셀을 반환하고 현재 일치 셀을 그 셀로 이동합니다.
getCurrentMatch현재 시트의 현재 일치 셀을 가져옵니다.
matchCaseAsync대/소문자 구분 옵션을 설정합니다. true이면 대/소문자를 구분하고, 그렇지 않으면 구분하지 않습니다.
matchEntireCellAsync셀 전체 일치 옵션을 설정합니다. true이면 셀 값 전체와 일치해야 하며, 그렇지 않으면 셀 값의 일부와 일치해도 됩니다.
matchFormulaTextAsync수식 텍스트 일치 옵션을 설정합니다. true이면 수식 텍스트를 대상으로 검색하고, 그렇지 않으면 값을 대상으로 검색합니다.
replaceAllWithAsync일치하는 모든 텍스트를 지정한 텍스트로 바꿉니다.
replaceWithAsync현재 일치하는 텍스트를 지정한 텍스트로 바꿉니다.
ensureCompleteAsync찾기 작업이 완료되도록 보장합니다. 특히 현재 시트가 변경된 경우 이 메서드를 사용해 찾기 작업이 완료되었는지 확인합니다.
TypeScript
// Assume the current sheet is empty sheet.const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Set some values to the range A1:D10.const fRange = fWorksheet.getRange('A1:D10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a text-finder to find the text '5'.const textFinder = await univerAPI.createTextFinderAsync('5')// Find all cells that contain the text '5'.const matchCells = textFinder.findAll()matchCells.forEach((cell) => {  cell.getA1Notation() // D2, C3, B4, A5})

이 가이드는 어떠셨나요?

© 2026 DreamNum Co., Ltd.