Bereinigen Sie Tabellenkalkulationstext mit einem wiederverwendbaren ONLYOFFICE-Makro.

Für wiederholbare Tabellenbereinigungen erstellen Sie ein kleines JavaScript-Makro im Tabelleneditor, das nur den zu ändernden Textbereich auswählt, und testen es zunächst in einer Kopie der Arbeitsmappe. Das folgende Beispiel entfernt nicht druckbare Zeichen und überflüssige Leerzeichen aus einer E-Mail-Spalte, wobei alle Zeilen erhalten bleiben.

ONLYOFFICE-Makros werden im Editor ausgeführt und nutzen dessen Office JavaScript API. Die offizielle Dokumentation beschreibt den Arbeitsablauf weiterhin als Öffnen von „Ansicht > Makros“ , Schreiben oder Einfügen von Code und Ausführen im Editor. An diesem grundlegenden Vorgehen hat sich durch die aktuelle Dokumentation nichts geändert. Das Makro selbst ist ein veranschaulichendes, wiederverwendbares Skript und kein Testbericht. Siehe die ONLYOFFICE-Makro-Schnellstartanleitung und die Referenz zur Registerkarte „Ansicht“ des Tabellenkalkulations-Editors .

Erstellen Sie eine Sicherungskopie und legen Sie die Bereinigungsmaßnahmen fest.

Angenommen, eine Arbeitsmappe enthält eine Kontaktliste mit einer Kopfzeile in Zeile 1 und E-Mail-Adressen in Spalte B (B2 bis B500). Einige importierte Werte können Zeilenumbrüche, Tabulatoren oder führende und nachfolgende Leerzeichen enthalten. Dieses Beispiel bereinigt nur diese eine Textspalte. Passen Sie den Bereich an Ihr Tabellenblatt an, bevor Sie den Code ausführen.

  • Speichern Sie eine separate Kopie der Arbeitsmappe oder duplizieren Sie das Arbeitsblatt. Bewahren Sie das Original unverändert auf, bis Sie die Ergebnisse überprüft haben.
  • Stellen Sie sicher, dass der ausgewählte Bereich reinen Text und keine Formeln, IDs, die auf Leerzeichen basieren, oder Daten enthält, bei denen die exakten Abstände beibehalten werden müssen.
  • Die Kopfzeile darf nicht in den Bereich einbezogen werden. Das Makro erkennt keine Kopfzeilen und entscheidet nicht, welche Spalten gefahrlos geändert werden können.

Verwenden Sie einen spaltenspezifischen Bereich wie B2:B500 anstelle des gesamten verwendeten Bereichs. Das wahllose Bereinigen aller Zellen kann Namen, Adressen, Codes oder Formelergebnisse auf unerwünschte Weise verändern.

Illustrative Tabellenkalkulationsoberfläche mit ausgewähltem Reiter „Ansicht“ und dem Befehl „Makros“ über einem Beispielarbeitsblatt.
In dieser beispielhaften Editoransicht werden die Registerkarte „Ansicht“ und der Befehl „Makros“ über dem Arbeitsblatt angezeigt. Öffnen Sie diese Ansicht, nachdem Sie eine Arbeitskopie erstellt und die Spalte mit dem zu bereinigenden Text ermittelt haben.

Öffnen Sie den Makro-Editor und fügen Sie das Skript hinzu.

Öffnen Sie die Arbeitsmappe im ONLYOFFICE Tabelleneditor. Wählen Sie „Ansicht“ > „Makros“ , um den Makro-Editor zu öffnen, und erstellen Sie anschließend ein Makro oder ersetzen Sie den vorhandenen Code. ONLYOFFICE-Makros verwenden JavaScript-Syntax und die Office-API; es handelt sich nicht um VBA-Makros. Der Makro-Workflow des Editors und die unterstützten API-Methoden werden in der offiziellen Makro-Einführungsanleitung beschrieben .

