You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API读取Excel数据时如何保留单元格原有文本格式与换行?

普通Excel数据读取接口默认返回的是单元格纯文本值,不会携带局部文本的格式信息,手动在内容里加<br>标签本质是插入普通文本字符,不会被接口识别为格式标记,自然无法实现格式保留效果。

Excel单元格的加粗、下划线、局部字体样式、手动换行等富文本效果,是和纯文本分开存储的富文本Run级属性,和文本内容本身独立,普通取值接口不会读取这部分属性。

可行方案

1. 调用富文本专用读取接口

不要使用返回纯文本的普通取值接口,改用对应平台提供的富文本读取能力:

  • 若使用微软Graph API,不要请求values字段,改为请求单元格的richText字段。该字段会将单元格内容拆分为多个文本片段,每个片段会返回对应文本内容、加粗/下划线/字号/字体颜色等格式参数,拿到分段结果后可自行拼接为HTML、Markdown等你需要的带格式内容。
  • 若使用服务端SDK处理Excel(如OpenXML SDK、EPPlus、NPOI等),不要读取单元格的纯字符串值属性,找到单元格对应的RichText集合属性,遍历每一个文本Run,逐段读取内容和绑定的格式标记。
  • 关于换行:Excel单元格内的手动换行本质是文本中携带的\n(ASCII编码10)字符,读取富文本内容时只要将识别到的\n转换为对应场景需要的换行标记(如前端场景的<br>、Markdown的双空格换行)即可,不需要手动在单元格内容里插入标签。

富文本接口返回的结构参考如下:

{
  "richText": [
    {"text": "Example of a big big text. ", "format": {}},
    {"text": "This is underlined", "format": {"underline": true}},
    {"text": " I add a breakpoint but it doesnt recognize when i get the data", "format": {}}
  ]
}

拿到分段结果后,按照每个片段的格式参数包裹对应标签即可,例如下划线文本包裹<u>标签、加粗文本包裹<strong>标签。

2. 无富文本接口时的替代方案

如果你当前使用的拉取接口本身不支持返回富文本属性,直接放弃用该接口取带格式内容:

  • 直接获取源Excel文件解析,.xlsx格式本质是zip压缩包,内部的xml文件完整存储了所有富文本分段和格式信息,可以用成熟的Excel处理SDK读取,不需要自己解析压缩包内容。
  • 不推荐手动在单元格内插入HTML标签模拟格式的方案,这种方式需要额外写规则识别标签,还要处理标签在Excel端的显示隐藏问题,维护成本极高。

内容的提问来源于stack exchange,提问作者Nuno Marques

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:00:52