Vue中实现将html导出为word文档

需求:将页面整成理想样式,将想要的那一部分页面导出成word,不用写模板,按照当前页面样式导出即可。

方法1:使用插件 mhtml-to-word

插件地址:https://www.npmjs.com/package/mhtml-to-word

插件描述: mhtmlToWord.js 是将 html 模板字符串通过模板引擎转换并导出 word 文件的 js 库,它支持浏览器环境和 nodejs 支持环境如 react,vue 等。

(1)安装需要的依赖

npm install file-saver --save
npm install mhtml-to-word --save

(2)在需要的地方引入依赖

import { exportWord } from 'mhtml-to-word';

(3)导出 html 为 word

    // 导出html为word
    htmlExportWord() {
      console.log('html导出word');

      let html = `<div id="目录">
                    <h1 style="text-align: center;font-size: 35px">2023年1-4噪声功能区季度报告</h1>
                    <h3 style="text-align: center;font-size: 25px">目录</h3>
                  </div>`;

      let tableHtml = document.getElementById('eleTable').innerHTML;

      let htmlStr = `
                      <!DOCTYPE html>
                      <html lang="en">
                      <head>
                        <meta charset="UTF-8">
                        <meta name="viewport" content="width=device-width, initial-scale=1.0">
                        <title>Document</title>
                      </head>
                      <body>
                        ${html}
                        ${tableHtml}
                      </body>
                      </html>
                    `;
      console.log(htmlStr);

      exportWord({
        mhtml: htmlStr,
        data: { title: "exportword" },
        filename: "exportTest",
        style: ""
      })

    },

效果图:
在这里插入图片描述

方法2:直接使用插件 html-docx-js 或者使用插件 html-docx-js 和 file-saver

插件文档: http://docs.asprain.cn/html-docx/readme.html

(1)安装需要的依赖

npm install file-saver --save
npm install html-docx-js --save

(2)在需要的地方引入依赖

import { saveAs } from 'file-saver';
import htmlDocx from 'html-docx-js/dist/html-docx';

(3)导出 html 为 word

