云海Excel转换Markdown表格工具

起因

Markdown是个挺好用的文档写作语言,有点有很多,学习成本低、很轻量、生成的文档也很美观、能很流畅的书写。

当然缺点也是有的,其中一个缺点就是markdown语法画表格实在太繁琐了,不过由于是纯文本编辑也的确有这样的限制。

最近在写文档时,涉及大量表格的编写,想法是在Excel里写好,再使用工具转成markdown格式。工具找到两个:

  • VS Code 的插件 Excel to Markdown table
  • Exceltk

结果使用下来两个都有缺陷,Excel to Markdown table 中文转成了乱码,Exceltk转出来的markdown有多于拼音字母,怀疑是由于拼音输入法导致。

由于上面问题想了想干脆自己写个工具吧(造个轮子)。

转换工具

也就是 soc-excel-convert 项目 云海Excel转换,使用Python开发,基于 openpyxl 读取Excel。

由于是使用python3.7开发,因此应该只支持Python3+,等有空也把Python2.7支持上吧。

目前是 0.9.3 版本,支持转换markdown表格,json暂时还不支持,其中对于文本中的特殊字符也会进行转义,比如换行符、大于、小于等。

使用也很方便,首先使用 pip 安装模块:

pip install soc-excel-convert

简单执行命令如下:

soc-excel-convert -e ./test/excel/demo1.xlsx

默认会在当前路径下生成demo1目录,以文件名命名,文件夹中会生成对应sheet的md文件,每个sheet一个,如下图:

生成的markdown文件

其中文档中的对齐策略以标题为准(即Excel首行内容),文件内容如下:

|English|中文|左对齐|中间对齐|右对齐|数量|带小数点数字|日期|超链接|换行|特殊字符|
|:--|:--|:--|:--:|--:|:--:|:--|:--|:--|:--|:--|
|show|怒发冲冠,凭栏处、潇潇雨歇。|左对齐|中间对齐|右对齐|3|19001.123456789|2019-07-19&nbsp;12:12:11|从这里点击|从这里<br />换行|特殊&gt;字符|
|me|抬望眼,仰天长啸,壮怀激烈。|左对齐|中间对齐|右对齐|4|1902200001.12345|2019-07-20&nbsp;00:00:00|[这里](https://github.com/treeyh)|这里换<br />行|特殊&vert;字符|
|the|三十功名尘与土,八千里路云和月。|左对齐|中间对齐|右对齐|5|1931231001.12345|2019-07-21&nbsp;00:00:00|从这里打开|这里换行<br />|特殊&lt;字符|
|money|莫等闲,白了少年头,空悲切!|左对齐|中间对齐|右对齐|6|19001.123456789|2019-07-22&nbsp;00:00:00|[这里](https://github.com/treeyh)|<br />这里换行|特殊&amp;字符|

然后贴到对应的markdown文档里就好啦。

附上参数说明:

短参数名长参数名是否必传默认值描述
-e--excelYNone指定需要转换的excel文件路径
-m--modeNmd指定转换格式, 可选参数: md(markdown)和json. <br />不传默认为md. 目前仅支持md;
-s--sheetsN''指定输出哪些sheet表格, 不传输出所有;
-t--targetN./{fileName}/输出目标路径. 不传默认当前目录. <br />如果目录不存在则会自动创建;

欢迎大家使用。

最后,感兴趣点个star呗 ^-^ soc-excel-convert

转载于:https://my.oschina.net/tree/blog/3077998

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值