Cómo convertir una tabla a texto en Word: guía paso a paso

2026-08-27 06:27:10 jie zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Cómo convertir una tabla a texto en Word de forma rápida y sencilla

Las tablas de Word son útiles para organizar datos, pero pueden resultar incómodas cuando necesitas editar su contenido como texto normal. Si ya no necesitas la estructura de tabla, puedes convertir una tabla a texto usando la herramienta integrada de Word o automatizar el proceso con Python. Esta guía cubre los pasos detallados para ambos métodos, vamos a verlos.

Convertir tabla a texto en Word con una herramienta integrada

Microsoft Word proporciona una herramienta integrada para convertir tablas a texto. Si solo necesitas convertir una o dos tablas, la herramienta integrada suele ser la opción más rápida. Elimina la estructura de la tabla y convierte el contenido de las celdas en texto normal.

Cómo cambiar una tabla a texto en MS Word:

  • Paso 1: Haz clic en cualquier lugar dentro de la tabla para mostrar la pestaña contextual Disposición de tabla en la cinta superior.
  • Paso 2: Ve a la pestaña Disposición de tabla en el menú superior y haz clic en el botón Convertir a texto en el grupo Datos.

Convertir una tabla de Word a texto en Microsoft Word

  • Paso 3: Selecciona tu delimitador preferido (tabulaciones, comas, marcas de párrafo o un carácter personalizado) para separar los valores de las columnas.

Elegir el delimitador

  • Paso 4: Haz clic en Aceptar para transformar la tabla en párrafos de texto normal al instante.

Convertir a texto frente a ocultar bordes

Ocultar los bordes de la tabla solo cambia el aspecto de la tabla. Las celdas, columnas y la estructura de la tabla permanecen en su lugar, por lo que el contenido sigue estando restringido por el diseño de la tabla.

Convertir la tabla a texto elimina la estructura de la tabla y convierte el contenido de las celdas en párrafos normales. Luego puedes editar y dar formato al contenido sin el diseño de la tabla.

Convertir tablas de Word a texto con Python

La herramienta integrada de Word es conveniente para convertir tablas individuales, pero resulta menos práctica cuando necesitas procesar muchos documentos o tablas. Para los desarrolladores de Python, Free Spire.Doc for Python proporciona una forma de automatizar la conversión de tabla a texto sin necesidad de tener instalado Microsoft Word.

Convertir una tabla a texto

El script lee el texto de cada celda, une las celdas de la misma fila con caracteres de tabulación, inserta los párrafos resultantes donde estaba ubicada la tabla y luego elimina la tabla original.

from spire.doc import *
from spire.doc.documents import *

# Inicializar la instancia del documento y cargar el archivo de destino
doc = Document()
doc.LoadFromFile("input.docx")

# Obtener la primera sección y la tabla de destino
section = doc.Sections[0]
if section.Tables.Count > 0:
    table = section.Tables[0]

    # Extraer texto de las celdas línea por línea
    text_lines = []
    for j in range(table.Rows.Count):
        row = table.Rows.get_Item(j)
        row_cells_text = []
        for k in range(row.Cells.Count):
            cell = row.Cells.get_Item(k)

            # Extraer texto de los párrafos de la celda
            cell_text_pieces = []
            for p in range(cell.Paragraphs.Count):
                para_obj = cell.Paragraphs.get_Item(p)
                if para_obj.Text:
                    cell_text_pieces.append(para_obj.Text.strip())

            row_cells_text.append(" ".join(cell_text_pieces))

        # Unir el texto de la celda usando separadores de tabulación
        text_lines.append("\t".join(row_cells_text))

    # Localizar la tabla dentro de su bloque principal
    owner_block = table.OwnerTextBody
    table_index = owner_block.ChildObjects.IndexOf(table)

    # Insertar nuevos párrafos de texto en la posición exacta de la tabla
    for line in reversed(text_lines):
        temp_para = section.AddParagraph()
        temp_para.Text = line
        section.Paragraphs.Remove(temp_para)
        owner_block.ChildObjects.Insert(table_index, temp_para)

    # Eliminar completamente la estructura de la tabla de la estructura del documento
    owner_block.ChildObjects.Remove(table)

# Guardar el documento actualizado
doc.SaveToFile("1st table to text.docx", FileFormat.Docx2016)
doc.Close()

Convertir la primera tabla a texto en Word usando Free Spire.Doc

Nota: Los párrafos múltiples dentro de la misma celda se combinan en una sola línea separada por espacios.

Procesamiento por lotes de todas las tablas

Para convertir todas las tablas de un documento en texto, reutiliza la lógica de conversión del ejemplo anterior y aplícala a cada tabla en cada sección. Dado que cada tabla se elimina después de la conversión, las tablas deben procesarse en orden inverso. De lo contrario, eliminar una tabla desplaza los índices de las tablas restantes, lo que puede causar que se omitan tablas o provocar errores de índice.

