Excel を SQLite に変換
Excel ファイルをドロップすると、CREATE TABLE と INSERT 文を含む SQLite 用のスクリプトができます。各列に型を付け、すべての修正を行と列とともに一覧にします。
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") は合計のため、含めていません。
- SQLite が引用符なしで読めるよう、列 "Nº Cliente" の名前を no_cliente にしました。
- SQLite が引用符なしで読めるよう、列 "C.P." の名前を c_p にしました。
- "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 として読み取ります。
- "Saldo" の N/A を空として読み取りました(4 件中 1 件)。
ファイルはこのコンピューター上で変換され、アップロードされることはありません。
その他のサンプル:
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.dbExcel ファイルと 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 のノートパソコンでは、コマンドラインが 100 万行・117 MB のブックを約 1 秒で変換します。