Limpiar el texto de una hoja de cálculo con una macro reutilizable de ONLYOFFICE.

Para limpiar hojas de cálculo de forma repetible, cree una pequeña macro de JavaScript en el Editor de hojas de cálculo, seleccione solo el rango de texto que desea modificar y pruébela primero en una copia del libro de trabajo. El siguiente ejemplo elimina los caracteres no imprimibles y recorta los espacios en blanco adicionales de una columna de correo electrónico, manteniendo todas las filas en su lugar.

Las macros de ONLYOFFICE se ejecutan dentro del editor y utilizan su API de JavaScript de Office. La documentación oficial aún describe el flujo de trabajo como abrir Vista > Macros , escribir o pegar el código y ejecutarlo en el editor; ningún cambio reciente identificado en la documentación actual altera este proceso básico. La macro en sí es un script ilustrativo y reutilizable, no un informe de una prueba de software. Consulte la guía de inicio rápido de macros de ONLYOFFICE y la referencia de la pestaña Vista del editor de hojas de cálculo .

Prepare una copia segura y defina la limpieza.

Supongamos que un libro de trabajo contiene una lista de contactos con un encabezado en la fila 1 y direcciones de correo electrónico en la columna B, desde B2 hasta B500. Algunos valores importados pueden contener saltos de línea, tabulaciones o espacios iniciales y finales. Este ejemplo limpia únicamente esa columna de texto. Ajuste el rango para que coincida con su hoja de cálculo antes de ejecutar el código.

  • Guarda una copia aparte del libro de trabajo o duplica la hoja de cálculo. Mantén el original intacto hasta que hayas comprobado el resultado.
  • Confirme que el rango seleccionado contiene texto sin formato, no fórmulas, identificadores que dependan de espacios o datos que deban conservar un espaciado exacto.
  • Mantenga la fila de encabezado fuera del rango. La macro no detecta los encabezados ni decide qué columnas se pueden modificar sin riesgo.

Utilice un rango específico para una columna, como B2:B500, en lugar de todo el rango utilizado. Borrar todas las celdas indiscriminadamente puede modificar nombres, direcciones, códigos o resultados de fórmulas de forma no deseada.

Interfaz de hoja de cálculo ilustrativa con la pestaña Vista seleccionada y el comando Macros sobre una hoja de cálculo de ejemplo.
En esta vista ilustrativa del editor, la pestaña Vista y el comando Macros aparecen encima de la hoja de cálculo. Ábrala después de crear una copia de trabajo y confirmar qué columna contiene el texto que desea limpiar.

Abra el editor de macros y agregue el script.

Abra el libro de trabajo en el editor de hojas de cálculo de ONLYOFFICE. Seleccione Ver > Macros para abrir el editor de macros y, a continuación, cree una macro o reemplace el código inicial en el editor. Las macros de ONLYOFFICE utilizan la sintaxis de JavaScript y la API de Office; no son macros de VBA. El flujo de trabajo de las macros del editor y los métodos de API compatibles se describen en la guía oficial de introducción a las macros .

Pegue este ejemplo y luego cámbielo B2:B500por su rango de texto real:

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

La macro lee el rango en una matriz bidimensional, procesa las celdas de cadena y vuelve a escribir la matriz en ese mismo rango. CLEANElimina los caracteres no imprimibles; las dos sustituciones de expresiones regulares eliminan los espacios en blanco en los bordes y reducen los espacios en blanco repetidos dentro de una cadena a un solo espacio. La referencia de la API confirma GetValueque puede devolver una matriz bidimensional para un rango y que SetValueacepta matrices; las referencias de GetValue , SetValue y CLEAN documentan estas llamadas.

Dado que el script sobrescribe valores, no lo dirija a celdas que contengan fórmulas: estas celdas podrían ser reemplazadas por sus valores calculados actuales. Tampoco elimina registros duplicados, no estandariza el uso de mayúsculas, no valida si una dirección es válida ni cambia el formato de los números de teléfono. Estas son reglas de limpieza independientes que deben diseñarse y probarse por separado.

