接着上篇文章 Java根据模板导出Excel并生成多个Sheet 简单介绍下EasyPoi的使用,直接上代码吧
首先当然是先引入jar包了,看下图
其次,还是贴代码吧看实例,下面是根据模板导出的工具类,包含Excel和word
/**
* 导出Excel或Word文件
* @ClassName:ExportExcelOrWord
* @author leon
* @createDate 2018年11月26日 下午14:25:27
* @version v1.0
* @classRemarks TODO
*/
@Configuration
public class ExportExcelOrWord {
private static Logger logger = LoggerFactory.getLogger(ExportExcelOrWord.class);
//模板地址
@Value("${fileTemplateUrl}")
private String fileTemplateUrl="D:/";
//文件存储地址
@Value("${fileGoalUrl}")
private String fileGoalUrl="D:/export/";
/**
* 导出word数据(07版)
* @param params map数据集合
* @param fileName 模板名称
* @param goalName 文件名称
* @return 文件存储地址
* @throws Exception
*/
public String exportWord(Map<String, Object> params, String fileName, String goalName){
try {
fileName=fileTemplateUrl+fileName+".docx";
XWPFDocument doc = WordExportUtil.exportWord07(fileName, params);
// 判断文件存放地址是否存在,没有则创建
File savefile = new File(fileGoalUrl);
if (!savefile.exists()) {
logger.info("导出word数据时存储文件目录不存在,为您创建文件夹!");
savefile.mkdirs();
}
goalName=fileGoalUrl+goalName+".docx";
FileOutputStream fos = new FileOutputStream(goalName);
doc.write(fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
logger.error("导出word数据异常:"+e);
return null;
}
return goalName;
}
/**
* 按模板导出Excel数据
* @param params 数据
* @param fileName 模板名称
* @param goalName 文件名称
* @return 文件存储地址
* @throws Exception
*/
public String exportExcel(Map<String, Object> params, String fileName, String goalName){
try {
fileName=fileTemplateUrl+fileName+".xlsx";
TemplateExportParams templateUrl = new TemplateExportParams(fileName);
Workbook workbook = ExcelExportUtil.exportExcel(templateUrl, params);
// 判断文件存放地址是否存在,没有则创建
File savefile = new File(fileGoalUrl);
if (!savefile.exists()) {
logger.info("按模板导出Excel数据时存储文件目录不存在,为您创建文件夹!");
savefile.mkdirs();