Конвертация Excel в SQLite
Перетащите файл Excel, чтобы получить скрипт для SQLite с командами CREATE TABLE и INSERT. Каждый столбец получает тип, а каждое исправление указано со строкой и столбцом.
4 строки конвертированы, 10 исправлений, ни одна не отклонена
| Строка | ||||||
|---|---|---|---|---|---|---|
| 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;
Исправления
- Заголовок находится в строке 4; строки над ним не включены.
- Строка 9 ("TOTAL") содержит итог, поэтому она не включена.
- Столбец "Nº Cliente" теперь называется no_cliente, чтобы SQLite читал его без кавычек.
- Столбец "C.P." теперь называется c_p, чтобы SQLite читал его без кавычек.
- В "Nº Cliente" сохранены ведущие нули: 00127 остается 00127 и хранится как текст.
- В "C.P." сохранены ведущие нули: 01234 остается 01234 и хранится как текст.
- 15/02/2024 доказывает, что даты в "Alta" начинаются с дня, поэтому 03/02/2024 читается как 2024‑02‑03.
- "Activo" содержит слова да и нет (sí, no), они сохранены как логические значения.
- Числа в "Saldo" записаны с десятичной запятой: 1.234,50 читается как 1234.50.
- N/A в "Saldo" прочитаны как пустые (значений: 1 из 4).
Файл конвертируется на этом компьютере и никуда не загружается.
Другие примеры:
Из Excel в SQLite, столбец за столбцом
Пример выше, clientes_2024.xlsx, в том виде, в котором IntoSQL записывает его для SQLite: что хранит каждый столбец в файле, какой тип он получает и как его первое значение попадает в скрипт.
| В файле | Первое значение | Столбец | Тип в SQLite | В скрипте |
|---|---|---|---|---|
| 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 |
Загрузите скрипт в SQLite
Вы скачиваете обычный файл .sql. Запустите его штатными средствами SQLite.
Из терминала
sqlite3 clientes_2024.db < clientes_2024.sqlite.sqlФайл базы данных создается, если его нет. Конвертер также скачивает готовую базу .sqlite, вообще без команд.
Из клиента базы данных
В DB Browser for SQLite выберите Execute SQL, откройте скрипт и выполните его.
Без скрипта
Командная строка загружает файл прямо в базу SQLite, без написания скрипта. Это бесплатно.
intosql load clientes_2024.xlsx --into clientes_2024.dbЧто нужно знать о файлах Excel и SQLite
Что IntoSQL читает в файлах Excel
- Строка заголовков находится, даже если над ней есть названия или заметки, а строка итогов в конце не попадает в результат.
- Даты, сохраненные как порядковые номера Excel, становятся настоящими датами, и в системе дат 1900, и в системе 1904.
- Коды с ведущими нулями, например 00127, остаются текстом. Если в книге несколько листов, вы выбираете лист.
Что нужно знать о SQLite
- Каждый столбец получает тип, нужный его значениям, например INTEGER, NUMERIC, TEXT, DATE или BOOLEAN; да и нет хранятся как 1 и 0.
- Десятичные числа длиннее 15 цифр остаются TEXT, чтобы ни одна цифра не потерялась при округлении.
- Скачайте скрипт SQLite или готовую базу данных .sqlite, собранную в вашем браузере.
Как каждый вид значений хранится в SQLite
| Значение | SQLite |
|---|---|
| Да и нет | BOOLEAN |
| Целые числа | INTEGER |
| Большие целые числа | INTEGER |
| Десятичные числа | NUMERIC(p,s)TEXT |
| Числа с плавающей точкой | REAL |
| Даты | DATE |
| Время суток | TIME |
| Даты со временем | DATETIME |
| Даты со временем и смещением | DATETIME |
| Текст | TEXT |
Вопросы о Excel в SQLite
Нет ответа на ваш вопрос? Напишите нам через страницу контактов, и вам ответит человек. Страница контактов
Как конвертировать Excel в SQLite?
Перетащите файл в конвертер в верхней части этой страницы. Он находит заголовок, читает каждое значение и записывает скрипт для SQLite, перечисляя каждое исправление. Скачайте скрипт и запустите его через sqlite3.
Какой лист книги конвертируется?
Первый видимый лист. Если в книге их несколько, появляется параметр Лист, где можно выбрать другой.
Какие типы SQLite используются?
Значения да и нет становятся BOOLEAN, целые числа INTEGER, дробные NUMERIC(p,s), даты DATE, даты со временем DATETIME, а текст TEXT. Размеры берутся по самому длинному значению в каждом столбце.
Сохраняются ли ведущие нули в SQLite?
Да. Код вроде 00127 остается текстом, поэтому SQLite хранит его как TEXT, а скрипт записывает как '00127'.
Можно ли загрузить данные в SQLite без скрипта?
Да, бесплатно: intosql load создает файл базы SQLite и загружает в него строки. Конвертер на этой странице также скачивает готовую базу .sqlite.
Насколько большим может быть файл Excel?
В браузере книга читается целиком, поэтому предел - это память, которую браузер выделяет этой странице. Приложение для компьютера и командная строка принимают книги любого размера; на ноутбуке с Apple M4 командная строка конвертирует книгу 117 МБ с миллионом строк примерно за секунду.