Fügen Sie dieses Beispiel ein und ersetzen Sie es anschließend B2:B500durch Ihren tatsächlichen Textbereich:

(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);
})();

Das Makro liest den Bereich in ein zweidimensionales Array ein, verarbeitet die String-Zellen und schreibt das Array zurück in denselben Bereich. CLEANNicht druckbare Zeichen werden entfernt; die beiden regulären Ausdrücke entfernen Leerzeichen an den Rändern und reduzieren wiederholte Leerzeichen innerhalb eines Strings auf ein einzelnes Leerzeichen. Die API-Referenz bestätigt, dass GetValueein zweidimensionales Array für einen Bereich zurückgegeben werden kann und dass SetValueArrays akzeptiert werden; die Referenzen zu GetValue , SetValue und CLEAN dokumentieren diese Aufrufe.

Da das Skript Werte zurückschreibt, sollten Sie es nicht auf Zellen mit Formeln verweisen: Formelzellen könnten durch ihre aktuellen berechneten Werte ersetzt werden. Außerdem entfernt es keine doppelten Datensätze, standardisiert nicht die Groß- und Kleinschreibung, prüft nicht, ob eine Adresse zustellbar ist, und ändert keine Telefonnummernformate. Dies sind separate Bereinigungsregeln, die unabhängig voneinander entwickelt und getestet werden sollten.

Illustrativer Makro-Editor mit verifizierten ONLYOFFICE-API-Aufrufen zum Abrufen des aktiven Tabellenblatts, zum Lesen eines Zellenwerts und zum Festlegen eines Werts, inklusive einer Schaltfläche „Ausführen“.
In dieser beispielhaften Makro-Editoransicht befinden sich der Codebereich und die Ausführungssteuerung oberhalb der aktiven Tabelle. Das Bereinigungsskript des Artikels verwendet die dokumentierten Methoden zum Lesen und Schreiben von Bereichen, die hier als vereinfachtes API-Beispiel dargestellt sind.

Führen Sie es auf einem kontrollierten Bereich durch.

  1. Überprüfen Sie den Bereichsliteral noch einmal. Wenn die Liste beispielsweise in Zeile 240 endet, verwenden Sie B2:B240, anstatt Hunderte von ungenutzten Zeilen zu verarbeiten.
  2. Klicken Sie im Makro-Editor auf „Ausführen “. Falls der Editor einen Syntaxfehler meldet, überprüfen Sie Anführungszeichen, Klammern und geschweifte Klammern, bevor Sie den Bereich ändern oder weitere Logik hinzufügen.
  3. Kehren Sie zum Arbeitsblatt zurück und überprüfen Sie mehrere Zellen, darunter einen Wert, der bereinigt werden muss, einen Wert, der bereits das richtige Format aufweist, und eine leere Zelle.

Die Verwendung eines kleinen Bereichs erleichtert das Verständnis des Effekts. Sobald die Ausgabe korrekt ist, können Sie das Makro auf einem anderen Tabellenblatt wiederverwenden, indem Sie den Bereich gezielt anpassen. Gehen Sie nicht davon aus, dass ein Spaltenbuchstabe oder eine Zeilengrenze in einer anderen Arbeitsmappe weiterhin gültig ist.

Fehlt der Befehl „Makros“ oder lässt sich der Code nicht ausführen, prüfen Sie, ob Makros im Editor aktiviert oder in der Host-Anwendung deaktiviert sind. Im Online-Editor kann ein Administrator die Makro-Verfügbarkeit steuern; die erweiterten Einstellungen des Tabellenkalkulations-Editors beschreiben die Makro-Optionen für den Benutzer. Vermeiden Sie die automatische Ausführung von Dateien unbekannter Herkunft; führen Sie nur Code aus, den Sie verstehen.

Beispielhaftes Kontaktformular mit Spalten für Name, E-Mail, Abteilung und Telefonnummer sowie einem sichtbaren Beispiel für Kontaktzeilen.
Dieses illustrative Kontaktblatt zeigt eine praktische Art von Daten für ein Textbereinigungs-Makro, vorausgesetzt, der ausgewählte Bereich enthält nur das gewünschte Textfeld und schließt die Kopfzeile aus.

Überprüfen Sie das Ergebnis, bevor Sie das Makro wiederverwenden.

Vergleichen Sie die bereinigte Spalte mit dem Original, anstatt den Erfolg nur anhand des Aussehens zu beurteilen. Stellen Sie sicher, dass sich alle nicht leeren E-Mail-Adressen in derselben Zeile befinden, kein Kontakt fehlt und die einzigen Unterschiede die Zeichen und Leerzeichen sind, die Sie normalisieren wollten. Prüfen Sie Stichproben am Anfang, in der Mitte und am Ende des ausgewählten Bereichs. Suchen Sie nach Leerzeichen am Anfang oder Ende eines Wertes, sofern Ihr Editor dies anzeigt, und überprüfen Sie importierte Werte, die zuvor Zeilenumbrüche oder Steuerzeichen enthielten.

Vergleichen Sie außerdem die Zeilenanzahl und alle abhängigen Formeln, Filter oder Suchvorgänge, die die Spalte verwenden. Falls sich ein Formelergebnis unerwartet geändert hat, machen Sie die Bearbeitung rückgängig oder stellen Sie die Arbeitskopie wieder her. Das Makro sollte auf reine Textzellen beschränkt sein. Bei größeren oder geschäftskritischen Arbeitsmappen vergleichen Sie die bereinigte Spalte vollständig mit der Sicherungskopie oder verwenden Sie zunächst eine separate Ausgabespalte, damit die Änderungen nachvollziehbar bleiben.

Beispielhafte Tabelle, die die Spalten „Original“ und „Bereinigte E-Mail“ nebeneinander mit der gleichen Zeilenanzahl und einem separaten Tabellenblatt „Kopie des Originals“ zeigt.
Dieses Beispielblatt zeigt die ursprünglichen und die bereinigten E-Mail-Spalten nebeneinander mit der gleichen angezeigten Zeilenanzahl; vergleichen Sie Ihre tatsächlichen Werte, bevor Sie sich auf die bereinigte Spalte verlassen.

Sorgen Sie dafür, dass die Reinigung wiederholbar ist.

Nach erfolgreichem ersten Durchlauf speichern Sie die Arbeitsmappe, damit das Makro gemäß dem Makro-Workflow des Editors weiterhin verfügbar ist. Ein in einer Arbeitsmappe gespeichertes Makro wird nicht automatisch in jeder neuen Datei angezeigt. Verwenden Sie für wiederkehrende Importe eine saubere Vorlage oder eine geschützte Quellkopie, dokumentieren Sie den vom Makro erwarteten Bereich und aktualisieren Sie ihn bei Änderungen des Tabellenblattlayouts. ONLYOFFICE-Makros eignen sich für deterministische Bereinigungsregeln; sie können nicht entscheiden, ob ein Wert korrekt ist oder ob eine Änderung für Ihren Datensatz angemessen ist.

Das bewährte Vorgehen ist einfach: eine Quellkopie erstellen, einen bekannten Bereich auswählen, eine definierte Transformation durchführen und das Ergebnis vergleichen, bevor die Daten weitergegeben oder an anderer Stelle importiert werden.

Einen Kommentar hinterlassen

ONLYOFFICE Docs Enterprise mit der offiziellen Compose-Datei bereitstellen

ONLYOFFICE Docs Enterprise mit der offiziellen Compose-Datei bereitstellen

Starten Sie den Enterprise Docker Compose Stack, speichern Sie dessen Lizenz und Daten, konfigurieren Sie JWT sicher und vergewissern Sie sich, dass die Editoren zur Integration bereit sind.

Bereinigen Sie Tabellenkalkulationstext mit einem wiederverwendbaren ONLYOFFICE-Makro.

Bereinigen Sie Tabellenkalkulationstext mit einem wiederverwendbaren ONLYOFFICE-Makro.

