Excelの表をCSVで渡す場面は多いですが、CSVはExcelブックの簡易版ではありません。
CSVは基本的に、表の値を区切り文字付きテキストとして保存する形式です。
CSVへ保存されるのは作業中のシート
Microsoftの現行サポートでは、CSV形式は作業中のシートだけを保存する形式として案内されています。
つまり、Sheet1、Sheet2、Sheet3があるブックをCSVへ保存しても、3シートが1つのCSVへ入るわけではありません。
必要ならシートごとに別CSVを作ります。
書式は消える
Microsoftは、テキスト形式へ保存するとすべての書式が削除されると明記しています。
たとえば、
- セルの色
- 太字
- 罫線
- 列幅
- 表示形式
などはCSVには残りません。
00123 がExcel上で表示形式によって5桁に見えているだけなら、CSV化後の見え方が変わることがあります。
数式そのものは残らない
CSVはExcelの数式を保持するブック形式ではありません。
通常、CSVには作業中シートのセルに表示されるテキストと値が保存され、Excelブックの数式構造は保持されません。なお、Excel側で『数式の表示』を有効にして数式そのものがセルに表示されている場合は、その表示文字列がCSVへ出ることがあります。
そのため、あとからCSVだけを開いても、元のExcel数式を計算式として復元する用途には使えません。
複数シート・図形・機能も残さない前提にする
CSVでは、
- 複数シート
- グラフ
- 図形
- ピボット
- 名前定義
- マクロ
- セルコメント
など、Excelブック固有の機能を保存する用途には向きません。
CSVは「データ交換用」と考えた方が安全です。
元のxlsxは上書きしない
CSVを作るときは、
元.xlsx
出力.csv
を別ファイルとして残します。
元ブックまでCSVへ置き換えてしまうと、数式・書式・別シートを失った後で戻せない可能性があります。
書き出したCSVを一度確認する
保存後は、
- 行数
- 列数
- 先頭ゼロ
- 日付
- 改行
- 文字コード
- 区切り
を確認します。
特に外部システムへインポートするなら、「Excelで見えていたもの」ではなく実際に出力されたCSVを確認することが重要です。
参考
- Microsoft Support: ブックをテキスト形式(.txt/.csv)で保存する
https://support.microsoft.com/ja-jp/excel/save-a-workbook-to-text-format-txt-or-csv - Microsoft Support: 他のファイル形式でブックを保存する
https://support.microsoft.com/ja-jp/excel/save-a-workbook-in-another-file-format
