Excelやスプレッドシートの表をMarkdownに貼る方法
Markdown表・表データ変換コラム
今回は、表計算ソフトで作った表をMarkdownに持っていく方法の話です。
記事やREADMEに載せる表を、いちいち手で組み直すのは面倒です。
元の表がある以上、変換で済ませたいところです。
コピーしたデータの正体はタブ区切り
Excelやスプレッドシートでセル範囲を選んでコピーすると、クリップボードにはタブで区切られたテキストが入っています。
セルの区切りがタブ、行の区切りが改行です。
つまり、コピーした時点で「表の構造を持ったテキスト」になっているので、あとは | の形に組み替えるだけで変換できます。
メモ帳に貼ってみると、この状態が確認できます。
一見きれいに並んで見えるのは、タブ幅で桁が揃っているからです。
変換の手順
- 表計算ソフトで、ヘッダを含めて範囲を選択してコピー
- 変換ツールの左側の欄に貼り付け
- 右側に出てきたMarkdownをコピー
CSVで書き出して読み込ませる手もありますが、貼り付けの方が手数が少ないです。
ファイルを経由しないぶん、文字コードの心配もありません。
※ CSVファイルから始める場合、Excelで保存したCSVは環境によって Shift_JIS になるので、そこで文字化けする場合があります。
ヘッダ行の扱い
1行目を見出しとして扱うかどうかは、変換前に決めておく必要があります。
ヘッダのないデータをそのまま変換すると、1行目のデータが見出しになってしまいます。
このツールでは「1行目をヘッダとして扱う」の切り替えを用意していて、外した場合は空のヘッダ行を補う形にしています(Markdownの表はヘッダを省略できないため)。
数式やセルの装飾は落ちる
コピーされるのは、あくまで表示されている値です。
- 数式 → 計算結果の値だけが入る
- セルの色、太字、罫線 → 反映されない
- 結合セル → 分解される(内容は左上のセルに入り、他は空欄)
このうち結合セルだけは、変換後に手直しが必要になることがあります。
Markdownの表はセル結合という概念を持っていないので、こればかりは形を変えるしかありません。
表とMarkdownを相互に簡単変換
Markdown表 相互変換ツールなら、コピペするだけでExcel表とMarkdown表を双方向に整形できます。