- 上代码
@GetMapping("/word")
public void generateWord(HttpServletResponse response) throws IOException, XDocReportException, FileNotFoundException {
InputStream ins = this.getClass().getResourceAsStream("/templates/operatingStatistics.docx");
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(ins,
TemplateEngineKind.Freemarker);
IContext context = report.createContext();
context.put("unitName", "恩施州保障中心");
List<UnitStatistics> goodsList = new ArrayList<UnitStatistics>();
UnitStatistics goods1 = new UnitStatistics();
goods1.setInitiatorUnitCodeName("单位111");
goods1.setDateCount(11);
goods1.setMileages(675512L);
goods1.setFrequency("589");
UnitStatistics goods2 = new UnitStatistics();
goods1.setInitiatorUnitCodeName("单位222");
goods1.setDateCount(12);
goods1.setMileages(675512L);
goods1.setFrequency("9");
UnitStatistics goods3 = new UnitStatistics();
goods1.setInitiatorUnitCodeName("单位333");
goods1.setDateCount(13);
goods1.setMileages(76312L);
goods1.setFrequency("12");
UnitStatistics goods4 = new UnitStatistics();
goods1.setInitiatorUnitCodeName("单位444");
goods1.setDateCount(14);
goods1.setMileages(679812L);
goods1.setFrequency("36");
goodsList.add(goods1);
goodsList.add(goods2);
goodsList.add(goods3);
goodsList.add(goods4);
context.put("goods", goodsList);
FieldsMetadata fm = report.createFieldsMetadata();
fm.load("goods", UnitStatistics.class, true);
response.setCharacterEncoding("utf-8");
response.setContentType("application/msword");
String fileName = "统计分析报表.docx";
response.setHeader("Content-Disposition", "attachment;filename="
.concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));
report.process(context, response.getOutputStream());
}
<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>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
- 看模板
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cdbc665cc869743916ab71272f700a30.png)