from spire.doc import *
from spire.doc.documents import *

# Crear un objeto Document y cargar un archivo de Word
doc = Document()
doc.LoadFromFile("input.docx")

# Iterar a través de cada sección en el documento
for s_idx in range(doc.Sections.Count):
    section = doc.Sections[s_idx]

    # Iterar hacia atrás a través de las tablas para evitar problemas de desplazamiento de índice
    table_count = section.Tables.Count
    for t_idx in range(table_count - 1, -1, -1):
        table = section.Tables.get_Item(t_idx)

        # Recopilar texto de todas las filas y celdas
        text_lines = []
        for j in range(table.Rows.Count):
            row = table.Rows.get_Item(j)
            row_cells_text = []
            for k in range(row.Cells.Count):
                cell = row.Cells.get_Item(k)
                cell_text_pieces = []
                for p in range(cell.Paragraphs.Count):
                    para_obj = cell.Paragraphs.get_Item(p)
                    if para_obj.Text:
                        cell_text_pieces.append(para_obj.Text.strip())
                row_cells_text.append(" ".join(cell_text_pieces))
            text_lines.append("\t".join(row_cells_text))

        # Reemplazar el nodo de la tabla con párrafos simples en el lugar
        owner_block = table.OwnerTextBody
        table_index = owner_block.ChildObjects.IndexOf(table)

        for line in reversed(text_lines):
            temp_para = section.AddParagraph()
            temp_para.Text = line
            section.Paragraphs.Remove(temp_para)
            owner_block.ChildObjects.Insert(table_index, temp_para)

        # Eliminar de forma segura la tabla actual
        owner_block.ChildObjects.Remove(table)

# Guardar el archivo final
doc.SaveToFile("all tables to text.docx", FileFormat.Docx2016)
doc.Close()

Convertir todas las tablas de Word a texto con Python

Consejo: Exportar datos de tabla a un archivo TXT externo

En muchos flujos de trabajo de canalización de datos, el objetivo es obtener información en lugar de modificar los archivos de diseño originales. Si solo necesitas texto tabular para la ingesta de bases de datos, registro o archivo de texto sin formato, es aún más fácil. Puedes extraer rápidamente el contenido sin procesar de las celdas y escribirlo directamente en un archivo de texto externo con Free Spire.Doc.

Ejemplo de código

from spire.doc import *
from spire.doc.common import *

# Crear una instancia de Document
doc = Document()

# Cargar un documento de Word
doc.LoadFromFile("input.docx")

# Obtener la primera tabla
table = doc.Sections[0].Tables[0]

# Extraer texto de la tabla
tableData = ''
for j in range(table.Rows.Count):
    row = table.Rows.get_Item(j)

    for k in range(row.Cells.Count):
        cell = row.Cells.get_Item(k)

        for p in range(cell.Paragraphs.Count):
            tableData += cell.Paragraphs.get_Item(p).Text + ' '

        if k < row.Cells.Count - 1:
            tableData += '\t'

    tableData += '\n'

# Guardar el texto extraído en un archivo TXT
with open("/table_text.txt", "w", encoding="utf-8") as f:
    f.write(tableData)

doc.Close()

Extraer tabla a TXT

Consejo: Para datos tabulares estructurados, también puedes convertir tablas de Word a CSV para su uso en hojas de cálculo, bases de datos y otros flujos de trabajo de procesamiento de datos.

Preguntas frecuentes

P1: ¿Qué debo hacer si el texto convertido parece desalineado?

El uso de tabulaciones (\t) es lo que mejor conserva el espaciado estructural. Si la alineación de las columnas sigue pareciendo desigual en Word, selecciona los párrafos convertidos y ajusta las tabulaciones en la regla horizontal.

P2: ¿Cómo puedo volver a convertir texto en una tabla en Word?

Para revertir el proceso, resalta tu texto, ve a Insertar > Tabla y haz clic en Convertir texto en tabla. Selecciona el delimitador coincidente (por ejemplo, tabulaciones o comas) para reconstruir tu tabla.

P3: ¿Cuál es la tecla de acceso directo para convertir una tabla a texto en Word?

Microsoft Word no proporciona un atajo de teclado dedicado para Convertir a texto. Puedes acceder al comando a través de la cinta de opciones o personalizar un atajo a través de la configuración de teclado de Word.

Resumen

Este artículo presentó dos formas de convertir tablas en documentos de Word a texto. La herramienta integrada de Word funciona bien para tablas individuales o un pequeño número de documentos, mientras que Free Spire.Doc for Python es más adecuado para el procesamiento automatizado de múltiples tablas. También puedes extraer el contenido de la tabla a un archivo TXT para almacenamiento en texto sin formato o procesamiento posterior.


Leer también: