検索と置換
検索と置換機能は、スプレッドシート内の特定の内容をすばやく検索して置換するための機能です。さまざまな一致オプションをサポートし、データ処理の効率化に役立ちます。
以下のプラグインの総合サンプルで検索と置換パネルを開き、この機能を試せます。
プラグインモード
インストール
Shell
pnpm add @univerjs/find-replace @univerjs/sheets-find-replaceShell
npm install @univerjs/find-replace @univerjs/sheets-find-replaceShell
yarn add @univerjs/find-replace @univerjs/sheets-find-replaceShell
bun add @univerjs/find-replace @univerjs/sheets-find-replace使い方
TypeScript
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import { UniverFindReplacePlugin } from '@univerjs/find-replace'import FindReplaceJaJP from '@univerjs/find-replace/locale/ja-JP'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.JA_JP, locales: { [LocaleType.JA_JP]: mergeLocales( FindReplaceJaJP, ), },})univer.registerPlugin(UniverFindReplacePlugin)univer.registerPlugin(UniverSheetsFindReplacePlugin)モバイル対応
まずモバイルエディターを設定します。このページのプラグインモードの初期化コードで、以下のデスクトップ登録を同じパッケージのモバイル版に置き換え、文書を開く前に完了してください。モデル、スタイル、言語ファイル、Facade は維持し、両方を同時に登録しないでください。
| パッケージ | デスクトップの登録 | モバイルの登録 |
|---|---|---|
@univerjs/find-replace | UniverFindReplacePlugin | UniverFindReplaceMobileUIPlugin |
@univerjs/sheets-find-replace | UniverSheetsFindReplacePlugin | UniverSheetsFindReplaceMobileUIPlugin |
プリセットモード
インストール
Shell
pnpm add @univerjs/preset-sheets-find-replaceShell
npm install @univerjs/preset-sheets-find-replaceShell
yarn add @univerjs/preset-sheets-find-replaceShell
bun add @univerjs/preset-sheets-find-replace使い方
TypeScript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreJaJP from '@univerjs/preset-sheets-core/locales/ja-JP'import { UniverSheetsFindReplacePreset } from '@univerjs/preset-sheets-find-replace'import UniverPresetSheetsFindReplaceJaJP from '@univerjs/preset-sheets-find-replace/locales/ja-JP'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.JA_JP, locales: { [LocaleType.JA_JP]: mergeLocales( UniverPresetSheetsCoreJaJP, UniverPresetSheetsFindReplaceJaJP, ), }, presets: [ UniverSheetsCorePreset(), UniverSheetsFindReplacePreset(), ],})Facade API
完全な Facade API の型定義は FacadeAPI で確認できます。
インポート
プラグインモード注意
Facade パッケージの手動 import が必要なのはプラグインモードのみです。プリセットモードには対応する Facade パッケージが内蔵されているため、追加の import は不要です。
TypeScript
import '@univerjs/sheets-find-replace/facade'テキスト検索器の作成
univerAPI.createTextFinderAsync() はテキスト検索器を作成し、FTextFinder インスタンスを返します。
以下は FTextFinder の主なメソッドです。
| メソッド | 説明 |
|---|---|
| findAll | 現在のシートで一致したすべてのセルを取得します。現在の一致セルは最後に見つかったセルになります。 |
| findNext | 現在のシートの次の一致セルを取得します。存在する場合は次の一致セルを返し、現在の一致セルを次の一致セルに移動します。 |
| findPrevious | 現在のシートの前の一致セルを取得します。存在する場合は前の一致セルを返し、現在の一致セルを前の一致セルに移動します。 |
| getCurrentMatch | 現在のシートの現在の一致セルを取得します。 |
| matchCaseAsync | 大文字小文字の一致オプションを設定します。true の場合は大文字小文字を区別して検索し、false の場合は区別しません。 |
| matchEntireCellAsync | セル全体一致オプションを設定します。true の場合はセルの値全体と一致させ、false の場合は部分一致を許可します。 |
| matchFormulaTextAsync | 数式テキストの一致オプションを設定します。true の場合は数式テキストと一致させ、false の場合は値と一致させます。 |
| replaceAllWithAsync | 一致したすべてのテキストを指定されたテキストに置換します。 |
| replaceWithAsync | 現在の一致テキストを指定されたテキストに置換します。 |
| ensureCompleteAsync | 検索操作が完了していることを確認します。特に現在のシートが変更された場合は、このメソッドで検索操作の完了を保証してください。 |
TypeScript
// 現在のシートが空であると仮定します。const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// 範囲 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],])// テキスト '5' を検索するテキストファインダーを作成します。const textFinder = await univerAPI.createTextFinderAsync('5')// テキスト '5' を含むすべてのセルを見つけます。const matchCells = textFinder.findAll()matchCells.forEach((cell) => { cell.getA1Notation() // 例: D2, C3, B4, A5})このガイドはいかがですか?