如何将动态生成的 HTML 表格插入 iframe 以实现导出 Excel 功能?

如何将动态生成的 html 表格插入 iframe 以实现导出 excel 功能?

html 元素动态插入 iframe

本文讨论了如何在 iframe 中动态插入 html 元素以满足将表转换成 excel 的要求。

在提供的问题代码中,从服务器获取的 html 数据形式如下:

<html xmlns:x="urn:schemas-microsoft-com:office:excel">
  <head>
    <meta http-equiv="content-type" content="application/ms-excel; charset=gb2312" />
    <!-- [if gte mso 9]>
    <xml>
      <x:excelworkbook>
        <x:excelworksheets>
          <x:excelworksheet>
            <x:name>sheetname</x:name>
            <x:worksheetoptions>
              <x:print>
                <x:validprinterinfo />
              </x:print>
            </x:worksheetoptions>
          </x:excelworksheet>
        </x:excelworksheets>
      </x:excelworkbook>
    </xml>
    <![endif]--><!>
  </head>
  <body>
    <table>
      <tbody>
        <tr>
          <th>交易日期</th>
          <th>总订单数</th>
          <th>交易总额</th>
          <th>完成订单数</th>
          <th>完成总额</th>
          <th>撤单总订单数</th>
          <th>撤单总额</th>
        </tr>
        <tr>
          <td>2017-12-05</td>
          <td>7414</td>
          <td>1483.6</td>
          <td>7414</td>
          <td>1483.6</td>
          <td>0</td>
          <td>0</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

为了将此 html 片段插入到 iframe 中,以下步骤可能有用:

  1. 创建 iframe 元素:

    <iframe id="exceliframe" style="width: 600px; height: 400px;"></iframe>
  2. 使用 document.getelementbyid("exceliframe").contentwindow.document 访问 iframe 的文档对象:

    const iframedocument = document.getelementbyid("exceliframe").contentwindow.document;
  3. 然后,您可以使用 iframedocument.body.innerhtml = htmldata 来将获取的 html 数据插入 iframe 的正文中:

    iframeDocument.body.innerHTML = htmlData;

通过这些步骤,动态生成的 html 表格将插入到 iframe 中,用户可以将其另存为 excel 文件以完成导出操作。

以上就是如何将动态生成的 HTML 表格插入 iframe 以实现导出 Excel 功能?的详细内容,更多请关注其它相关文章!