Rechercher et remplacer
La fonctionnalité Rechercher et remplacer permet de rechercher rapidement un contenu précis dans une feuille de calcul et de le remplacer. Plusieurs options de correspondance facilitent le traitement efficace des données.
Ouvrez le panneau de recherche et de remplacement dans l’exemple complet de plugins ci-dessous pour essayer cette fonctionnalité.
Mode plugin
Installation
pnpm add @univerjs/find-replace @univerjs/sheets-find-replacenpm install @univerjs/find-replace @univerjs/sheets-find-replaceyarn add @univerjs/find-replace @univerjs/sheets-find-replacebun add @univerjs/find-replace @univerjs/sheets-find-replaceUtilisation
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)Prise en charge mobile
Configurez d’abord l’éditeur mobile. Dans l’initialisation en mode plugin de cette page, remplacez les inscriptions de bureau ci-dessous par les exports mobiles des mêmes paquets avant d’ouvrir un document. Conservez modèles, styles, traductions et imports Facade ; n’enregistrez pas les deux variantes.
| Paquet | Inscription de bureau | Inscription mobile |
|---|---|---|
@univerjs/find-replace | UniverFindReplacePlugin | UniverFindReplaceMobileUIPlugin |
@univerjs/sheets-find-replace | UniverSheetsFindReplacePlugin | UniverSheetsFindReplaceMobileUIPlugin |
Mode prédéfini
Installation
pnpm add @univerjs/preset-sheets-find-replacenpm install @univerjs/preset-sheets-find-replaceyarn add @univerjs/preset-sheets-find-replacebun add @univerjs/preset-sheets-find-replaceUtilisation
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(), ],})API Facade
Les définitions de types complètes de l’API Facade sont disponibles dans la FacadeAPI.
Importation
Remarque sur le mode plugin
Seul le mode plugin nécessite d’importer manuellement le package Facade. Le mode prédéfini inclut déjà le package Facade correspondant : aucun import supplémentaire n’est nécessaire.
import '@univerjs/sheets-find-replace/facade'Créer un outil de recherche de texte
univerAPI.createTextFinderAsync() crée un outil de recherche de texte et renvoie une instance de FTextFinder.
Voici quelques méthodes de FTextFinder :
| Méthode | Description |
|---|---|
| findAll | Récupère toutes les cellules correspondantes de la feuille active ; la cellule actuellement sélectionnée est la dernière correspondance. |
| findNext | Récupère la correspondance suivante dans la feuille active. Si elle existe, la méthode la renvoie et en fait la correspondance active. |
| findPrevious | Récupère la correspondance précédente dans la feuille active. Si elle existe, la méthode la renvoie et en fait la correspondance active. |
| getCurrentMatch | Récupère la correspondance active dans la feuille active. |
| matchCaseAsync | Définit l’option de respect de la casse. Si elle vaut true, la recherche respecte la casse ; sinon, elle l’ignore. |
| matchEntireCellAsync | Définit l’option de correspondance avec la cellule entière. Si elle vaut true, la recherche porte sur toute la valeur de la cellule ; sinon, elle peut correspondre à une partie de cette valeur. |
| matchFormulaTextAsync | Définit l’option de correspondance avec le texte des formules. Si elle vaut true, la recherche porte sur le texte des formules ; sinon, elle porte sur les valeurs. |
| replaceAllWithAsync | Remplace toutes les occurrences correspondantes par le texte indiqué. |
| replaceWithAsync | Remplace l’occurrence active par le texte indiqué. |
| ensureCompleteAsync | Vérifie que la recherche est terminée. Utilisez notamment cette méthode après un changement de feuille active. |
// 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})Que pensez-vous de ce guide ?