poi操作word替换模板向指定位置添加图表
首先是引入pom文件
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
3.x低版本的好像没有插入图表操作,我开始用的就是3.x版本的poi,没有插入图表操作,不得已才升级成了4.1.x版本的
首先是演示图
模板样式:
我们要将带有 “Chart” 字符的标签替换成图表,我从网上搜索了好多,但是就是没有找到这种替换的示例,最后我也是从网上找,加上看poi的API文档,才实现我想要的功能,在此记录一下。
实现的功能样式:
大概的就是这样,没有影响到上下任何一行,直接替换的标签。
不多说了,直接怼代码:
public static void main(String[] args) throws IOException, InvalidFormatException {
// 1、创建word文档对象
File file = new File("C:\\Users\\52347\\Desktop\\测试model.docx");
InputStream inputStream = new FileInputStream(file);
XWPFDocument document = new XWPFDocument(inputStream);
Map<String, Object> map = Maps.newHashMap();
map.put("${model}", "aaaaaaaaaaaaaaaaa"<