Excel转Markdown,公式结果还在吗?

Excel转Markdown,公式结果还在吗?

2026-11-07 00:12:48 0点赞 0收藏 0评论

记号笔要备 12 支,手上还有 8 支,补货表里该填 4。用 MarkItDown 把这张 Excel 表转成 Markdown 后,我在那一格看到的却是 NaN。同样一条公式,换一份文件再转,结果又成了 4。区别不在公式写法,在于文件里有没有存下算好的数。

MarkItDown 能做什么

MarkItDown 是微软开源的文件转换工具。它能把 Excel、Word、PPT 等文件里的文字和表格提取成 Markdown。比如一份有多个工作表的库存表,转完就可以把需要的表复制到笔记里,不必逐行整理。它是命令行工具,没有要点开的转换窗口。这次只测本地的 .xlsx,不用登录,也不用填 API 密钥。

Windows 上怎么装、怎么转

先准备 Python 3.10 到 3.14,我用的是 3.12。把要转的文件放进一个单独的文件夹,在该文件夹打开 PowerShell。下面第一行建一个独立环境,第二行只安装读取 .xlsx 所需的组件,第三行确认版本。

python -m venv .venv ./.venv/Scripts/python.exe -m pip install "markitdown[xlsx]==0.1.9" ./.venv/Scripts/python.exe -m markitdown --version

想跟着试,可以新建一个 inventory.xlsx。第一张表叫「库存」,列名是物品、数量、单位,填上记号笔/8/支、标签纸/3/包。第二张叫「补货」,A 到 D 列依次是物品、目标库存、现有库存、需补数量。第 2 行填记号笔、12、8,D2 输入 =B2-C2;第 3 行填标签纸、5、3、2,最后的 2 直接输入。算完保存,再运行这条命令:

./.venv/Scripts/python.exe -X utf8 -m markitdown inventory.xlsx -o inventory.md

-o 后面是输出文件名。在同一文件夹用记事本打开生成的文件,就能看见 Markdown 源码。文件名带空格时,把对应的名字用英文双引号括起来。要保留上一次的结果,换一个输出名再转。

实测:同一条公式,为什么一份是 NaN、一份是 4?

下面是样表的「补货」页。选中 D2,公式栏显示 =B2-C2,格子里显示 4。标签纸那一行的 2 则是直接填进去的数字。

Excel 补货表的 D2 公式和数值Excel 补货表的 D2 公式和数值

为了单独看保存结果有没有影响,我用脚本做了两份表。第一份只写入公式,不存计算结果;第二份保留同一条公式,只在文件里补上它的结果 4。两份都用 MarkItDown 0.1.9 转换。

第一份里,「库存」和「补货」都成了 Markdown 小标题,物品名、数量和单位也都在。只有记号笔的补货数量成了 NaN,意思是这里没读到数字,不能当成 0。标签纸那格显示 2.0,数值还是 2。

未保存公式结果时,实际 Markdown 显示 NaN未保存公式结果时,实际 Markdown 显示 NaN

第二份里,同一个位置变成 4,标签纸显示 2。导出的文件里没有 =B2-C2,只有数字。这个对照测到的是 MarkItDown 读取了文件里已经保存的结果,4 不是转换时算出来的。平时直接用 Excel 做好表再保存,通常不用自己处理这个缓存。

保存了公式结果时,实际 Markdown 显示 4保存了公式结果时,实际 Markdown 显示 4

哪些表值得转?

库存清单、设备列表这类表,想摘到笔记里,转出来的文本就够用了。像这张样表的表头底色、冻结首行,转完都不在;如果还要继续填表、改公式,原来的 Excel 文件得留着。

有公式的表,我会先在表格软件里重新计算,再另存一份拿去转。转换后对照几格,优先看合计、差额和引用其他表的列。看到 NaN 就回原表查;看到了数字也要核一眼,因为文件里保存的可能是旧结果。平时只偶尔转一张小表,直接复制就行;要经常把多张表整理成文字,MarkItDown 才更省事。

项目地址:微软 MarkItDown 开源仓库 · 本次实测版本 0.1.9

作者提示含AI生成内容。作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松