UltKit

ExcelをCSVに変換

Excelブックの全シートを、1回の操作でシートごとのCSVファイルとして書き出せます。1990年代の.xlsからマクロ有効の.xlsmまで対応し、区切り文字と文字コードは読み込み先のソフトに合わせて選べます。

データ変換

またはCSV, TSV, TXT … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    ブックをアップロード

    .xls、.xlsx、.xlsm ファイルを追加します。一度に最大20ファイル、1ファイルあたり95 MBまで対応しています。世代の異なるファイルが混在していても問題ありません。

  2. 2

    シートと区切り文字を選択

    変換するシートは初期状態ですべてのシートが選択されています。CSVを渡す相手のExcelが小数点にカンマを使う環境なら、区切り文字をセミコロンにしてください。

  3. 3

    変換して展開

    CSVに変換を押します。複数のシートがあるブックは、シート名が付いたCSVを1シートにつき1つ収めたZIPで返されます。

.xls、.xlsx、.xlsm ファイルをアップロードしてCSVに変換を押すと、各シートが別々のUTF-8のCSVになり、Excelで開き直したり他のシステムに取り込んだりできます。

1シートだけでなくブック全体をCSVに変換

Excelのブック形式には、主に3種類があります。Excel 97〜2003のバイナリ形式.xlsは、シートをBIFFレコードとして保存し、65,536行までという上限があります。Excel 2007で導入された.xlsxはOffice Open XMLで、XMLパーツをZIPにまとめた形式であり、1,048,576行まで扱えます。.xlsmは同じ構造にVBAマクロを含めたものです。3つとも複数のシートを持てますが、CSVには1つの表しか入りません。

このずれが日常的な悩みの種です。月ごとにタブがある月次レポート、部署ごとにシートがある予算表、回答と コードが別タブに入ったアンケートの出力などがその例です。Excelで書き出すには、タブを1つずつ選び、名前を付けて保存し、警告を確認する作業を、12枚なら12回繰り返すことになります。ここではブック全体を一度に入れるだけで、各タブがその名前のファイルとして出力されます。

新しい形式のブックの最初のタブだけをストアやCRMに取り込む場合は、ISO形式の日付に設定済みのXLSXをCSVに変換が便利です。

Excelの「名前を付けて保存」、Googleスプレッドシート、本ツールの比較

このコンバーターExcelの名前を付けて保存Googleスプレッドシートのダウンロード
すべてのシートを一度に書き出しyesnono
ファイルごとにカンマかセミコロンを選択yesWindowsの地域設定に従うカンマのみ
.xls、.xlsx、.xlsmに対応yesyesスプレッドシートに取り込んだ後
UTF-8で出力yesCSV UTF-8形式を選んだ場合のみyes
ソフトのインストール不要yesnoyes

カンマかセミコロンか:地域ごとのCSV区切り文字

米国、英国、カナダ、オーストラリア、日本など、小数点にピリオドを使う地域では、Windowsのリスト区切り文字はカンマです。そこのExcelはカンマで書き出し、カンマを前提に読み込みます。

  • 区切り文字:カンマ
  • RFC 4180や多くのWebインポーターに対応

XLS

Microsoft Excel 97–2003 ブック

XLS は、Excel 97 から 2007 年に XLSX に置き換えられるまで Excel が使っていたバイナリ形式のスプレッドシートです。1 シートあたり 65,536 行、256 列までという制限があり、独自の構造でデータを保存します。古い基幹システム、行政のポータル、昔の銀行の出力データでは、今でも XLS を出力または要求するものがあります。Excel、LibreOffice、Google スプレッドシートで開けます。

圧縮方式
–
透過
–
アニメーション
–
登場時期
1997 · Microsoft
XLS 変換

CSV

CSV(カンマ区切り値)

CSV は表形式のデータをプレーンテキストで表す形式で、1行が1つの行にあたり、列はカンマで区切ります。コンピューターの初期から使われており、RFC 4180 に記述がありますが、セミコロンやタブで区切る変種や、異なる文字コードを使うものも多くあります。ほとんどの表計算ソフト、データベース、分析ツールで読み込みと書き出しができるため、システム間でデータをやり取りする際の標準的な形式です。CSV に保存されるのは値だけで、数式、書式、複数のシート、データ型は含まれません。

圧縮方式
–
透過
–
アニメーション
–
登場時期
–
CSV 変換

Excelのブック全体をCSVにするのは、Excelを持たない相手にデータを渡すため、どんな表計算ソフトより長く読めるプレーンテキストとして保管するため、または複数シートのレポートを表ごとのファイルに分けるためです。

書き出したCSVの数値・日付・先頭のゼロ

CSVには、画面上の表示形式ではなく、各セルに保存されている値が書き込まれます。日付をISOまたはUnixタイムスタンプにしない限り、日付はExcelでの表示どおりに書き出され、数値は完全な精度のまま保たれます。Excelは日付を1900年1月1日からの通し番号で保存しており、Lotus 1-2-3との互換性のために、1900年をうるう年として扱うバグが今も残っています。

先頭のゼロが残るのは、ブックでそのセルが文字列だった場合だけです。数値セルに02134と入力した郵便番号は、すでに2134として保存されているため、CSVでゼロを戻すことはできません。逆方向の変換にも注意が必要です。CSVをダブルクリックで開くと、Excelが型を再び推測するため、SEPT2のような遺伝子名が日付になってしまいました。2020年にHUGO遺伝子命名委員会がこれらの名前を変更しています(SEPTIN2)。ブックを意図どおりに作り直すには、CSVをXLSに変換か、「データ」→「テキストまたはCSVから」を使ってください。

ExcelをCSVに変換:よくある質問

ExcelでCSV保存すると現在のシートしか保存されないのはなぜですか?

CSVファイルには表が1つしか入らないため、Excelの「名前を付けて保存」では作業中のシートだけが書き出され、残りは失われるという警告が出ます。変換するシートをすべてのシートにすると、ここではすべてのシートがそれぞれ別のCSVになり、1つのZIPにまとめられます。

Excel 2003の古い.xlsファイルもCSVに変換できますか?

はい。Excel 97〜2003で使われているバイナリ形式の.xlsも、.xlsxとまったく同じように変換できます。.xlsのシートは65,536行・256列までなので、CSVがそのグリッドより大きくなることはありません。

.xlsmブックのマクロはどうなりますか?

VBAマクロはデータではなくコードなので含まれません。CSVには、マクロが最後に出力したセルの値が入ります。

セミコロン区切りのCSVをExcelで列に分けて開くには?

ExcelはWindowsの地域設定にあるリスト区切り文字でCSVを分割します。ファイルが別の文字を使っている場合は、「データ」→「テキストまたはCSVから」で開いて区切り文字を選ぶか、区切り文字の設定を合わせてもう一度変換してください。

ExcelからCSVへの変換でBOM付きUTF-8を選ぶ理由は?

バイトオーダーマークは、ファイルの先頭にある目に見えない3バイトで、WindowsのExcelにテキストをUTF-8として読むよう伝えます。これがないと、Excelはローカルのコードページで読み込み、アクセント付きの名前が é のような記号に化けます。多くのWebインポーターはBOMを無視しますが、一部の厳密なスクリプトではエラーになることがあります。