使用可重複使用的 ONLYOFFICE 巨集清理電子表格文本

為了實現可重複的電子表格清理,請在電子表格編輯器中建立一個小型 JavaScript 巨集,僅針對要變更的文字範圍,並先在副本工作簿中進行測試。以下範例從電子郵件列中刪除非列印字元並移除多餘的空格,同時保持每一行不變。

ONLYOFFICE 巨集在編輯器內部執行,並使用其 Office JavaScript API。官方文件仍將工作流程描述為:開啟「檢視」>「巨集」,編寫或貼上程式碼,然後在編輯器中執行;目前文件中未提及的任何變更均未變更此基本流程。巨集本身是一個示例性的、可重複使用的腳本,並非軟體測試報告。請參閱ONLYOFFICE 巨集快速入門和電子表格編輯器「檢視」標籤參考。

準備一份安全副本並定義清理方案。

假設一個工作簿包含一個聯絡人列表,第 1 行是標題,B 列(從 B2 到 B500)是電子郵件地址。一些匯入的值可能包含換行符號、製表符或前導/尾隨空格。此範例僅清理該文字列。運行程式碼前,請調整範圍以符合您的工作表。

  • 另存一份工作簿副本,或複製工作表。在檢查輸出結果之前,請保留原始檔案。
  • 確認所選區域包含純文本,而不是公式、依賴空格的 ID 或必須保持精確間距的資料。
  • 請確保標題行不在修改範圍內。該巨集不會偵測標題行,也不會判斷哪些列可以安全修改。

請使用特定列的範圍(例如 B2:B500)而不是整個已使用區域。不加區分地清除每個儲存格可能會以您意想不到的方式變更名稱、位址、程式碼或公式結果。

範例電子表格介面,選取「檢視」選項卡,巨集指令位於範例工作表上方。
在這個範例編輯器檢視中,「檢視」標籤和「巨集」指令顯示在工作表上方。建立工作副本並確認要清理的文字所在的列後,即可開啟此視圖。

開啟巨集編輯器並新增腳本

在 ONLYOFFICE 電子表格編輯器中開啟工作簿。選擇“視圖”>“巨集”開啟巨集編輯器,然後在編輯器中建立巨集或取代初始程式碼。 ONLYOFFICE 巨集使用 JavaScript 語法和 Office API,而非 VBA 巨集。編輯器的巨集工作流程和支援的 API 方法在官方巨集入門指南中有詳細說明。

貼上此範例,然後將其變更B2:B500為您實際的純文字範圍:

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

該巨集將指定範圍讀取到一個二維數組中,處理字串單元格,然後將數組寫回同一範圍。CLEAN它會移除不可列印字符;兩個正規表示式替換會移除邊緣的空白字符,並將字串中重複的空白字符縮減為一個空格。 API 參考文件確認該GetValue巨集可以傳回一個二維數組作為指定範圍,並且SetValue接受數組作為參數;GetValue、SetValue和CLEAN參考文件中記錄了這些呼叫。

由於腳本會將值寫回,因此請勿將其指向包含公式的儲存格:公式儲存格可能會被其目前計算值取代。此外,腳本不會刪除重複記錄、規範大小寫、驗證地址是否可送達或更改電話號碼格式。這些都是單獨的清理規則,應單獨設計和測試。

範例巨集編輯器,顯示已驗證的 ONLYOFFICE API 調用,用於取得活動工作表、讀取儲存格值和設定值,並帶有「運行」按鈕。
在這個示例性的巨集編輯器視圖中,程式碼區域和運行控制項位於活動電子表格上方。本文的清理腳本使用了文件中記錄的範圍讀取和寫入方法,此處僅提供一個簡化的 API 範例。

在受控範圍內運行

  1. 再檢查一遍範圍字面值。例如,如果清單在第 240 行結束,則使用 B2:B240,而不是處理數百行未使用的行。
  2. 在巨集編輯器中按一下「執行」。如果編輯器報告語法錯誤,請在更改範圍或添加更多邏輯之前檢查引號、括號和花括號。
  3. 返回工作表並檢查幾個儲存格,包括一個需要清理的值、一個格式正確的值和一個空白儲存格。

從較小的範圍開始,更容易理解其效果。輸出正確後,您可以透過手動編輯範圍,在另一個工作表中重複使用該巨集。不要假設列字母或行邊界在不同的工作簿中仍然有效。

如果缺少宏命令或程式碼無法執行,請檢查編輯器中是否啟用了宏,或者宿主應用程式的設定是否停用了宏。在線上編輯器中,管理員可以控制巨集的可用性;產品的電子表格編輯器進階設定中描述了面向使用者的巨集選項。避免啟用來自未知來源檔案的自動執行;僅執行您理解的程式碼。

範例聯絡人工作表,包含姓名、電子郵件、部門和電話列,以及聯絡人行的範例。
此範例聯絡表展示了文字清理巨集的一種實用資料類型,前提是所選範圍僅包含預期的文字字段,而不包含標題。

