Acasă
» Cum să
»
Text curat din foaia de calcul cu o macrocomandă ONLYOFFICE reutilizabilă
Text curat din foaia de calcul cu o macrocomandă ONLYOFFICE reutilizabilă
Pentru curățarea repetabilă a foilor de calcul, creați o mică macrocomandă JavaScript în Editorul de foi de calcul, vizați doar intervalul de text pe care intenționați să îl modificați și testați-o mai întâi într-un registru de lucru duplicat. Exemplul de mai jos elimină caracterele neimprimabile și spațiile albe suplimentare dintr-o coloană de e-mail, păstrând în același timp fiecare rând la locul său.
Macrocomenzile ONLYOFFICE rulează în editor și utilizează API-ul său Office JavaScript. Documentația oficială descrie în continuare fluxul de lucru ca deschiderea meniului Vizualizare > Macrocomenzi , scrierea sau lipirea codului și rularea acestuia în editor; nicio modificare recentă identificată în documentația actuală nu modifică acest proces de bază. Macrocomenzia în sine este un script ilustrativ, reutilizabil, nu un raport al unui test software. Consultați ghidul de pornire rapidă pentru macrocomenzile ONLYOFFICE și referința filei Vizualizare editor foi de calcul .
Pregătiți o copie sigură și definiți curățarea
Să presupunem că un registru de lucru conține o listă de contacte cu un antet în rândul 1 și adrese de e-mail în coloana B, de la B2 la B500. Câteva valori importate pot conține sfârșituri de linie, tabulatori sau spații la început și la sfârșit. Acest exemplu curăță doar acea coloană de text. Ajustați intervalul pentru a se potrivi cu foaia dvs. înainte de a rula codul.
Salvați o copie separată a registrului de lucru sau duplicați foaia de lucru. Păstrați originalul intact până când verificați rezultatul.
Confirmați că intervalul selectat conține text brut, nu formule, ID-uri care se bazează pe spații sau date care trebuie să păstreze spațierea exactă.
Păstrați rândul de antet în afara intervalului. Macrocomanda nu detectează anteturile și nu decide ce coloane pot fi modificate în siguranță.
Folosește un interval specific coloanei, cum ar fi B2:B500, în loc de întregul interval utilizat. Curățarea fără discernământ a fiecărei celule poate modifica numele, adresele, codurile sau rezultatele formulelor în moduri neintenționate.
În această vizualizare ilustrativă a editorului, fila Vizualizare și comanda Macrocomenzi apar deasupra foii de lucru. Deschideți-o după ce creați o copie de lucru și confirmați ce coloană conține textul de curățat.
Deschideți editorul de macrocomenzi și adăugați scriptul
Deschideți registrul de lucru în editorul de foi de calcul ONLYOFFICE. Selectați Vizualizare > Macrocomenzi pentru a deschide editorul de macrocomenzi, apoi creați o macrocomandă sau înlocuiți codul inițial în editor. Macrocomenzile ONLYOFFICE utilizează sintaxa JavaScript și API-ul Office; nu sunt macrocomenzi VBA. Fluxul de lucru pentru macrocomenzi al editorului și metodele API acceptate sunt descrise în ghidul oficial introductiv pentru macrocomenzi .
Lipiți acest exemplu, apoi schimbați B2:B500la intervalul dvs. real, doar text:
(function () {
var sheet = Api.GetActiveSheet();
var range = sheet.GetRange("B2:B500");
var rows = range.GetValue();
var functions = Api.WorksheetFunction;
for (var i = 0; i < rows.length; i++) {
var value = rows[i][0];
if (typeof value === "string") {
value = functions.CLEAN(value);
rows[i][0] = value.replace(/^\s+|\s+$/g, "")
.replace(/\s{2,}/g, " ");
}
}
range.SetValue(rows);
})();
Macrocomanda citește intervalul într-un tablou bidimensional, procesează celulele de tip șir de caractere și scrie tabloul înapoi în același interval. CLEANelimină caracterele neimprimabile; cele două înlocuiri de expresii regulate elimină spațiile albe de la margini și reduc spațiile albe repetate din interiorul unui șir la un singur spațiu. Referința API confirmă că GetValuepoate returna un tablou bidimensional pentru un interval și că SetValueacceptă tablouri; referințele GetValue , SetValue și CLEAN documentează aceste apeluri.
Deoarece scriptul rescrie valorile, nu îl îndreptați către celulele care conțin formule: celulele formulei pot fi înlocuite cu valorile calculate curent. De asemenea, nu elimină înregistrările duplicate, nu standardizează scrierea cu majuscule, nu validează dacă o adresă este livrabilă și nu modifică formatele numerelor de telefon. Acestea sunt reguli de curățare separate și ar trebui proiectate și testate independent.
În această vizualizare ilustrativă a editorului de macrocomenzi, zona de cod și controlul Executare se află deasupra foii de calcul active. Scriptul de curățare al articolului folosește metodele documentate de citire și scriere a intervalului, prezentate aici ca exemplu API simplificat.
Rulați-l pe un interval controlat
Verificați încă o dată literalul intervalului. Dacă lista se termină la rândul 240, de exemplu, utilizați B2:B240 în loc să procesați sute de rânduri neutilizate.
Faceți clic pe Executare în editorul de macrocomenzi. Dacă editorul raportează o eroare de sintaxă, verificați ghilimelele, parantezele și acoladele înainte de a modifica intervalul sau de a adăuga mai multă logică.
Reveniți la foaia de lucru și inspectați mai multe celule, inclusiv o valoare care necesita curățare, o valoare deja în formatul corect și o celulă goală.
Pornirea cu un interval restrâns face efectul mai ușor de înțeles. Odată ce rezultatul este corect, puteți reutiliza macrocomanda pe o altă foaie, editând intervalul în mod deliberat. Nu presupuneți că o literă de coloană sau o limită de rând rămâne validă într-un alt registru de lucru.
Dacă comanda Macrocomenzi lipsește sau codul nu poate rula, verificați dacă macrocomenzile sunt activate în editor sau dezactivate de configurația aplicației gazdă. În editorul online, un administrator poate controla disponibilitatea macrocomenzilor; setările avansate ale editorului de foi de calcul ale produsului descriu opțiunile de macrocomenzi orientate către utilizator. Evitați activarea execuției automate pentru fișiere din surse necunoscute; rulați doar codul pe care îl înțelegeți.
Această foaie de contact ilustrativă prezintă un tip practic de date pentru o macrocomandă de curățare a textului, cu condiția ca intervalul selectat să conțină doar câmpul de text dorit și să excludă antetul.
Verificați rezultatul înainte de a reutiliza macrocomanda
Comparați coloana curățată cu copia originală, în loc să judecați succesul doar după aspect. Confirmați că fiecare e-mail negol se află încă pe același rând, că niciun contact nu a dispărut și că singurele diferențe sunt caracterele și spațierea pe care intenționați să le normalizați. Verificați un eșantion în partea de sus, mijloc și sfârșitul intervalului ales. Căutați un spațiu la începutul sau la sfârșitul unei valori dacă editorul dvs. îl face vizibil și inspectați valorile importate care conțineau anterior sfârșituri de linie sau caractere de control.
De asemenea, comparați numărul de rânduri și orice formule, filtre sau căutări dependente care utilizează coloana. Dacă rezultatul unei formule s-a modificat în mod neașteptat, anulați editarea sau restaurați copia de lucru; macrocomanda trebuie limitată la celulele de text brut. Pentru un registru de lucru mai mare sau critic pentru afacere, comparați coloana complet curățată cu copia de rezervă sau utilizați mai întâi o coloană de ieșire separată, astfel încât modificările să poată fi revizuite în continuare.
Această foaie ilustrativă plasează coloanele de e-mail originale și cele curățate una lângă alta, cu același număr de rânduri afișat; comparați valorile reale înainte de a vă baza pe coloana curățată.
Mențineți curățarea repetabilă
După ce prima rulare este corectă, salvați registrul de lucru astfel încât macrocomanda să rămână disponibilă în document, conform fluxului de lucru al editorului. Nu trebuie să se presupună că o macrocomandă stocată într-un registru de lucru apare automat în fiecare fișier nou. Pentru importurile recurente, păstrați un șablon curat sau o copie sursă protejată, documentați intervalul așteptat de macrocomanda și actualizați-l atunci când aspectul foii se modifică. Macrocomenzile ONLYOFFICE sunt utile pentru regulile de curățare deterministe; acestea nu pot decide dacă o valoare este corectă din punct de vedere factual sau dacă o modificare este potrivită pentru setul dvs. de date.
Modelul fiabil este simplu: păstrați o copie sursă, vizați un interval cunoscut, efectuați o transformare definită și comparați rezultatul înainte de a partaja sau importa datele în altă parte.