Java 新建excle文件并填充模版内容

时间:2021-10-19 19:42:25

Java 新建excle文件并填充模版内容

一、JAR

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.logging.Logger; import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter; import com.xyzq.kettle.dao.KettleDao;
import com.xyzq.kettle.entity.KettleEntity;
import com.xyzq.pub.Pub;

二、主要功能实现代码

       //filename= P_gp_hs08.xlsx

        //判断文件是否存在,存在则追加,否则新增
File file = new File(filepath+"/"+filename);
if (!file.exists() || !file.isFile()) {
//logger.info("excle模板不存在,新增");
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheetFlow = wb.createSheet("flow");
XSSFRow rowFlow0 = sheetFlow.createRow(0);
XSSFCell cellFlow0Flow = rowFlow0.createCell(0);
cellFlow0Flow.setCellValue("flow名称");
XSSFCell cellFlow0Remark = rowFlow0.createCell(1);
cellFlow0Remark.setCellValue("备注");
XSSFRow rowFlow1 = sheetFlow.createRow(1);
XSSFCell cellFlow1Folw = rowFlow1.createCell(0);
cellFlow1Folw.setCellValue("F_gp_"+list.get(0).getSysName()); XSSFSheet sheetGroup = wb.createSheet("group");
XSSFRow rowGroup0 = sheetGroup.createRow(0);
XSSFCell cellGroup0Flow = rowGroup0.createCell(0);
cellGroup0Flow.setCellValue("flow名称");
XSSFCell cellGroup0Group = rowGroup0.createCell(1);
cellGroup0Group.setCellValue("group名称");
XSSFCell cellGroup0Remark = rowGroup0.createCell(2);
cellGroup0Remark.setCellValue("备注");
XSSFCell cellGroup0Relation = rowGroup0.createCell(2);
cellGroup0Relation.setCellValue("依赖"); XSSFSheet sheetJob = wb.createSheet("job");
XSSFRow rowJob0 = sheetJob.createRow(0);
XSSFCell cellJob0 = rowJob0.createCell(0);
cellJob0.setCellValue("flow名称");
XSSFCell cellJob1 = rowJob0.createCell(1);
cellJob1.setCellValue("group名称");
XSSFCell cellJob2 = rowJob0.createCell(2);
cellJob2.setCellValue("job名称");
XSSFCell cellJob3 = rowJob0.createCell(3);
cellJob3.setCellValue("备注");
XSSFCell cellJob4 = rowJob0.createCell(4);
cellJob4.setCellValue("依赖");
XSSFCell cellJob5 = rowJob0.createCell(5);
cellJob5.setCellValue("类型");
XSSFCell cellJob6 = rowJob0.createCell(6);
cellJob6.setCellValue("命令");
XSSFCell cellJob7 = rowJob0.createCell(7);
cellJob7.setCellValue("参数变量");
XSSFCell cellJob8 = rowJob0.createCell(8);
cellJob8.setCellValue("重试次数");
XSSFCell cellJob9 = rowJob0.createCell(9);
cellJob9.setCellValue("重试间隔");
XSSFCell cellJob10 = rowJob0.createCell(10);
cellJob10.setCellValue("超时时间"); FileOutputStream output;
try {
output = new FileOutputStream(filepath+"/"+filename);
wb.write(output);
output.flush();
output.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.info("excle模板创建异常:"+e.toString());
}
}