Migrar una hoja de cálculo a SQL

Icono de Calc a SQL

Se trata de pasar los datos contenidos de una hoja de cálculo a una tabla de una base de datos. La hoja de cálculo puede ser ODS (OpenOffice.org Calc) o bien XLS (Microsoft Excel). La base de datos será MySQL. El método que se muestra a continuación no es automático y requiere de nuestra supervisión.

Pasos a seguir

  1. Abrir la hoja de cálculo

    Si es con OpenOffice.org Calc tenemos productos1.ods y si es con Microsoft Excel productos1.xls

  2. Escribir las fórmulas

    • La primera fórmula une todas las celdas de una fila. Entre celda y celda se coloca una barra vertical. La fórmula se ha de copiar para todas las filas.

      =CONCATENAR(A2;"|";B2;"|";C2;"|";D2;"|";E2;"|";F2;"|";G2;"|";H2;"|";I2;"|";J2)

    • La segunda fórmula modifica el resultado de la primera fórmula. Añade los caracteres necesarios para que sea compatible con SQL: Duplica la comillas simples que hubiese, entrecomilla cada campo, los separa con comas y añade al principio un paréntesis y al final otro parénteses con una coma

      =CONCATENAR("('"; SUSTITUIR(SUSTITUIR(K2;"'";"''");"|";"','"); "'),")

    El resultado tras las fórmulas es productos2.ods, productos2.xls o productos2.html

  3. Pasar los datos a un editor de textos

    Seleccionar y copiar el resultado de la segunda fórmula. Abrir un editor de textos plano y pegar los datos, tras lo cual obtendremos productos3.sql

    El editor de textos puede ser medit para GNU/Linux o Notepad++ para Microsoft Windows.

  4. Escribir las sentencias SQL

    Hay que hacer lo siguiente:

    • Al final de todo cambiar la última coma por un punto y coma
    • Al principio añadir una sentencia de inserción de registro:

      INSERT INTO productos (id, producto, proveedor_id, categoria_id, cantidad_por_unidad, precio_unidad, unidades_existencia, unidades_pedido, nivel_nuevo_pedido, suspendido) VALUES

    El resultado es productos4.sql. Si la tabla aún no existe en la base de datos podríamos añadir una sentencia para crear la tabla como se puede ver en productos5.sql

  5. Ejecutar el SQL

    Abrir un cliente de MySQL y ejecutar el SQL obtenido

    El cliente MySQL podría ser el de la línea de comandos o MySQL Query Browser o phpMyAdmin.

Nota: Todos los ficheros SQL están codificados con el juego de caracteres UTF-8

Comentarios

Proinf.net, ©2003-2017 ci 3.1.6 (CC) Esta obra está bajo una licencia de Creative Commons Este software está sujeto a la CC-GNU GPL