Verwenden Sie ein ONLYOFFICE JavaScript-Makro, um nicht druckbare Zeichen zu entfernen und überflüssige Leerzeichen aus einem definierten Tabellenbereich zu kürzen, und zwar mit einem sicheren Überprüfungsworkflow.

Ändern des Standardspeicherorts im ONLYOFFICE-Arbeitsbereich

Ändern des Standardspeicherorts im ONLYOFFICE-Arbeitsbereich

Verschieben Sie Portaldaten vom Standard-Festplattenspeicher zu einem unterstützten Cloud-Speicheranbieter oder verlagern Sie Docker-Daten sicher, indem Sie die Zuordnung des Host-Volumes ändern.

ONLYOFFICE Document Server vollständig von Linux entfernen

ONLYOFFICE Document Server vollständig von Linux entfernen

Ermitteln Sie, ob Document Server ein Linux-Paket oder Docker verwendet, entfernen Sie nur dessen Komponenten und prüfen Sie die verbleibenden Daten, ohne versehentlich gemeinsam genutzte Dienste zu löschen.

Beheben Sie Verzögerungen beim gemeinsamen Bearbeiten in ONLYOFFICE, indem Sie den Flaschenhals finden.

Beheben Sie Verzögerungen beim gemeinsamen Bearbeiten in ONLYOFFICE, indem Sie den Flaschenhals finden.

Führen Sie die Ursache für langsame kollaborative Bearbeitung auf Docker-Ressourcenengpässe, Proxy-Verbindungen oder zu hohe Dokumentladezeiten zurück und wählen Sie dann die Lösung, die Ihren Messwerten entspricht.

HTTPS für ONLYOFFICE Docs in Docker konfigurieren

HTTPS für ONLYOFFICE Docs in Docker konfigurieren

Wählen Sie den Ort für die TLS-Terminierung, binden Sie ein vertrauenswürdiges Zertifikat und einen privaten Schlüssel sicher ein und überprüfen Sie den HTTPS-Zugriff auf einen Docker-basierten ONLYOFFICE Docs-Server.

Verbinden Sie eine PHP-Anwendung mit ONLYOFFICE Docs und speichern Sie Änderungen.

Verbinden Sie eine PHP-Anwendung mit ONLYOFFICE Docs und speichern Sie Änderungen.

Binden Sie den ONLYOFFICE-Editor in Ihre PHP-Anwendung ein, signieren Sie seine Konfiguration mit JWT und speichern Sie bearbeitete Dateien über einen sicheren Rückruf.

Lassen Sie die Rechtschreibprüfung von ONLYOFFICE auf die von Ihnen gewählte Sprache eingestellt.

Lassen Sie die Rechtschreibprüfung von ONLYOFFICE auf die von Ihnen gewählte Sprache eingestellt.

Legen Sie die Korrektursprache für das gesamte Dokument oder für ausgewählten Text fest, vergewissern Sie sich, dass die Rechtschreibprüfung aktiv ist, und erkennen Sie, wenn ein Serverwörterbuch fehlt.

Änderungen beim erneuten Öffnen eines Dokuments nachverfolgen

Änderungen beim erneuten Öffnen eines Dokuments nachverfolgen

Aktivieren Sie die dauerhafte Änderungsverfolgung für alle Benutzer in einem ONLYOFFICE-Dokument, überprüfen Sie, ob die Änderungen protokolliert werden, und machen Sie sich mit den Grenzen dieser Einstellung vertraut.

Verfolgen Sie den Upstream, um den Nginx-Fehler 502 von ONLYOFFICE zu beheben.

Verfolgen Sie den Upstream, um den Nginx-Fehler 502 von ONLYOFFICE zu beheben.

Prüfen Sie, ob Nginx, Docker Networking oder ein interner ONLYOFFICE-Dienst den Fehlercode 502 zurückgibt, und überprüfen Sie anschließend den korrigierten Upstream-Server und den Health Check.