在重新使用巨集之前,請先驗證結果。

將清理後的列與原始副本進行比較,而不要僅憑外觀判斷是否成功。確認每個非空電子郵件仍然位於同一行,沒有聯絡人消失,並且唯一的區別是您想要規範化的字元和空格。檢查所選範圍頂部、中間和末端附近的樣本。如果您的編輯器允許顯示值開頭或結尾的空格,請尋找空格,並檢查先前包含換行符或控製字元的匯入值。

此外,還要比較行數以及使用該列的任何依賴公式、篩選器或查找。如果公式結果意外更改,請撤銷編輯或還原工作副本;巨集應僅限於純文字儲存格。對於較大的或業務關鍵型工作簿,請將清理後的完整列與備份進行比較,或先使用單獨的輸出列,以便變更可隨時查看。

範例電子表格並排顯示了原始電子郵件和清理後的電子郵件列,行數相同,還有一個單獨的「原始郵件副本」工作表標籤。
此範例表格將原始電子郵件列和清理後的電子郵件列並排顯示,行數相同;在依賴清理後的列之前,請先比較您的實際值。

保持清理工作的可重複性

首次運行正確後,請儲存工作簿,以便巨集能夠根據編輯器的巨集工作流程與文件保持關聯。儲存在一個工作簿中的巨集不應假定會自動出現在每個新文件中。對於重複匯入,請保留一個乾淨的範本或受保護的來源副本,記錄巨集所需的範圍,並在工作表佈局變更時更新它。 ONLYOFFICE 巨集適用於確定性的清理規則;它們無法判斷某個值是否正確,也無法判斷更改是否適合您的資料集。

可靠的模式很簡單:保留來源副本,針對已知範圍,進行一次定義的轉換,然後在其他地方共享或匯入資料之前比較結果。

留下評論

使用官方的 Compose 檔案部署 ONLYOFFICE Docs 企業版

使用官方的 Compose 檔案部署 ONLYOFFICE Docs 企業版

啟動企業版 Docker Compose 堆疊,持久化其授權和數據,安全地配置 JWT,並確認編輯器已準備好整合。

使用可重複使用的 ONLYOFFICE 巨集清理電子表格文本

使用可重複使用的 ONLYOFFICE 巨集清理電子表格文本

使用 ONLYOFFICE JavaScript 巨集,透過安全的審閱工作流程,從指定的電子表格區域中刪除非列印字元並移除多餘的空格。

變更 ONLYOFFICE 工作區的預設儲存位置

變更 ONLYOFFICE 工作區的預設儲存位置

將入口網站資料從預設磁碟移至支援的雲端儲存供應商,或透過變更主機磁碟區來對應安全地遷移 Docker 資料。

從 Linux 系統中徹底移除 ONLYOFFICE 文件伺服器

從 Linux 系統中徹底移除 ONLYOFFICE 文件伺服器

確定文件伺服器使用的是 Linux 軟體包還是 Docker,僅刪除其元件,並檢查剩餘數據,避免誤刪共享服務。

透過找到瓶頸來消除 ONLYOFFICE 協同編輯延遲

透過找到瓶頸來消除 ONLYOFFICE 協同編輯延遲

追蹤協作編輯速度慢的原因,例如 Docker 資源壓力、代理連接或文件加載,然後選擇與您的測量結果相符的修復方案。

在 Docker 中為 ONLYOFFICE Docs 配置 HTTPS

在 Docker 中為 ONLYOFFICE Docs 配置 HTTPS

選擇 TLS 終止位置,安全地掛載受信任的憑證和私鑰,並驗證對 Docker 化的 ONLYOFFICE Docs 伺服器的 HTTPS 存取。

將 PHP 應用程式連接到 ONLYOFFICE Docs 並儲存編輯內容

將 PHP 應用程式連接到 ONLYOFFICE Docs 並儲存編輯內容

將 ONLYOFFICE 編輯器嵌入到您的 PHP 應用程式中,使用 JWT 對其配置進行簽名,並透過安全回呼儲存編輯後的檔案。

僅保留 ONLYOFFICE 拼字檢查功能,並選擇您喜歡的語言。

僅保留 ONLYOFFICE 拼字檢查功能,並選擇您喜歡的語言。

設定整個文件或選定文字的校對語言,確認拼字檢查已激活,並識別伺服器字典何時缺失。

文件重新開啟時保持追蹤更改

文件重新開啟時保持追蹤更改

為 ONLYOFFICE 文件中的所有人啟用持久追蹤變更功能,驗證編輯是否已記錄,並了解此設定的限制。

追蹤上游以清除 ONLYOFFICE 的 Nginx 502

追蹤上游以清除 ONLYOFFICE 的 Nginx 502

尋找 Nginx、Docker 網路或 ONLYOFFICE 內部服務是否回傳 502,然後驗證更正後的上游和健康檢查。