1、需求说明

项目中有涉及到考试,做题的需求,要求导入word试题,试题带有公式,excel 也需要导入。当然了,有导入也会有导出,生成一张试卷的时候,需要将试卷导出成word 进行打印。试题当然是个列表,有如下几个参数。

  • 试卷名称
  • 试卷的题型
  • 题干
  • 分值
  • 选项(多个)
  • 正确答案
  • 知识点
  • 标签

2、准备工作

  • 制作你想要的word 模板

  • 另存为word为wordxml 文档

  • 将xml文件拷贝至编辑器中,博主放在了resource\word目录下,当然你可以随便找个地方放。格式化代码

  • 将文件后缀改成ftl

找到对应的文字描述信息,将上诉定义好的参数,用${字段名称}替换,博主这里循环了三次,试题循环、题目循环、选项循环

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<pkg:package xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage"><pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId4"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"Target="word/document.xml"/><Relationship Id="rId2"Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"Target="docProps/core.xml"/><Relationship Id="rId1"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"Target="docProps/app.xml"/><Relationship Id="rId3"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"Target="docProps/custom.xml"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/_rels/document.xml.rels"pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"><pkg:xmlData><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId5"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable"Target="fontTable.xml"/><Relationship Id="rId4"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml"Target="../customXml/item1.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"Target="theme/theme1.xml"/><Relationship Id="rId2"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings"Target="settings.xml"/><Relationship Id="rId1"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"Target="styles.xml"/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name="/word/document.xml"pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"><pkg:xmlData><w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"xmlns:v="urn:schemas-microsoft-com:vml"xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"xmlns:w10="urn:schemas-microsoft-com:office:word"xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData"mc:Ignorable="w14 w15 wp14"><w:body><w:p><w:pPr><w:pStyle w:val="3"/><w:bidi w:val="0"/><w:jc w:val="center"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:b/><w:bCs/><w:szCs w:val="36"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:bookmarkStart w:id="0" w:name="_GoBack"/><w:bookmarkEnd w:id="0"/><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${testPaperName}</w:t></w:r></w:p><#list testPaperList as t><w:p><w:pPr><w:pStyle w:val="4"/><w:bidi w:val="0"/><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${t.type}(共${t.cnt}题,${t.sumScore}分)</w:t></w:r></w:p><#list t.sysExamQuestions as e><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="360" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>${e.questionContent}</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="FF0000"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:eastAsia="zh-CN"/></w:rPr><w:t>(</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="FF0000"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${e.score}分</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="FF0000"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:eastAsia="zh-CN"/></w:rPr><w:t>)</w:t></w:r></w:p><#list e.answerData as a><w:p><w:pPr><w:keepNext w:val="0"/><w:keepLines w:val="0"/><w:pageBreakBefore w:val="0"/><w:widowControl w:val="0"/><w:kinsoku/><w:wordWrap/><w:overflowPunct/><w:topLinePunct w:val="0"/><w:autoSpaceDE/><w:autoSpaceDN/><w:bidi w:val="0"/><w:adjustRightInd/><w:snapToGrid/><w:spacing w:line="360" w:lineRule="auto"/><w:textAlignment w:val="auto"/><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:sz w:val="24"/><w:szCs w:val="24"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:sz w:val="24"/><w:szCs w:val="24"/></w:rPr><w:t>${a.optionsName}、${a.optionsContent}</w:t></w:r></w:p></#list><w:p><w:pPr><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="808080" w:themeColor="text1" w:themeTint="80"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="50000"/><w14:lumOff w14:val="50000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>正确答案:</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="FF0000"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>(${e.questionRight})</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:hint="default"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="808080" w:themeColor="text1" w:themeTint="80"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="50000"/><w14:lumOff w14:val="50000"/></w14:schemeClr></w14:solidFill></w14:textFill></w:rPr><w:t>知识点:</w:t></w:r><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="FF0000"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:t>${e.analysis}</w:t></w:r></w:p><w:p><w:pPr><w:rPr><w:rFonts w:hint="default"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:hint="eastAsia" w:ascii="仿宋" w:hAnsi="仿宋" w:eastAsia="仿宋" w:cs="仿宋"/><w:color w:val="808080" w:themeColor="text1" w:themeTint="80"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/><w14:textFill><w14:solidFill><w14:schemeClr w14:val="tx1"><w14:lumMod w14:val="50000"/><w14:lumOff w14:val="50000"/></w14:schemeClr></w14:solidFill></w14:textFill>

