freemarker实现导出word复选框可点击效果
记一次java导出word文档,导出的word文档里包含复选框并且能点击,一开始做了个输出字符的,比如这样: □,然而并不能满足需求,网上找了一大堆也都是这种的。
正文开始:
先在word中添加复选框
打开 开发工具-->设计模式
添加复选框

添加完之后关闭 设计模式

将word另存为

notepad++打开刚才的xml文件 切记不要格式化(过程中曾尝试不添加复选框格式化没问题,添加了复选框的这里如果格式化的话最后生成的word会打不开)

添加 freeMarker语法

<#if checkBox1=="true">
<#else>
</#if>
checkBox1为java代码map中的key eg:dataMap.put("checkBox1","true");
添加完之后保存会提示个xml格式错误啥的不用管
将xml文件后缀改为ftl放入java项目中
java代码:
try {
//创建配置实例
Configuration configuration = new Configuration();
//设置编码
configuration.setDefaultEncoding("UTF-8");
configuration.setOutputFormat(XMLOutputFormat.INSTANCE);
//ftl模板文件
configuration.setClassForTemplateLoading(ProjectInfoChangeController.class, "/static/office/");
//获取模板
Template template = configuration.getTemplate("这里是刚才ftl格式的文件名.ftl","UTF-8");
String fileName = "这里是输出的word名.doc";
//输出文件
File outFile = new File(ConstantsContext.getOfficeFileUploadPath() + fileName);
//如果输出目标文件夹不存在,则创建
if (!outFile.getParentFile().exists()) {
outFile.getParentFile().mkdirs();
}
//将模板和数据模型合并生成文件
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));
//生成文件
template.process(dataMap, out);
//关闭流
out.flush();
out.close();
FileInputStream fileInputStream = new FileInputStream(ConstantsContext.getOfficeFileUploadPath() + fileName);
return renderFile(fileName, fileInputStream);
}catch (Exception e){
log.error("导出*******发生异常,信息:{}",e);
}
详细代码其他博客都有很多
WordMl格式浅析:https://www.doc88.com/p-0304343804150.html
欢迎各位大佬指正。。。
freemarker实现导出word复选框可点击效果的更多相关文章
- 你见过吗?9款超炫的复选框(Checkbox)效果
复选框(Checkbox)在各个浏览器中的效果不一致,因此很多 Web 开发人员会自己重新设计一套界面和使用体验都更佳的复选框功能.下面就给大家分享9款超炫的复选框(Checkbox)效果,纯 CSS ...
- jsp页面设置复选框checkbox的只读效果
提到只读,很容易想到readonly属性,但是对于复选框来说,这个属性和期望得到的效果是有差别的.原因在于readonly属性关联的是页面元素的value属性(例如text,设置了readonly就不 ...
- element-ui 复选框,实现点击表格当前行选中或取消
背景: 1.表格结构绑定事件 <el-table v-loading="StepsListLoading" :data="StepsListData" b ...
- 好看的复选框(Checkbox)效果
在线演示 源码下载
- [Selenium With C#基础教程] Lesson-07 复选框
作者:Surpassme 来源:http://www.jianshu.com/p/98ede43da3c3 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. [作者:Surp ...
- js根据选中的复选框,隐藏那一行
如图,选择复选框,点击“隐藏”按钮,隐藏选中行 1.JavaScript代码: function getCheckedIds() { var checkedSubject = $('#showSbgl ...
- 关于MUI v0.18.0版本 Table组件里的复选框不能选的解决方案
前段时间在用MUI的时候,Table组件出现复选框不能选的bug(描述: 点击复选框,点击事件会触发,复选框勾选状态无变化). 解决方法: 用CheckBox组件代替Table组件自带的复选框. 解决 ...
- angularJS批量删除 品优购删除品牌(通用复选框批量选中删除解决思路)
思路: 一步:在点击复选框时维护变量数组 在js中定义一个数组变量, 给复选框添加点击动作, 在动作中判断当前复选框是否为选中状态(即点击后复选框的是否选中状态), 若为选中状态,则向数组中添加选中的 ...
- vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解
最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...
- javascript实现复选框的全选全不选
通过复选框的id获取到复选框 元素 对复选框绑定点击事件 每个checkbox都设置相同的name checkOne 通过得到的元素获取checkbox的状态 当点击全选全不选checkbox时,检查 ...
随机推荐
- oeasy教您玩转vim - 84 - # 命令command
命令 command 回忆 关于 函数function 可以调用别的函数 :call append(0,"oeasy o2z o3z") 还可以执行表达式 :call exec ...
- 第五节 JMeter基础-初级登录【断言的好处】
声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改. 1.认识JMeter (1)断言 预期结果和实际结果的比较,如果不一样,断言失败. 2.注册 (1)直接复制[登录]粘贴一下 ...
- Python 基于xml.etree.ElementTree实现XML对比
测试环境 Python 3.6 Win10 代码实现 #!/usr/bin/env python 3.4.0 #-*- encoding:utf-8 -*- __author__ = 'shouke' ...
- Linux 基于flock命令实现多进程并发读写文件控制
基于flock命令实现多进程并发读写文件控制 需求描述 实际项目中,需要在Linux下通过shell脚本并发读写同一个文件,但是希望同一时刻,只有一个进程可以在读.写目标文件. 解决方案 使用floc ...
- 【DataBase】MySQL 02 MySQL的配置详细
参考至视频:P8 - P11部分 https://www.bilibili.com/video/BV1xW411u7ax 配置文件的介绍 最基本的只需要这三项就行了,演示的其他配置在新版都不支持了貌似 ...
- 【SpringBoot】05 探索配置方式 Part1 指定和导入配置的注解
@PropertySource & @ImportResource @ConfigurationProperties默认从全局配置文件中读取 我们可以拆解出来分成单独的配置文件 [提取Bean ...
- 强化学习分布式经验回放框架(experience replay)reverb的安装
框架reverb的相关介绍: https://www.cnblogs.com/devilmaycry812839668/p/16260799.html ======================== ...
- 神经网络初始化:xavier,kaiming、ortho正交初始化在CNN网络中的使用
xavier.ortho是神经网络中常用的权重初始化方法,在全连接中这两种权重初始化的方法比较好理解,但是在CNN的卷积网络中的具体实现却不好理解了. 在CNN网络中xavier的初始化可以参看: [ ...
- JDBC Vertica Source Connector 使用文档
支持以下引擎 Spark Flink SeaTunnel Zeta 关键特性 批处理 精确一次性处理 列投影 并行处理 支持用户自定义拆分 支持查询 SQL 并实现投影效果 描述 通过 JDBC 读取 ...
- 017.Kubernetes二进制集群扩容worker
一 前置准备 1.1 互信配置 为了更方便远程分发文件和执行命令,本实验配置master节点到其它节点的 ssh 信任关系. 1 [root@master01 ~]# ssh-copy-id -i ~ ...