Excel omzetten naar SQLite
Zet je Excel-bestand neer en krijg een SQLite-script met CREATE TABLE- en INSERT-statements. Elke kolom krijgt een type, en elke correctie wordt vermeld met rij en kolom.
4 rijen geconverteerd, 10 correcties, geen afgewezen
| Rij | ||||||
|---|---|---|---|---|---|---|
| 5 | 00127 | Peña Muñoz | 01234 | 03/02/2024 | sí | 1.234,50 |
| 6 | 00128 | José Ángel | 09870 | 15/02/2024 | no | N/A |
| 7 | 00129 | Zoë Ortíz | 44100 | 29/02/2024 | sí | -12,00 |
| 8 | 00130 | Ñuño Castañeda | 06700 | 11/03/2024 | no | 980,75 |
-- Written by IntoSQL for SQLite.
BEGIN;
CREATE TABLE clientes_2024 (
no_cliente TEXT NOT NULL, -- Nº Cliente
nombre TEXT NOT NULL,
c_p TEXT NOT NULL, -- C.P.
alta DATE NOT NULL,
activo BOOLEAN NOT NULL,
saldo NUMERIC(6,2)
);
INSERT INTO clientes_2024 (no_cliente, nombre, c_p, alta, activo, saldo) VALUES
('00127', 'Peña Muñoz', '01234', '2024-02-03', 1, 1234.50),
('00128', 'José Ángel', '09870', '2024-02-15', 0, NULL),
('00129', 'Zoë Ortíz', '44100', '2024-02-29', 1, -12.00),
('00130', 'Ñuño Castañeda', '06700', '2024-03-11', 0, 980.75);
COMMIT;
Correcties
- De koprij staat op rij 4; de rijen erboven zijn weggelaten.
- Rij 9 ("TOTAL") is een totaal en is daarom weggelaten.
- Kolom "Nº Cliente" heet nu no_cliente, zodat SQLite hem zonder aanhalingstekens leest.
- Kolom "C.P." heet nu c_p, zodat SQLite hem zonder aanhalingstekens leest.
- Voorloopnullen behouden in "Nº Cliente": 00127 blijft 00127, opgeslagen als tekst.
- Voorloopnullen behouden in "C.P.": 01234 blijft 01234, opgeslagen als tekst.
- 15/02/2024 bewijst dat de datums in "Alta" met de dag beginnen, dus 03/02/2024 wordt gelezen als 2024‑02‑03.
- "Activo" bevat ja- en nee-woorden (sí, no), opgeslagen als boolean.
- Getallen in "Saldo" gebruiken een decimale komma: 1.234,50 wordt gelezen als 1234.50.
- N/A in "Saldo" gelezen als leeg (1 van 4 waarden).
Je bestand wordt op deze computer omgezet en nooit geüpload.
Andere voorbeelden:
Van Excel naar SQLite, kolom voor kolom
Het voorbeeld hierboven, clientes_2024.xlsx, zoals IntoSQL het voor SQLite schrijft: wat elke kolom in het bestand bevat, welk type ze krijgt en hoe haar eerste waarde in het script terechtkomt.
| In het bestand | Eerste waarde | Kolom | Type in SQLite | In het script |
|---|---|---|---|---|
| Nº Cliente | 00127 | no_cliente | TEXT | '00127' |
| Nombre | Peña Muñoz | nombre | TEXT | 'Peña Muñoz' |
| C.P. | 01234 | c_p | TEXT | '01234' |
| Alta | 03/02/2024 | alta | DATE | '2024-02-03' |
| Activo | sí | activo | BOOLEAN | 1 |
| Saldo | 1.234,50 | saldo | NUMERIC(6,2) | 1234.50 |
Het script in SQLite laden
De download is een standaard .sql-bestand. Voer het uit met de eigen tools van SQLite.
Vanuit een terminal
sqlite3 clientes_2024.db < clientes_2024.sqlite.sqlHet databasebestand wordt aangemaakt als het nog niet bestaat. De converter downloadt ook een kant-en-klare .sqlite-database, zonder enige opdracht.
Vanuit een databasetool
Kies in DB Browser for SQLite Execute SQL, open het script en voer het uit.
Zonder script
De opdrachtregel laadt het bestand rechtstreeks in een SQLite-database, zonder een script te schrijven. Dat is gratis.
intosql load clientes_2024.xlsx --into clientes_2024.dbWat je moet weten over Excel-bestanden en SQLite
Wat IntoSQL leest in Excel-bestanden
- De kopregel wordt gevonden, ook als er titels of notities boven staan, en een totaalrij aan het einde wordt weggelaten.
- Datums die als Excel-serienummers zijn opgeslagen, worden echte datums, in zowel het 1900- als het 1904-datumsysteem.
- Codes met voorloopnullen, zoals 00127, blijven tekst. Heeft een werkmap meerdere bladen, dan kies je het blad.
Wat je moet weten over SQLite
- Elke kolom krijgt het type dat de waarden nodig hebben, zoals INTEGER, NUMERIC, TEXT, DATE of BOOLEAN; ja en nee worden opgeslagen als 1 en 0.
- Decimale getallen met meer dan 15 cijfers blijven TEXT, zodat er geen cijfer wegvalt door afronding.
- Download het SQLite-script, of een kant-en-klare .sqlite-database die in je browser wordt gemaakt.
Hoe elk soort waarde in SQLite wordt opgeslagen
| Waarde | SQLite |
|---|---|
| Ja en nee | BOOLEAN |
| Gehele getallen | INTEGER |
| Grote gehele getallen | INTEGER |
| Decimale getallen | NUMERIC(p,s)TEXT |
| Drijvendekommagetallen | REAL |
| Datums | DATE |
| Tijdstippen | TIME |
| Datums met tijd | DATETIME |
| Datums met tijd en tijdverschil | DATETIME |
| Tekst | TEXT |
Vragen over Excel naar SQLite
Staat je vraag er niet bij? Schrijf ons via de contactpagina en een mens antwoordt. Contactpagina
Hoe zet ik Excel om naar SQLite?
Zet je bestand neer op de converter bovenaan deze pagina. Die vindt de kopregel, leest elke waarde en schrijft het SQLite-script, met elke correctie vermeld. Download het script en voer het uit met sqlite3.
Welk blad van de werkmap wordt geconverteerd?
Het eerste zichtbare blad. Heeft een werkmap er meer dan één, dan verschijnt de optie Blad, zodat je een ander kunt kiezen.
Welke SQLite-types gebruikt het?
Ja/nee-waarden worden BOOLEAN, gehele getallen INTEGER, decimalen NUMERIC(p,s), datums DATE, datums met tijd DATETIME en tekst TEXT. De groottes volgen uit de langste waarde in elke kolom.
Blijven voorloopnullen behouden in SQLite?
Ja. Een code zoals 00127 blijft tekst, dus SQLite slaat hem op als TEXT en het script schrijft hem als '00127'.
Kan het de data zonder script in SQLite laden?
Ja, gratis: intosql load maakt het SQLite-databasebestand aan en laadt de rijen erin. De converter op deze pagina downloadt ook een kant-en-klare .sqlite-database.
Hoe groot mag het Excel-bestand zijn?
In de browser wordt een werkmap in zijn geheel gelezen, dus de grens is het geheugen dat de browser deze pagina geeft. De desktopapp en de opdrachtregel nemen werkmappen van elke grootte; op een laptop met Apple M4 converteert de opdrachtregel een werkmap van 117 MB met een miljoen rijen in ongeveer een seconde.