html:

    <div>
      <button @click="htmlExportWord">html导出word</button>
    </div>

    <div data-v-1a1eb75f style="margin-top: 60px; margin-bottom: 30px;" id="eleTable">
      <div data-v-1a1eb75f style="font-size: 16px; font-family: 仿宋; text-align: center;">表1 2022年第1-4季度各类功能区监测点位达标率一览表</div>
      <div
        data-v-1a1eb75f
        class="el-table el-table--fit el-table--striped el-table--border el-table--group el-table--enable-row-hover el-table--enable-row-transition el-table--medium"
        header-align="center"
        style="width: 100%;"
      >
        <div class="hidden-columns">
          <div data-v-1a1eb75f></div>
          <div data-v-1a1eb75f></div>
          <div data-v-1a1eb75f></div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
          <div data-v-1a1eb75f>
            <div data-v-1a1eb75f></div>
            <div data-v-1a1eb75f></div>
          </div>
        </div>
        <div class="el-table__header-wrapper">
          <table cellspacing="0" cellpadding="0" border="0" class="el-table__header" style="width: 1247px;">
            <colgroup>
              <col name="el-table_17_column_229" width="100" />
              <col name="el-table_17_column_230" width="100" />
              <col name="el-table_17_column_231" width="87" />
              <col name="el-table_17_column_232_column_233" width="80" />
              <col name="el-table_17_column_232_column_234" width="80" />
              <col name="el-table_17_column_235_column_236" width="80" />
              <col name="el-table_17_column_235_column_237" width="80" />
              <col name="el-table_17_column_238_column_239" width="80" />
              <col name="el-table_17_column_238_column_240" width="80" />
              <col name="el-table_17_column_241_column_242" width="80" />
              <col name="el-table_17_column_241_column_243" width="80" />
              <col name="el-table_17_column_244_column_245" width="80" />
              <col name="el-table_17_column_244_column_246" width="80" />
              <col name="el-table_17_column_247_column_248" width="80" />
              <col name="el-table_17_column_247_column_249" width="80" />
              <col name="gutter" width="0" />
            </colgroup>
            <thead class="is-group has-gutter">
              <tr class>
                <th
                  colspan="1"
                  rowspan="2"
                  class="el-table_17_column_229 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">年份</div>
                </th>
                <th
                  colspan="1"
                  rowspan="2"
                  class="el-table_17_column_230 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">城市</div>
                </th>
                <th
                  colspan="1"
                  rowspan="2"
                  class="el-table_17_column_231 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">类别</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_232 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">0类区(疗养区)</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_235 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">1类区(居民区)</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_238 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">2类区(混合区)</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_241 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">3类区(工业区)</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_244 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">4类区(交通干线)</div>
                </th>
                <th
                  colspan="2"
                  rowspan="1"
                  class="el-table_17_column_247 is-center el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">4b类区(铁路干线)</div>
                </th>
                <th class="el-table__cell gutter" style="width: 0px; display: none;"></th>
              </tr>
              <tr class>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_232_column_233 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_232_column_234 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_235_column_236 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_235_column_237 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_238_column_239 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_238_column_240 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_241_column_242 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_241_column_243 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_244_column_245 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_244_column_246 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_247_column_248 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">昼间</div>
                </th>
                <th
                  colspan="1"
                  rowspan="1"
                  class="el-table_17_column_247_column_249 is-center is-leaf el-table__cell"
                  style="background: rgb(32, 91, 187); color: rgb(255, 255, 255); font-size: 14px; height: 40px; padding: 0px;"
                >
                  <div class="cell">夜间</div>
                </th>
                <th class="el-table__cell gutter" style="width: 0px; display: none;"></th>
              </tr>
            </thead>
          </table>
        </div>
        <div class="el-table__body-wrapper is-scrolling-none">
          <table cellspacing="0" cellpadding="0" border="0" class="el-table__body" style="width: 1247px;">
            <colgroup>
              <col name="el-table_17_column_229" width="100" />
              <col name="el-table_17_column_230" width="100" />
              <col name="el-table_17_column_231" width="87" />
              <col name="el-table_17_column_232_column_233" width="80" />
              <col name="el-table_17_column_232_column_234" width="80" />
              <col name="el-table_17_column_235_column_236" width="80" />
              <col name="el-table_17_column_235_column_237" width="80" />
              <col name="el-table_17_column_238_column_239" width="80" />
              <col name="el-table_17_column_238_column_240" width="80" />
              <col name="el-table_17_column_241_column_242" width="80" />
              <col name="el-table_17_column_241_column_243" width="80" />
              <col name="el-table_17_column_244_column_245" width="80" />
              <col name="el-table_17_column_244_column_246" width="80" />
              <col name="el-table_17_column_247_column_248" width="80" />
              <col name="el-table_17_column_247_column_249" width="80" />
            </colgroup>
            <tbody>
              <tr class="el-table__row" style="height: 40px;">
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_229 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2022-1到2022-4</div>
                </td>
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_230 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">17个城市(包含县域)</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">监测点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">964</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">964</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2791</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2791</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">940</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">940</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">794</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">794</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">223</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">223</div>
                </td>
              </tr>
              <tr class="el-table__row el-table__row--striped" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">894</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">749</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2615</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2534</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">936</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">805</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">680</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">467</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">195</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">103</div>
                </td>
              </tr>
              <tr class="el-table__row" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标率(%)</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">92.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">77.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">93.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">90.8</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">99.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">58.8</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">87.4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">46.2</div>
                </td>
              </tr>
              <tr class="el-table__row el-table__row--striped" style="height: 40px;">
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_229 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2022-1到2022-4</div>
                </td>
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_230 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">17个城市城区</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">监测点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">964</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">964</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2791</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2791</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">940</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">940</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">794</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">794</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">223</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">223</div>
                </td>
              </tr>
              <tr class="el-table__row" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">894</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">749</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2615</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2534</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">936</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">805</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">680</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">467</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">195</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">103</div>
                </td>
              </tr>
              <tr class="el-table__row el-table__row--striped" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标率(%)</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">92.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">77.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">93.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">90.8</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">99.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">58.8</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">87.4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">46.2</div>
                </td>
              </tr>
              <tr class="el-table__row" style="height: 40px;">
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_229 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2022-1到2022-4</div>
                </td>
                <td
                  rowspan="3"
                  colspan="1"
                  class="el-table_17_column_230 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">13个地级城市(城区)</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">监测点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">944</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">944</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2743</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2743</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">920</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">920</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">774</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">774</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">219</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">219</div>
                </td>
              </tr>
              <tr class="el-table__row el-table__row--striped" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标点次</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">875</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">731</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2571</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">2489</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">916</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">785</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">660</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">455</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">191</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">99</div>
                </td>
              </tr>
              <tr class="el-table__row" style="height: 40px;">
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_231 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">达标率(%)</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_233 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_232_column_234 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">100.0</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_236 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">92.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_235_column_237 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">77.4</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_239 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">93.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_238_column_240 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">90.7</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_242 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">99.6</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_241_column_243 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.3</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_245 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">85.3</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_244_column_246 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">58.8</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_248 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">87.2</div>
                </td>
                <td
                  rowspan="1"
                  colspan="1"
                  class="el-table_17_column_247_column_249 is-center el-table__cell"
                  style="padding: 0px;"
                >
                  <div class="cell">45.2</div>
                </td>
              </tr>
              <!---->
            </tbody>
          </table>
          <!---->
          <!---->
        </div>
        <!---->
        <!---->
        <!---->
        <!---->
        <div class="el-table__column-resize-proxy" style="display: none;"></div>
      </div>
    </div>

注意: 请传递完整有效的HTML(包括DOCTYPE、html和body标记)。重要提示:这可能不太方便,但可以在 style 标记中包含 CSS 规则。

    // 导出html为word
    htmlExportWord() {
      console.log('html导出word');

      let html = `<div id="目录">
                    <h1 style="text-align: center;font-size: 35px">2023年1-4噪声功能区季度报告</h1>
                    <h3 style="text-align: center;font-size: 25px">目录</h3>
                  </div>`;

      let tableHtml = document.getElementById('eleTable').innerHTML;

      let htmlStr = `
                      <!DOCTYPE html>
                      <html lang="en">
                      <head>
                        <meta charset="UTF-8">
                        <meta name="viewport" content="width=device-width, initial-scale=1.0">
                        <title>Document</title>
                      </head>
                      <body>
                        ${html}
                        ${tableHtml}
                      </body>
                      </html>
                    `;
      console.log(htmlStr);

	  // 1.直接导出
      const converted = htmlDocx.asBlob(htmlStr, {
        orientation: "landscape",  // 跨域设置
      });

      if (window.navigator.msSaveBlob) {
        // 兼容IE浏览器
        window.navigator.msSaveBlob(converted, 'exported.docx');
      } else {
        const link = document.createElement('a');
        link.href = URL.createObjectURL(converted);
        link.download = '季度报告-element ul table.docx';
        link.click();
      }

      // 2.使用file-saver插件导出
      // saveAs(
      //   htmlDocx.asBlob(htmlStr, {
      //     orientation: "landscape",  // 跨域设置
      //   }),
      //   // 文件名
      //   '季度报告.doc'
      // )


    },

效果:
在这里插入图片描述
在这里插入图片描述
问题: table太长显示不全,但是可以在html中写样式让表格显示完全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值