html表格导出为word文档,导出的部分表格内无法填写文字

导出技术实现:fileSaver.js+html-docx-js

1.npm安装
复制代码
npm install --save html-docx-js
npm install --save file-saver
2.页面引入
复制代码
import htmlDocx from 'html-docx-js/dist/html-docx';
import saveAs from 'file-saver';


components: {
    htmlDocx,
    saverFile,
},
3.页面布局
先在页面使用html绘出表格样式
复制代码
<div id='exportId'>
   <table  border="1" cellspacing="0" style="font: 16px SimSun;table-layout: fixed;width:100%;">
    <tr align="center">
        <td valign="middle" style="height:55px;font: 16px SimHei">名字</td>
        <td valign="middle" style="padding-left:5px;" align="left">
          {{inscriber}}
        </td>
        <td style="height:55px;font: 16px SimHei" valign="middle">出生日期</td>
        <td style="padding-left:5px;" align="left" valign="middle">
          {{inscriber}}
        </td>
    </tr>
    <tr align="center">
        <td style="height:55px;font: 16px SimHei" valign="middle">部门</td>
        <td  align="left" valign="middle" style="padding-left:5px">
          {{inscriber}}
        </td>
        <td valign="middle" style="font: 16px SimHei">考核结果</td>
        <td valign="middle" align="left" style="padding-left:5px">
        </td>
    </tr>
    <tr>
        <td align="center" style="height:200px">
            <div style="font: 16px SimHei">部门领导</div>
            <div style="font: 16px SimHei">意见</div>
        </td>
        <td valign="bottom" colspan="3" style="height:200px;">
            <p></p>
            <p style="padding-left:100px">&nbsp;&nbsp;组长:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部门领导:&nbsp;&nbsp;
            </p>
            <p style="text-align:right">
                年&nbsp;&nbsp;月&nbsp;&nbsp;日&nbsp;&nbsp;
            </p>
        </td>
    </tr>
  </table>
</div>
复制代码
在页面可以看到效果
4.导出word
复制代码
exportWord(){
      let htmls = document.getElementById('exportId') //获取需要导出的标签
      this.allDomObj = htmls.cloneNode(true)
      this.exec(this.allDomObj.innerHTML.toString()) // 导出的方法
}
exec(htmls) {
      let page =
        `<!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="utf-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width,initial-scale=1.0">
          <link rel="icon" href="<%= BASE_URL %>favicon.ico">
        <body>
          <div style="text-align:center;margin:0;padding:0;margin-bootom:10px"><p style="font: 29.3px Simsun;">` +
          '考核表'+
        `</p></div>
          <div id="app"> ` +
        htmls +
        ` </div>
        </body>
    </html>
    `
    console.log('page', page)
    let converted = htmlDocx.asBlob(page)
    saverFile(converted, this.title2 + '.docx')
},
导出的word如下,样式没问题,但是红色区域写不了字


5.解决

把部门领导意见部分页面布局修改一下,红色部分使用一个td布局,左侧使用合并行,同时把边框变为白色,就能写字了

复制代码
    <tr>
        <td align="center" rowSpan="2" style="height:200px">
            <div style="font: 16px SimHei">部门领导</div>
            <div style="font: 16px SimHei">意见</div>
        </td>
        <td colspan="3"  style="border-bottom:1px dotted #fff;height:150px" >
          <p></p>
        </td>
    </tr>
    <tr>
        <td valign="bottom" colspan="3" style="border-top:1px dotted #fff;">
            <p></p>
            <p style="padding-left:100px">&nbsp;&nbsp;组长:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部门领导:&nbsp;&nbsp;
            </p>
            <p style="text-align:right">
                年&nbsp;&nbsp;月&nbsp;&nbsp;日&nbsp;&nbsp;
            </p>
        </td>
    </tr>
相关推荐
_处女座程序员的日常1 天前
如何预览常见格式word、excel、ppt、图片等格式的文档
前端·javascript·word·excel·开源软件
学会用脚编程2 天前
word转Pdf,在window正常,放在linux服务器上就转出来中文是空白
pdf·word
跟着珅聪学java2 天前
在Java中判断Word文档中是否包含表格并读取表格内容,可以使用Apache POI库教程
java·开发语言·word
CodeCraft Studio3 天前
国产化Excel处理控件Spire.XLS教程:如何使用 Java 将 TXT 文本转换为 Excel 表格
java·word·excel·spire·文档格式转换·txt转excel
开开心心就好4 天前
电子报纸离线保存:一键下载多报PDF工具
网络·笔记·macos·pdf·word·音视频·phpstorm
书中自有妍如玉4 天前
Node.Js 实现模板生成Word、Word转Pdf文件、Excel生成、上传和下载
pdf·node.js·word
格兰芬多呼神护卫5 天前
python实现Latex格式的公式转OMML并写入word
python·c#·word
不坑老师6 天前
利用不坑盒子在WPS中插入网页,放映的电脑无需安装插件,直接就能显示网页!
microsoft·word·powerpoint·wps
ljh_learn_from_base6 天前
【spring boot 使用apache poi 生成和处理word 文档】
java·spring boot·word·apache
2501_920955576 天前
Word崩溃打不开?实测三款Word文档修复工具!
word