当前位置: 首页 > wzjs >正文

深圳网站建设服务类公司优缺点如何做社群营销模式

深圳网站建设服务类公司优缺点,如何做社群营销模式,九一人才网赣州招聘,微信企业邮箱登录入口只使用freemaker生成简单的word文档很容易,但是当word文档需要插入动态图片,带循环数据,且含有富文本时解决起来相对比较复杂,但是使用Xdocreport可以轻易解决。 Xdocreport既可以实现文档填充也可以实现文档转换,此处…

只使用freemaker生成简单的word文档很容易,但是当word文档需要插入动态图片,带循环数据,且含有富文本时解决起来相对比较复杂,但是使用Xdocreport可以轻易解决。
Xdocreport既可以实现文档填充也可以实现文档转换,此处只介绍其文档填充功能。

步骤:
1.制作模板


以以下文档为例

 会议内容为一段富文本
我们需要在变量替换的位置通过快捷键Ctrl+F9 或 工具栏“插入”->“文档部件或文本”->“域”

遇到需要循环的位置
在第一列的里

1.在第一个单元格设置域 "@before-row[#list userList as user]"
2.紧接着后面继续设置域 @after-row[/#list]
3.在1和2两个域之间设置普通的list里的元素的域

注意:

1.创建一个普通域值后,可以直接复制,但是需要右键编辑域修改域的名字.

2.word里有的域值,但是我代码里直接没传,代码运行就会报错,代码给这个域值传null,运行也会报错.

3.word里没有的域值,我代码里传了,word仅仅是不会显示这个值,并不会报错.

4.测试得知:如果想要在List里一个单元格里填两个变量,那么你在单元格里创建完一个变量域后,这个单元格的第二个变量域来源必须是复制第一个变量域, 不能自己再新建一个域, 会报错的.

5.在List里创建完一个单元格里的变量域,再创建第二个单元格里的变量域时,你复制第一个单元格的变量域也好,还是自己再新建一个变量域也好,都可以,都不会报错.


遇到图片,先插入一张图片,再为图片添加书签

 这样模板就制作完成,不需要保存为xml,ftl。直接使用doc或者docx后缀即可


2.代码实现
引入依赖

  <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.1</version></dependency><dependency><groupId>org.jxls</groupId><artifactId>jxls</artifactId><version>2.6.0</version><exclusions><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.jxls</groupId><artifactId>jxls-poi</artifactId><version>1.2.0</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.core</artifactId><version>2.0.2</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.document</artifactId><version>2.0.2</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.template</artifactId><version>2.0.2</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.document.docx</artifactId><version>2.0.2</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId><version>2.0.2</version></dependency>

上代码

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private String xh;private String bumen;private String name;private String age;private ByteArrayImageProvider touxiang;}
@RestController
@RequestMapping("order/")
@Slf4j
public class OneController {@GetMapping("/bb")public void createXdocreport(HttpServletResponse response) throws IOException {InputStream inputStream = null;ServletOutputStream outputStream = response.getOutputStream();try {//读取模板       inputStream = new FileInputStream("F:\\Desktop\\aa.docx");//注册xdocreport实例并加载FreeMarker模版引擎IXDocReport report = XDocReportRegistry.getRegistry().loadReport(inputStream, TemplateEngineKind.Freemarker);// 设置特殊字段FieldsMetadata metadata = report.createFieldsMetadata();metadata.addFieldAsTextStyling("content", SyntaxKind.Html);//富文本metadata.addFieldAsImage("touxiang", "user.touxiang", NullImageBehaviour.RemoveImageTemplate);//图片metadata.addFieldAsImage("xiangzheng","xiangzheng", NullImageBehaviour.RemoveImageTemplate);//图片report.setFieldsMetadata(metadata);// 创建内容-text为模版中对应都变量名称String content = "&#x3c;p&#x3e;我在这里放了一段富文本&#x3c;/p&#x3e;" +"&#x3c;p&#x3e;我准备测试富文本的处理&#x3c;/p&#x3e;";content = HtmlUtils.htmlUnescape(content);IContext context = report.createContext();//放普通字段context.put("name", "年终总结大会");context.put("time", "2021年3月26日");//放富文本context.put("content", content);//放list内容,其中包括放入图片流InputStream p1 = new FileInputStream(new File("F:\\Desktop\\风灵月影.png"));InputStream p2 = new FileInputStream(new File("F:\\Desktop\\孤岛5.png"));List<User> users = Arrays.asList(new User("1", "市场部", "张三", "33", new ByteArrayImageProvider(p1)),new User("2", "设计部", "李四", "40", new ByteArrayImageProvider(p2)));context.put("userList", users);//放入单独的图片File file = new File("F:\\Desktop\\孤岛6.png");FileImageProvider xiangzheng = new FileImageProvider(file);context.put("xiangzheng",xiangzheng);// 生成文件,浏览器访问可以直接下载.response.setCharacterEncoding("utf-8");response.setContentType("application/msword");String fileName = "warning_task.docx";response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));report.process(context, outputStream);} catch (Exception e) {log.info("生成纪要文件发生异常:<{}>", e.getMessage());}finally {if(inputStream != null){inputStream.close();}}}}

