🐈
[小ネタ]VSCode拡張 Excel to Markdown tableで、行の最後と次行の最初が複数行だとエラーになる
TL;DR
エクセル(Office Excel, Googleスプレッドシートなど)からExcel to Markdown tableを使うとき、行末のセルの改行は<br>
にしたほうが良さそうです。
環境
Excel to Markdown table v1.3.0
Mac Ventura
Excel for Mac 16.66.1
Ubuntu22.04
LibrePffice Calc 7.3.7.2
やりたいこと
1. セルの中に複数行の入ったマークダウンテーブルを作りたい
| Head | Head | Head |
| ---- | ---- | ---- |
| Text | Text | Text<br>Text |
| Text<br>Text | Text | Text |
Head | Head | Head |
---|---|---|
Text | Text | Text Text |
Text Text |
Text | Text |
2. エクセルで書いてからVSCode上でマークダウンにしたい
こちらを参考に、Excel to Markdown tableという拡張を使います。
エクセルでエリアをコピーしてExcel to Markdown table
を呼べば良さそうです。
使い方の例
囲んだ部分をコピーして
VSCode上でExcel to Markdown table
を実行すると、このようにマークダウンテーブルが出ます。この例では、複数行も問題なく出力できています。
| Head | Head | Head |
|------|---------------|---------------|
| Text | Text<br/>Text | Text<br/>Text |
| Text | Text | Text |
エラーになるとき
Ubuntu
Googleスプレッドシートからペースト
ある行の最後のセルと、次の行の最初のセルが複数行になっているとき、エラーになります。
Ubuntuだとこういうエラーが出ます。Macの場合は何も起きません。
コピーしたエリアをそのままペーストして確認すると、改行のあるセルが""
で囲まれていて、行末行頭の処理が判定できていないようです。
Head Head Head
Text Text "Text
Text"
"Text
Text" Text Text
LibreOfficeからペースト
エラーは出ません。改行はスペースになります。
| Head | Head | Head |
|-----------|------|-----------|
| Text | Text | Text Text |
| Text Text | Text | Text |
Mac
(Ventura)
Googleスプレッドシートからペースト
VSCode上でエラーは出ず、何も起こりません。
Office Excelからペースト
余計な改行と、"
が入ります
Head | Head | Head |
---|---|---|
Text | Text | Text Text" |
"Text Text |
Text | Text |
| Head | Head | Head |
|---------------------|------|----------------|
| Text | Text | Text<br/>Text" |
| <br/>"Text<br/>Text | Text | Text |
対策
改行\n
を<br />
または<br>
に置き換えれば想定通りになります。
置換後はこうなっています。
Head Head Head
Text Text "Text<br>Text
"
"Text
Text" Text Text
まとめ
マークダウンのテーブルで、複数行を入力するときは<br>
を使うのが良さそうです。
Discussion