ARTICLE · 1338036
我给 Obsidian 写了个插件:Word、Excel、PPT,直接贴进笔记里看
有天下午我在笔记里整理项目资料,同事发来一份《产品周报.docx》。我把它拖进 Obsidian,得到一个灰色的小方块——它不认识这个格式。
想看内容,得导出到桌面,双击等 Word 启动,看完关掉,再切回笔记,然后想:刚才读到哪了?
这个动作我一天要重复七八次。周报、预算表、评审 PPT、竞品导出的活动页……图片、PDF、音视频 Obsidian 都认识,偏偏日常最常收到的那几种格式,要跳出去才能看。
市面上的插件能解决一部分:有的只管 docx,有的只做 PDF 增强。我想要一个完整答案,于是动手写了 Any Viewer。
写一行 ![[文件.docx]],文件就地展开
和嵌入图片是同一种体验:把文件拖进笔记,光标处落下一行嵌入语法,文件在下面直接渲染出来。

同一篇笔记里,Word 周报和 Excel 预算表各自就位,不用切窗口
覆盖面一张表说清楚:
Excel 是我花时间最多的部分,先单独说它。
Excel 是重点:它连「有表情的表格」都还原
很多表格插件只给裸数据。可工作里收到的表格是有表情的:预算表里超支的格子是红的,完成率是绿的,表头是主题色的。
Any Viewer 用 exceljs 做了样式级还原——填充色(含主题色与 tint 深浅)、字体、边框、对齐、合并单元格、列宽行高、数字格式,都按原文件换算。下面这张图右下角那个 95.3% 是红的,因为它本来就在文件里是红的;¥120,000 也没被拆成裸数字。

预算总览与渠道明细两张工作表,货币、百分比、红绿底色原样保留
底部两个标签页对应两张工作表,点一下就切。.xlsx.xlsm 走这条精确还原的链路;.xls.csv.tsv 走另一条(SheetJS),给的是干净表格加多表切换——看着清爽,但不追样式。
剩下三种,各有各的省事法
Word 基于 docx-preview,标题层级、表格、加粗高亮、页眉页脚都在。绝大多数日常文档看内容完全没有问题。

产品周报在笔记里展开,标题层级与表格都在
PPT 按原始版式整份渲染,图片型页面(设计稿导出的那种)还原度最高。在嵌入里双击,会打开一个新标签页全屏看——临时抓来当讲稿,够用。

发布会方案 PPT 在嵌入里翻页,版式与配色保持原样
HTML 装进沙箱 iframe,外部样式自动内联,页面里引用的相对路径图片会接到库里的资源上;要不要允许执行脚本,设置里一个开关决定。

导出的活动页整页嵌进来,样式完整没有崩版
顺带一句:zip、exe、psd 这类打不开的格式不装死。它们会渲染成一张文件卡片——图标、文件名、大小,单击调用系统应用打开,Shift + 单击直接在访达里定位。
会嵌图片,就会用它
尺寸语法和图片完全一致:
![[预算.xlsx|640]] ![[文档.docx|300x200]] ![[发布.pptx|x200]]|640 限宽,|300x200 宽高都定,|x200 只限高度。会嵌图片就会用它,零学习成本。
插入有三条路:命令面板选文件、侧栏回形针图标、以及我最常用的——直接把文件拖进笔记,或者从微信、邮件里复制一份粘贴。粘贴和拖拽默认由插件接管,文件存进你设置的附件目录,立刻变成预览,重名自动加序号。
嵌入自带标题栏:单击文件名或双击内容在标签页里打开,右上角按钮还能用系统应用打开。
先说它做不到的地方
写插件和写产品文案不一样,有些边界得讲清楚:
- 超大表格会截断
:默认只渲染前 2000 行 × 80 列,超出时明确提示「点开标签页看全量」。这是性能和保护电池之间的取舍。 - 老二进制格式不支持
: .doc和.ppt请先另存为.docx/.pptx。 - Excel 的图表和条件格式不渲染
:数据、样式、数字格式都在,图表要回 Excel 看。 - Word 的还原度取决于 docx-preview
:艺术字、分栏混排这类极端排版会有出入。 - 单看某一项,它都不是最强的
:只做 Word 的、只做 Excel 的插件在单项上更细。它换的是「一个插件管五类文件」,以及省掉一次切窗口。
三种装法,30 秒验收
- 社区插件市场
(推荐):设置 → 第三方插件 → 搜索 Any Viewer; - BRAT
:执行 Brat: Add Beta Plugin,输入 tingke/obsidian-any-viewer; - 手动
:从 GitHub Releases 下载 main.js、styles.css、manifest.json,放进 .obsidian/plugins/any-viewer/,重载插件。
装完有个 30 秒验收法:打开任意 docx,立刻看到渲染;拖一个 xlsx 进来,点一下底部的 Sheet 标签;双击一份 pptx,全屏。三步都顺,它就已经在你的工作流里了。
最后
写它是因为我自己每天都想少跳出去几次,所以标准是「自己每天都要用」。
写这篇文章时我用真实文件重新截图自测,顺手修了两个 bug:Excel 的货币格式被错误展开成四位小数、PPT 全屏视图出现双滚动条。发现问题当天修掉发版,大概就是一个独立开发者维护插件的日常。
插件 MIT 协议开源,仓库在这里:github.com/tingke/obsidian-any-viewer,当前版本 v0.4.2。
如果你用它的时候遇到渲染不对、样式缺失,或者想要某个新格式——直接去 GitHub 提 Issue,附上出问题的文件最好。每一个 Issue 我都会看,它们比我一个人测试更能让这个插件变好。
用得开心的话,给仓库点个 star,就是对这个周末项目最大的鼓励。
你笔记里最常要跳出去看的是哪种文件?docx、xlsx,还是某个内部系统的导出页?















































