 最后浏览器下载的结果

完成


文章转载自:

http://dIJEdRS7.jcbmm.cn
http://yspfR5Vd.jcbmm.cn
http://P37LR6pY.jcbmm.cn
http://N64uoXyi.jcbmm.cn
http://DSJ5FF52.jcbmm.cn
http://tAZf1ku1.jcbmm.cn
http://NxDTr9lH.jcbmm.cn
http://xSGjPAic.jcbmm.cn
http://cGV3Jjtu.jcbmm.cn
http://i0x3uPGM.jcbmm.cn
http://Vf5w56YN.jcbmm.cn
http://TBHzhxcM.jcbmm.cn
http://0zdXcL3l.jcbmm.cn
http://BkGHylIi.jcbmm.cn
http://upHpQLsH.jcbmm.cn
http://aJgNMdpO.jcbmm.cn
http://KEnZACN0.jcbmm.cn
http://k4WITMCR.jcbmm.cn
http://LwxYbs1Y.jcbmm.cn
http://zWJeuLS7.jcbmm.cn
http://P8HaXqg1.jcbmm.cn
http://2bgdyOQA.jcbmm.cn
http://ra8gPkII.jcbmm.cn
http://jwOmUfFB.jcbmm.cn
http://oI4b0QXR.jcbmm.cn
http://tHfhfrtL.jcbmm.cn
http://tHIzvoYS.jcbmm.cn
http://FHyN5Bx6.jcbmm.cn
http://lPxpUMDF.jcbmm.cn
http://sjCgvjcs.jcbmm.cn
http://www.dtcms.com/wzjs/671558.html

相关文章:

  • 网站设计建设公司联系方式必应搜索引擎入口官网
  • 北京网站改版有什么用怎么强制下载网页视频
  • 网站建设用到的工具罗田网站建设
  • python网站开发视频教程360免费wifi不能上网
  • 金堂企业网站建设广告制作公司需要什么设备
  • 怎么给公司建网站成都网站建设设计
  • 邯郸做商城网站的公司网店美工课本
  • 农业建设信息网站东莞seo公司
  • 个人做discuz网站备案出站链接对网站有什么影响
  • 织梦做的网站织梦修改网页上海网站建设的价格低
  • 企业网站打不开什么原因运动类网站
  • 怎么查看一个网站开发语言wordpress置顶文章没用
  • seo网站推广的主要目的网站推广新手入门
  • 制作网站要钱吗wordpress嵌入视频
  • 湖南企业网站政务公开和网站建设工作的建议
  • 直播视频windows优化大师
  • 谁用腾讯风铃做网站的交换链接的方法
  • 重庆简易注销在什么网站做目前主流的网站开发语言
  • 天津房地产网站建设郑州网站推广策
  • 专业做尼泊尔的旅行网站厦门知名做企业网站设计的公司
  • 养生网站建设论文wordpress 全站加密
  • 网站空间文件夹wordpress访问子网站
  • 免费网站建设哪个最好wordpress绑定多域名
  • 2002年做网站多少钱职业生涯规划大赛是干什么的
  • 展示网站多少钱一个东莞最大的网络公司
  • 做网站需要注意ps做网站要求高吗
  • 洪宇建设集团公司网站编程的基础知识
  • 网站建设与网页制作论文北京市建设工程第四检测所网站
  • 哪些网站可以做免费推广肇庆网站开发哪家专业
  • 网站服务器放置地怎么填wordpress 文章背景