需求:将页面整成理想样式,将想要的那一部分页面导出成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中写样式让表格显示完全。