Dato i Excel til dato i mySQL

Excel brukes til å utveksle data, også data som burde deles i andre formater. En tid tilbake fikk jeg noen databasetabeller, delt opp i fem excel-dokumenter (slik at den som gav meg dataen kunne maile den). Jeg ville (naturlig nok?) ha dette over i mySQL. Av det lærte jeg et par triks.

1. Datoer i Excel må krangles over i mySQL, alternativt kan du gjøre dette:
Lag en ny kolonne for dato.
Legg inn følgende formel i første celle:
=TEKST(A1, YYYY-MM-DD)
(min versjon av Excel er på Norsk, hvis du har en utenlandsk versjon skal TEKST skrives som TEXT)

Så kommer enda en utfordring. For å duplisere formlen ville jeg vanligvis ha klikket og dratt det lille krysset nede i høyre hjørne av cellen, helt ned til nederste rad i kolonnen. Men kolonnen er et titalls-tusen rader lang! Å klikk og dra tar jo evig tid.

Ved å dobbeltklikke på dette likke krysset, så auto-kopieres formelen helt ned til siste rad. Nice.
Lagre som CSV.

2. Excel lagrer CSV-dokumenter med rare tegnsett.
For å importere til mySQL må tegnsettet være noe mySQL skjønner. Ved å bare large som CSV gikk dette i ball for meg. For å enkelt få kontroll på dette åpnet jeg den nylagde CVS-filen i Textmate og lagret den igjen, men da ved å endre tegnsettet til UTF-8 og linjeskift til LF (begge de anbefalte valgene i Textmate).

Vips, importer til mySQL
Jeg bruker Sequal Pro som GUI til mySQL. Her er det en egen «Import…» kommando under «File..».