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

从HTML提取表格转Excel并上传SharePoint遇空值问题求助

问题

需求:从HTML文件提取表格,转成Excel格式后上传至SharePoint。
问题:用以下Compose公式提取表格时返回空值:

slice(outputs('Compose'),indexOf(outputs('Compose'),'<table'),indexOf(outputs('Compose'),'</table'))

提供的目标HTML表格代码:

<table class="c50">
<tr class="c0">
<td valign="top" class="c1"><p class="c2"><span class="c3"><b>Header Id</b></span></p>
</td>
<td valign="top" class="c4"><p class="c5"><span class="c3"><b>Order Number</b></span></p>
</td>
<td valign="top" class="c6"><p class="c7"><span class="c3"><b>Receipt Date</b></span></p>
</td>
</tr>
<tr class="c0">
<td valign="top" class="c46"><p class="c2"><span class="c47">29320250</span></p>
</td>
<td valign="top" class="c48"><p class="c5"><span class="c47">696157</span></p>
</td>
<td valign="top" class="c49"><p class="c7"><span class="c47">2023/08/24 00:00:00</span></p>
</td>
</table>
解决方案

公式错误原因

  1. 索引匹配失效:如果Power Automate已自动解码HTML实体(即实际内容是<table>而非&lt;table),indexOf找不到指定字符串会返回-1,直接导致slice输出空值。
  2. 切片范围不完整:slice的第三个参数是结束位置,仅取&lt;/table的起始索引会漏掉结束标签本身,同时导致切片范围无效。

修正后的公式

情况1:HTML实体已解码(内容为<table>/</table>)

slice(outputs('Compose'),indexOf(outputs('Compose'),'<table>'),add(indexOf(outputs('Compose'),'</table>'),8))

情况2:HTML实体未解码(内容为&lt;table/&lt;/table)

slice(outputs('Compose'),indexOf(outputs('Compose'),'&lt;table'),add(indexOf(outputs('Compose'),'&lt;/table'),10))

注:add(...,8)是因为</table>长度为8,&lt;/table长度为10,确保完整包含结束标签。

后续流程(转Excel+上传SharePoint)

  • 提取到完整表格HTML后,使用Power Automate内置的Convert HTML to Excel动作生成Excel文件。
  • 用Create file或Upload file动作将Excel文件上传到目标SharePoint文档库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:06:09