如何在LibreOffice Calc中访问单元格内的原始HTML?
提取LibreOffice/OpenOffice Calc中带链接的HTML内容方案
一、内置操作快速查看原始HTML
- 复制到纯文本编辑器:选中目标单元格按
Ctrl+C,粘贴到记事本、VS Code等纯文本编辑器,直接就能看到原始HTML代码(Calc复制富文本时会携带HTML格式,纯文本工具会直接显示源码)。 - 开启视图显示:打开「工具」→「选项」→「LibreOffice Calc」→「视图」,勾选「显示HTML代码」,单元格会直接展示HTML内容(OpenOffice路径完全一致)。
二、公式提取HTML片段(适用于标准格式)
如果单元格里的HTML是标准结构(比如<a href="xxx">yyy</a>),LibreOffice可以用FILTERXML函数直接提取关键内容:
- 提取链接地址:
=FILTERXML("<root>"&A1&"</root>", "//a/@href") - 提取链接显示文本:
=FILTERXML("<root>"&A1&"</root>", "//a/text()")
注:OpenOffice Calc没有
FILTERXML函数,此方法仅适用于LibreOffice。
三、导出CSV时保留HTML格式
默认导出CSV会丢失格式,调整导出选项即可解决:
- 点击「文件」→「另存为」,选择「CSV文本」格式后点「保存」。
- 在弹出的「导出文本」对话框中,找到并勾选「保存单元格内容的格式」(部分版本叫「保留富文本格式」),确认后导出的CSV会包含原始HTML代码。
- 若找不到上述选项,可先导出为ODS格式,将ODS文件改为
.zip后缀解压,打开content.xml文件即可提取所有单元格的HTML源码。
四、自定义宏提取完整HTML(进阶)
如果前面的方法都不适用,用LibreOffice/OpenOffice Basic写个简单宏就能直接在表格中调用:
Function GetCellHTML(oCell As Object) As String Dim oText As Object oText = oCell.Text GetCellHTML = oText.convertToToUrl("text/html") End Function
使用方法:在新单元格输入=GetCellHTML(A1),即可返回A1单元格的原始HTML。
注:需先在「工具」→「宏」→「安全性」中设置宏安全等级为「中」或「低」才能运行。
OpenOffice兼容性说明
OpenOffice Calc与LibreOffice操作逻辑高度一致:内置视图调整、导出设置、宏方案均可直接使用;仅公式提取部分,因OpenOffice无FILTERXML函数,需改用其他方法。
内容的提问来源于stack exchange,提问作者cazort
相关产品推荐
相关产品推荐