Editor de macros ilustrativo que muestra llamadas verificadas a la API de ONLYOFFICE para obtener la hoja activa, leer el valor de una celda y establecer un valor, con un botón de Ejecutar.
En esta vista ilustrativa del editor de macros, el área de código y el control Ejecutar se sitúan encima de la hoja de cálculo activa. El script de limpieza del artículo utiliza los métodos documentados de lectura y escritura de rangos que se muestran aquí como un ejemplo simplificado de la API.

Ejecútalo en un rango controlado.

  1. Verifique nuevamente el rango literal. Si la lista termina en la fila 240, por ejemplo, utilice B2:B240 en lugar de procesar cientos de filas no utilizadas.
  2. Haz clic en Ejecutar en el editor de macros. Si el editor muestra un error de sintaxis, revisa las comillas, los paréntesis y las llaves antes de cambiar el rango o añadir más lógica.
  3. Regresa a la hoja de cálculo e inspecciona varias celdas, incluyendo un valor que necesitaba corrección, un valor que ya estaba en el formato correcto y una celda en blanco.

Comenzar con un rango estrecho facilita la comprensión del efecto. Una vez que el resultado sea correcto, puede reutilizar la macro en otra hoja modificando el rango manualmente. No dé por sentado que una letra de columna o un límite de fila seguirá siendo válido en otro libro de trabajo.

Si falta el comando Macros o el código no se ejecuta, compruebe si las macros están habilitadas en el editor o deshabilitadas por la configuración de la aplicación host. En el editor en línea, un administrador puede controlar la disponibilidad de las macros; la configuración avanzada del Editor de hojas de cálculo del producto describe las opciones de macros visibles para el usuario. Evite habilitar la ejecución automática para archivos de fuentes desconocidas; ejecute solo código que comprenda.

Hoja de trabajo de contactos ilustrativa con columnas para Nombre, Correo electrónico, Departamento y Teléfono, y una muestra visible de filas de contactos.
Esta hoja de contactos ilustrativa muestra un tipo de datos práctico para una macro de limpieza de texto, siempre que el rango seleccionado contenga solo el campo de texto deseado y excluya el encabezado.

Verifique el resultado antes de reutilizar la macro.

Compara la columna corregida con la copia original en lugar de juzgar el éxito únicamente por su apariencia. Confirma que cada correo electrónico no vacío se encuentre en la misma fila, que ningún contacto haya desaparecido y que las únicas diferencias sean los caracteres y el espaciado que pretendías normalizar. Revisa una muestra cerca del inicio, el medio y el final del rango seleccionado. Busca un espacio al principio o al final de un valor si tu editor lo permite, e inspecciona los valores importados que contenían saltos de línea o caracteres de control.

Compare también el número de filas y las fórmulas, filtros o búsquedas dependientes que utilicen la columna. Si el resultado de una fórmula cambió inesperadamente, deshaga la edición o restaure la copia de trabajo; la macro debe limitarse a celdas de texto sin formato. Para un libro de trabajo extenso o crítico para el negocio, compare la columna limpia completa con la copia de seguridad o utilice primero una columna de salida independiente para que los cambios puedan revisarse.

Hoja de cálculo ilustrativa que muestra las columnas de correo electrónico original y depurado una al lado de la otra con el mismo número de filas y una pestaña separada para la copia del original.
Esta hoja ilustrativa coloca las columnas de correo electrónico originales y depuradas una al lado de la otra con el mismo número de filas; compare sus valores reales antes de basarse en la columna depurada.

Mantener la limpieza repetible

Tras la primera ejecución correcta, guarde el libro de trabajo para que la macro permanezca disponible con el documento según el flujo de trabajo de macros del editor. No se debe asumir que una macro almacenada en un libro de trabajo aparecerá automáticamente en cada archivo nuevo. Para importaciones recurrentes, mantenga una plantilla limpia o una copia de origen protegida, documente el rango que espera la macro y actualícelo cuando cambie el diseño de la hoja. Las macros de ONLYOFFICE son útiles para reglas de limpieza deterministas; no pueden determinar si un valor es correcto o si un cambio es apropiado para su conjunto de datos.