springboot + vue 导出word 试卷相关推荐

  1. SpringBoot Poi导出word,浏览器下载

    文章目录 SpringBoot Poi导出word,浏览器下载 1.引依赖: 2.写代码(生成本地word): 3.返回给浏览器下载 1.如何返回给浏览器让它下载 4.解决方案 5.为什么没使用eas ...

  2. 使用Vue导出word(纯前端,异步处理图片)

    项目需要导出word,于是乎又是查阅资料.然后自己写. 参考链接 https://github.com/evilc0des/docxtemplater-image-module-free https: ...

  3. vue 导出word文档(包括图片)

    vue 导出word文档(包括图片) 1.打开终端,安装依赖 -- 安装 docxtemplater npm install docxtemplater pizzip --save-- 安装 jszi ...

  4. 基于公司需求的探索vue导出word、xls、pdf

    技术的应用而生都是基于需求!崇尚技术积累经验! 如何运用开源js库来实现需求,是快速开发的目的!结合自己开发功能的经历来说!使用插件能更好的的解决解决交互的平滑顺畅!由于项目时间限制,只能采用开源的j ...

  5. Java使用freemarker导出word试卷

    使用了freemarker模板填充占位符的方式来生成word文档,支持跨平台. Java导出Word的五种方式 制作Word模板 将制作好的Word模板.docx另存为.xml格式,修改xml文件的内 ...

  6. Springboot 项目导出word文档(文档内容包括数据以及服务器图片)

    Springboot 项目freemarker导出word文档(文档内容包括数据以及服务器图片) 前些天有需求要完成导出word文档功能,基础数据导出word文档,网上也能搜到很多源代码,但是我这边要 ...

  7. Vue导出word附表部分横向显示(承接上一篇Vue纯前端导出word)

    Vue纯前端导出word直通车 1. 引入js import htmlDocx from "@/utils/html-docx"; 2. page-break-before:alw ...

  8. vue 导出word带图片

    下载依赖 包 npm install docxtemplater npm install pizzip npm install jszip npm install jszip-utils npm in ...

  9. vue导出word纯前端实现

    最近项目有个需求导出word,纯前端实现,查了查资料,用docxtemplater简直不要太简单. 直接把官网例子拿过来就可以了.!!! 官网地址 首先,新建一个docx文件,把模板先写好. 注意!! ...

最新文章

  1. iOS进阶之页面性能优化
  2. NUC1312 Sum【水题+数学题】
  3. latex 下划线_备战美赛!论文写作必备Latex排版教程之单词间隔、标题及交叉引用...
  4. 店宝宝电脑版_用店宝宝是为了什么?客服全权负责开启属于您的个人店铺
  5. Thread.yield()
  6. labview列表框禁用鼠标单击_【跟我学LabVIEW】什么是局部变量?如何创建及使用局部变量?...
  7. spark 存入hbase_Spark DataFrame写入HBase的常用方式
  8. leetcode162. Find Peak Element
  9. python input 文件路径_python 文件与目录操作
  10. 通过shell脚本提交网站404死链
  11. java 验证码的制作
  12. python程序的运行过程_python代码是怎样运行的
  13. MYSQL客户端访问服务端
  14. windows 使用自带的cmd终端进行文件MD5校验
  15. 51/STC12单片机SCON,PCON,TMOD寄存器定义及功能
  16. 小程序input框失去焦点后触发bindinput事件
  17. VFP命令,DBF数据内部函数
  18. 强化学习(一):Q-learning,附源码解读
  19. switch更新找不到服务器,switch更新无法连接服务器(图文)
  20. 4、selenium3的安装

热门文章

  1. Puppeteer将动态html页面生成pdf(终极解决方案)
  2. 大分子葡聚糖-牛血清蛋白抗原偶联物(Dextran-BSA)|多糖-蛋白偶联物
  3. matlab 文件打开方式,mex文件和mat文件打开方式
  4. php 宽字节注入 转成utf8,Hr-Papers|宽字节注入深度讲解
  5. 为什么楼主知道“菩提本无树”,却还在喊着“人生之不如意十有八九”
  6. 认识Chrome浏览器
  7. 文件服务器磁盘配额管理,文件服务器磁盘配额管理.doc
  8. 晶体管与计算机原理,从晶体管到计算机,与逻辑门的奥妙
  9. 二进制除法移位相减_二进制除法怎么算???急啊!!!
  10. 自然语言处理与计算机科学的关系