ExcelをSQLに変換
見出し行からテーブルを作成し、その下のすべての行を挿入するSQLスクリプトを書き出します。引用符は選んだデータベースの書式に合わせます。
データ変換
またはCSV, TSV, TXT … ファイルをここにドロップ ·
1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除
ファイルは当社のサーバーで処理され、30分後に削除されます。
CSVやテキストファイルで列を区切る文字です。読み込みと書き出しの両方に使われます。自動は入力から判別し、書き出しはカンマにします。
UTF-8はあらゆる言語に対応します。WindowsのExcelでCSVを開いたときにアクセント文字や日本語などが文字化けする場合は、BOM付きUTF-8を選んでください。
Excel、ODS、Numbersの入力用です。最初のシートだけ、またはすべてのシートを変換します(CSVはシートごとに1ファイルをZIPにまとめ、JSONはシートごとに1つのキーになります)。
新しいスプレッドシートのシートタブの名前です。31文字までです。
オブジェクトの配列は、各行で列名をキーにします。配列の配列はよりコンパクトで、ヘッダーを最初の配列として保持します。
すべての行を囲む外側の要素の名前です。各行はその中で<row>になります。
CREATE TABLE文とINSERT文で使われます。英字、数字、アンダースコアのみ使えます。
引用符の付け方や列の型はデータベースごとに少しずつ異なります。インポート先に合わせて選んでください。
日付のセルを1つの形式に書き換えます。ISO(2026-10-18)はデータベースやコードに最も安全です。そのままは元の表記を保ちます。
このツールの使い方
- 1
ブックをアップロードする
XLSX、XLS、ODSのいずれかのファイルを追加します。読み込まれるのは最初のシートで、1行目が列名になります。1回に最大20ファイル、1ファイルあたり95 MBまで処理できます。
- 2
SQL方言とテーブル名を選ぶ
詳細設定を開き、SQL方言にスクリプトを実行するデータベースを指定して、SQLテーブル名に英字・数字・アンダースコアでテーブル名を入力します。
- 3
変換してスクリプトを実行する
SQLに変換を押して.sqlファイルをダウンロードし、データベースクライアントで実行するか、お使いのデータベースに付属するコマンドラインツールに渡します。
ExcelをSQLに変換するには?
ブックをアップロードし、SQL方言でお使いのデータベースを選んでSQLに変換を押します。ヘッダー行から作成したCREATE TABLE文とデータ用のINSERT文を含む.sqlファイルが得られ、そのまま実行できます。
ExcelをSQLに変換:シートをINSERT文にしたいのはこんな人
データの出発点はスプレッドシートで、活用の場はデータベースです。開発者は営業チームからXLSXで届いた商品カタログを、午後までにステージング環境のデータベースへ入れなければなりません。アナリストは前四半期の目標を注文テーブルと並べ、1つのクエリで比較したいと考えています。どちらの場合も、シートの行は正しいのに、データベースが求めるのはステートメントです。
SQL自体は古くから安定しています。ANSIが最初のSQL標準を公開したのは1986年で、ISOは1987年に採用しました。データベースごとに今も違うのは細かな部分で、主に列名の引用方法と、文字列や日付の書き方です。そのため、このコンバーターは汎用のスクリプトを1つ出すのではなく、方言を選んでもらう仕組みになっています。データがすでにフラットファイルなら、CSV SQL変換でブックを経由せずに同じ処理ができます。
生成されるスクリプトのSQL方言による違い
識別子はバッククォートで囲まれるため、order dateのようなヘッダーも列名として保持されます。スクリプトはmysqlコマンドラインクライアント、MySQL Workbench、phpMyAdminのSQLタブで実行できます。
- 文字列は単一引用符で囲まれ、文字列中の引用符は2つ重ねて表されます
識別子はSQL標準で定められた二重引用符で囲まれます。ファイルはpsql -fで実行するか、pgAdminのクエリツールに貼り付けてください。
- 引用符付きの名前は大文字・小文字が保持されます
SQLiteは標準の二重引用符付き識別子を受け付け、各値を柔軟な型で保存します。スクリプトはsqlite3 data.db < file.sqlで読み込みます。
- ローカルでの分析用コピーや、モバイルアプリの初期データに向いています
識別子は角括弧で囲まれます。ファイルをSQL Server Management Studioで開いて実行してください。
- SQL Serverの複数行VALUESリストは、1つのINSERT文につき1,000行までという制限があります
ExcelからSQLへの変換結果サンプル
CREATE TABLE "customers" (
"id" INTEGER,
"customer" TEXT,
"signup_date" DATE
);
INSERT INTO "customers" ("id", "customer", "signup_date") VALUES
(1, 'O''Neill金物店', '2026-03-02'),
(2, 'ブライトライン・スタジオ', '2026-04-15');Excel SQL変換ツールとデータベースのインポートウィザードの比較
| UltKit | データベースのインポートウィザード | 手書きのスクリプト | |
|---|---|---|---|
| データベースに接続していなくても使える | yes | no | yes |
| 内容を確認でき、Gitにコミットして再実行できる出力 | yes | no | yes |
| 名前に含まれるアポストロフィを自動でエスケープ | yes | yes | no |
| 日付をISOリテラルに書き換え | yes | ロケール依存 | no |
| MySQL、PostgreSQL、SQLite、SQL Serverのどれにも同じファイルで対応 | 方言を選択 | no | no |
| ファイルの削除まで | 30分 | ローカルに残る | ローカルに残る |
ExcelとSQLの形式の基本情報
XLSX
Microsoft Excel ブック
XLSX は、Office 2007 以降の Microsoft Excel の標準ブック形式で、Office Open XML 規格に基づいています。複数のシート、数式、書式、グラフ、ピボットテーブル、入力規則を、XML の ZIP パッケージとして保存します。1 シートあたり 100 万行を超えるデータを扱え、業務用スプレッドシートの標準的なやり取り形式です。Google スプレッドシート、LibreOffice、Numbers でも開けますが、マクロや高度な機能は引き継がれない場合があります。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- –
- 登場時期
- 2007 · Microsoft
SQL
SQLスクリプト
SQLファイルは、CREATE TABLE や INSERT などの SQL(Structured Query Language)文を記述したプレーンテキストのスクリプトで、データベースが順に実行します。データベースのバックアップ、移行、サンプルデータの共有によく使われます。言語自体は ISO 標準ですが、MySQL、PostgreSQL、SQLite、SQL Server にはそれぞれ独自の方言があるため、システム間ではスクリプトに小さな修正が必要になることがよくあります。SQLファイルはどのテキストエディタでも開けますが、実行にはデータベースクライアントが必要です。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- –
- 登場時期
- –
価格表、顧客のエクスポート、新しいアプリの初期データなど、人が管理しているリストを、クエリ・結合・制約が使える本物のテーブルにしたいときに、ExcelをSQLに変換します。
ExcelからSQLへの変換に関する質問
MySQL方言はMariaDBでも使えますか?
はい。MariaDBは2009年にMySQLからフォークして始まり、現在もバッククォートで囲んだ識別子や同じINSERT構文を読み込めます。Amazon RDSなどのマネージドサービスは通常のエンジンを動かしているため、ホスティング名ではなくエンジンの方言を選んでください。
Excelの日付はSQLファイルにどう書き出されますか?
Excelは日付を1900年からの日数で保存するため、そのまま読み込むと46313のような数値が挿入されてしまいます。このページでは日付をISOに設定しており、'2026-10-18'という形式で出力します。これはMySQL、PostgreSQL、SQLite、SQL Serverのどれでも日付列に使えるリテラルです。
1つのSQLスクリプトにどのくらいの大きさのシートまで入りますか?
XLSXのシートは最大1,048,576行、古いXLSは65,536行まで保持できます。その規模のスクリプトは大きくなるため、先にサーバーの上限を確認してください。MySQL 8.0では、1つのステートメントがmax_allowed_packet(デフォルトは64 MB)を超えると拒否されます。非常に大きなシートは、Excel CSV変換で作ったフラットファイルをデータベースのバルクローダーで読み込むほうが高速です。
テーブル名や列名は指定できますか?
テーブル名はSQLテーブル名で指定した値で、英字・数字・アンダースコアの64文字までです。列名はシートの1行目から取られるため、order_dateのようなスネークケースにしたい場合は、先にExcelでヘッダーを書き換えてください。
数式や書式はどうなりますか?
データベースは値を保存するため、数式のセルは最後に計算された結果が挿入されます。フォント、塗りつぶし、コメント、グラフはスクリプトには含まれません。
PostgreSQLで列名が小文字になるのはなぜですか?
PostgreSQLは引用符のない識別子を小文字に変換するため、名前を二重引用符で囲まない限り、OrderDateとorderdateは同じ列になります。PostgreSQL方言では識別子を引用符で囲むので、ヘッダー行に入力した大文字・小文字が保持されます。後でクエリを書くときも同じ引用符を付けてください。
- CSVをSQLに変換CSVをSQLに変換。MySQL、PostgreSQL、SQLite、SQL Server向けのCREATE TABLEとINSERT文を、指定したテーブル名で生成します。登録不要です。
- SQLをCSVに変換.sqlダンプのINSERT文を、ExcelやGoogleスプレッドシートで開けるCSVの行に変換します。MySQL、phpMyAdmin、SQLite、SQL Serverのダンプに対応。
- ExcelをCSVに変換Excelブック(XLS・XLSX・XLSM)をCSVに変換。シートごとに個別ファイル化、カンマ・セミコロン区切りを選択、Excelで文字化けしないUTF-8にも対応。
- ExcelをJSONに変換ExcelシートをオンラインでJSONに変換。見出し行がキー、各行が1つのオブジェクトになり、日付はISO形式の文字列で出力。XLSX、XLS、ODS、Numbersに対応。
- ExcelをXMLに変換XMLマップや開発タブを使わずにExcelシートをXMLに変換。各行が1件のレコードに、各見出しがタグになります。XLSX・XLS・ODSに対応。
- XLSXをCSVに変換XLSXブックを、Shopify、WooCommerce、Mailchimp、Salesforceやデータベースへのインポートに使えるUTF-8のCSVに変換。数式は値に、日付はISO形式になります。