ExcelをCSVに変換
ExcelやOpenDocumentのブックのどのシートも、きれいなCSVファイルにします。値はExcelでの表示どおりにも、元の数値とISO形式の日付にもでき、取り込み先が求める区切り文字と文字コードで出力できます。
- 保存しません
- 順番待ちなし
- 登録不要・透かしなし
使い方
ブックを追加
.xlsx、.xls、.odsファイルをドロップします。すべてのシートがタブとして表示され、リアルタイムでプレビューできます。
形式を選択
カンマ、セミコロン、タブを選べます。文字コードはUTF-8か、Excelで開き直してもアクセント記号が正しく表示されるUTF-8 BOM付きを選べます。値は表示どおりか元の値かを選べます。
ダウンロード
1つのシートを.csvファイルとして、または全シートをまとめてZIPでダウンロードできます。
CSVに実際に入る内容
「Excelでの表示どおり」は、セルの見た目をExcelに問い合わせるわけではありません。Excelの表示形式コードを独自に実装し、ここで数値の表示を描き直しています。一般的なライブラリは、実際に使われている何百もの表示形式を誤って処理するからです。例外は、表示用のテキストをすでに持っているファイルです。OpenDocumentのシートや、Webアプリが.xlsという名前で出力するHTMLの表では、保存されたテキストをそのまま使います。どちらのモードでも、日付がシリアル値のまま出力されることはありません。ブック自身の基準日フラグを読み取るので、古いMac版Excelで作られたファイルは必要な1,462日分だけずらします。また、Excelが存在すると思い込んでいる日(1900年2月29日)も本来の位置にそのまま再現し、それ以降の日付がすべて1日ずれることはありません。
ファイルをほかのシステムに渡す前に、確認しておきたい既定値が3つあります。区切り文字の初期値はブラウザのロケールに従うので、小数点にカンマを使う設定のパソコンではセミコロンが提示されます。改行は、別の設定を選ばない限りCR+LFで、最後の行のあとにも必ず改行が入ります。引用符は最小限で、区切り文字、引用符、改行、または先頭・末尾の空白を含む項目だけを引用符で囲みます。ただし特例が1つあり、最初のセルが「sep=」の場合は、Excelがデータを区切り文字の指定と誤解しないよう引用符で囲みます。
結合セルの扱いは2通りで、既定は控えめなほうです。結合範囲の左上のセルだけが値を持ち、残りは空になります。真偽値はどちらのモードでもTRUEとFALSEとして書き出し、エラーの入ったセルはそのエラーのテキストとして出力します。等号で始まるセルを無害化する処理は行いません。ここで書き出したCSVはブックにあったとおりのテキストを再現するので、信頼できない出どころのシートであれば、次にファイルを開くソフトにとって数式は数式のままです。これはこのツールではなくCSVという形式の性質であり、出どころの分からないデータは先にビューアーで開くべき理由でもあります。
ほかの目的には
ブックは全体を読み込みます。ファイルの上限は200 MBで、圧縮された中身の展開後のサイズが2 GBを超えると申告している場合は処理を止めます。それを超える場合や、定期的に実行する処理には、このページではなくデスクトップのツールが適しています。画面なしモードのLibreOfficeなら、1つのコマンドでシートをCSVに変換できます。100 MBの抽出データから残りを展開せずに1列だけを取り出すなら、qsvやMillerがCSVをストリームとして読み書きします。
また、送り先が人ではなくデータベースやデータパイプラインなら、そもそもCSVが正しい変換先なのかを考えてみてください。CSVは自身の区切り文字、小数点記号、文字コードを記録できません。だからこそ、どのCSVの取り込みも、本来誰も答えなくていいはずの3つの質問から始まるのです。Parquetなら型を、JSON Linesなら構造を保持でき、どちらもDuckDBやpandasなど、どのみちCSVを読み込むはずだったソフトがそのまま読み込めます。
よくある質問
スプレッドシートはどこかに保存されますか?
いいえ。ブックが保存されることはなく、どこにも送信されません。給与台帳や顧客リストなど、Webサイトに渡したくないデータにとってこれは重要です。
シートが複数ある場合はどうなりますか?
1つのCSVファイルに入る表は1つなので、シートごとに別々のCSVになります。必要なシートを選ぶか、すべてをまとめてZIPでダウンロードしてください。非表示のシートも一覧に表示され、非表示であることが示されます。
日付や数値はExcelと同じように表示されますか?
「Excelでの表示どおり」を選ぶと、15/03/2024、1,234.50、12%のように、Excelが表示しているとおりのテキストを書き出します。これはExcel自身の「CSVとして保存」と同じ動作です。「元の数値、ISO形式の日付」を選ぶと、ただの数値と2024-03-15のようなISO 8601形式の日付を書き出し、データベースやプログラムが推測なしで読み込めます。
CSVをExcelで開くと文字化けするのはなぜですか?
Excelは、ファイルの先頭にバイトオーダーマーク(BOM)がない限り、CSVをパソコンの古い地域別の文字コードで読み込みます。「UTF-8 BOM付き」を選べば、アクセント記号、キリル文字、アラビア文字、漢字、絵文字も正しく表示されます。データベースやプログラミングには、BOMなしのUTF-8のほうが適しています。
カンマとセミコロン、どちらにすべきですか?
小数点にカンマを使う国(ヨーロッパや南米のほとんど)では、Excelは項目の区切りにセミコロンを想定しています。そうした国向けにはセミコロン、それ以外はカンマ、データにその両方が多く含まれるならタブを選んでください。
数式、結合セル、非表示の行はどうなりますか?
数式は計算結果として書き出します。結合セルの値は最初のセルに入りますが、結合範囲内のすべてのセルに繰り返すこともできます。非表示の行と列は、除外を選ばない限り含まれます。
ご注意: CSVに保存されるのは値だけです。セルの書式、数式、グラフ、画像は形式に含まれません。パスワード付きのブックは、先にパスワードを解除してください。
このツールをあなたのサイトに設置
ブログ、授業のページ、ヘルプ記事などに無料で設置できます。コードを1つ貼り付けるだけで、訪問者がそのページ上でツールを使えるようになります。