El método fiable es sencillo: conservar una copia de la fuente, seleccionar un rango conocido, realizar una transformación definida y comparar el resultado antes de compartir o importar los datos a otro lugar.

Dejar un comentario

Implementa ONLYOFFICE Docs Enterprise con su archivo Compose oficial.

Implementa ONLYOFFICE Docs Enterprise con su archivo Compose oficial.

Inicie la pila de Docker Compose Enterprise, guarde su licencia y datos, configure JWT de forma segura y confirme que los editores están listos para integrarse.

Limpiar el texto de una hoja de cálculo con una macro reutilizable de ONLYOFFICE.

Limpiar el texto de una hoja de cálculo con una macro reutilizable de ONLYOFFICE.

Utilice una macro JavaScript de ONLYOFFICE para eliminar caracteres no imprimibles y recortar espacios adicionales de un rango definido de una hoja de cálculo, con un flujo de trabajo de revisión seguro.

Cambiar la ubicación de almacenamiento predeterminada del espacio de trabajo de ONLYOFFICE

Cambiar la ubicación de almacenamiento predeterminada del espacio de trabajo de ONLYOFFICE

Traslada los datos del portal desde el disco predeterminado a un proveedor de almacenamiento en la nube compatible, o reubica los datos de Docker de forma segura cambiando su asignación de volumen de host.

Eliminar completamente ONLYOFFICE Document Server de Linux

Eliminar completamente ONLYOFFICE Document Server de Linux

Identifique si Document Server utiliza un paquete de Linux o Docker, elimine solo sus componentes y compruebe los datos restantes sin borrar por error los servicios compartidos.

Soluciona el retraso en la coedición de ONLYOFFICE encontrando el cuello de botella.

Soluciona el retraso en la coedición de ONLYOFFICE encontrando el cuello de botella.

Atribuya la lentitud en la edición colaborativa a la presión sobre los recursos de Docker, las conexiones proxy o la carga de documentos, y luego elija la solución que mejor se ajuste a sus mediciones.

Configurar HTTPS para ONLYOFFICE Docs en Docker

Configurar HTTPS para ONLYOFFICE Docs en Docker

Elija dónde debe finalizar TLS, monte de forma segura un certificado y una clave privada de confianza, y verifique el acceso HTTPS a un servidor ONLYOFFICE Docs en contenedores Docker.

Conecta una aplicación PHP a ONLYOFFICE Docs y guarda los cambios.

Conecta una aplicación PHP a ONLYOFFICE Docs y guarda los cambios.

Integra el editor ONLYOFFICE en tu aplicación PHP, firma su configuración con JWT y guarda los archivos editados mediante una función de devolución de llamada segura.

Mantén la revisión ortográfica de ONLYOFFICE en el idioma que elijas.

Mantén la revisión ortográfica de ONLYOFFICE en el idioma que elijas.

Permite configurar el idioma de corrección para todo el documento o para el texto seleccionado, confirmar que la revisión ortográfica está activa e identificar cuándo falta un diccionario del servidor.

Mantén la opción de Control de cambios activada al volver a abrir un documento.

Mantén la opción de Control de cambios activada al volver a abrir un documento.

Habilite el control de cambios persistente para todos los usuarios en un documento de ONLYOFFICE, verifique que se registren las ediciones y comprenda las limitaciones de esta configuración.

Rastrea el origen para solucionar el error 502 de Nginx de ONLYOFFICE.

Rastrea el origen para solucionar el error 502 de Nginx de ONLYOFFICE.

Determine si Nginx, la red de Docker o un servicio interno de ONLYOFFICE está devolviendo un error 502 y, a continuación, verifique la configuración corregida del servidor ascendente y la comprobación de estado.