Web SDK

Поиск и замена

Функция поиска и замены позволяет быстро находить и заменять нужное содержимое в электронных таблицах. Различные параметры совпадения помогают эффективно обрабатывать данные.

Откройте панель поиска и замены в полном примере с плагинами ниже, чтобы попробовать эту функцию.

Режим плагина

Установка

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 доступны в справочнике Facade API.

Импорт

Примечание о режиме плагина

Импортировать пакет 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.