Java读取resources里面的文件
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/tset.docx");
使用poi-tl 生成word文档
依赖:
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.0</version>
</dependency>
代码:
import com.deepoove.poi.XWPFTemplate;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map<String, Object> data = new HashMap<>();
data.put("xinxi", "信息");
data.put("year", "2020-09-17");
// XWPFTemplate template = XWPFTemplate.compile("F:/template.docx").render(data);
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/template.docx");
XWPFTemplate template = XWPFTemplate.compile(inputStream).render(data);
FileOutputStream out;
out = new FileOutputStream("F:/template2.docx");
template.write(out);
out.flush();
out.close();
template.close();
}
}
将模板放到resources里面(template.docx)