package com.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import com.ORM.Report;
import com.ORM.TempBean;
import com.util.FirstEndOfMonth;
import com.util.WebUtil;
public class ExcelTemplate {
public void genarateExcel(String realpath,File targetFile,Report report,TempBean bean) throws Exception {
try {
POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream(realpath));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
//Excel单元格行
HSSFRow row10 = sheet.getRow(1);
//Excel单元格列
HSSFCell cell10 = row10.getCell(0);
cell10.setCellValue(""+report.getYear()+"年"+report.getMonth()+"月薪资明细");
//姓名
HSSFRow row21 = sheet.getRow(2);
HSSFCell cell21 = row21.getCell(1);
cell21.setCellValue(report.getUsername());
//计算周期
HSSFRow row23 = sheet.getRow(2);
HSSFCell cell23 = row23.getCell(3);
String datatiem = " 薪资计算周期:"+bean.getFirstDay()+"~"+bean.getEndDay();
cell23.setCellValue(datatiem);
//基本工资
HSSFRow row41 = sheet.getRow(4);
HSSFCell cell41 = row41.getCell(1);
cell41.setCellValue(WebUtil.NotNull(report.getSalary()));
//病事假
HSSFRow row44 = sheet.getRow(4);
HSSFCell cell44 = row44.getCell(4);
cell44.setCellValue(WebUtil.NotNull(report.getSickleave()));
//报销费用
HSSFRow row51 = sheet.getRow(5);
HSSFCell cell51 = row51.getCell(1);
cell51.setCellValue(WebUtil.NotNull(report.getRemarks()));
//扣 罚
HSSFRow row54 = sheet.getRow(5);
HSSFCell cell54 = row54.getCell(4);
cell54.setCellValue(WebUtil.NotNull(report.getPunishto()));
//其他
HSSFRow row61 = sheet.getRow(6);
HSSFCell cell61 = row61.getCell(1);
cell61.setCellValue(WebUtil.NotNull(report.getProsubsidy()));
//社 保
HSSFRow row64 = sheet.getRow(6);
HSSFCell cell64 = row64.getCell(4);
cell64.setCellValue(WebUtil.NotNull(report.getSocial()));
//公积金
HSSFRow row74 = sheet.getRow(7);
HSSFCell cell74 = row74.getCell(4);
cell74.setCellValue(WebUtil.NotNull(report.getFundacc()));
//个 税
HSSFRow row84 = sheet.getRow(8);
HSSFCell cell84 = row84.getCell(4);
cell84.setCellValue(WebUtil.NotNull(report.getBonuses()));
//补缴四金
HSSFRow row94 = sheet.getRow(9);
HSSFCell cell94 = row94.getCell(4);
cell94.setCellValue(WebUtil.NotNull(report.getOvertime()));
//其 他
HSSFRow row104 = sheet.getRow(10);
HSSFCell cell104 = row104.getCell(4);
cell104.setCellValue(WebUtil.NotNull(report.getRevenue()));
//收入合计
HSSFRow row121 = sheet.getRow(12);
HSSFCell cell121 = row121.getCell(1);
cell121.setCellValue(WebUtil.NotNull(report.getBonus()));
//应扣合计
HSSFRow row124 = sheet.getRow(12);
HSSFCell cell124 = row124.getCell(4);
cell124.setCellValue(WebUtil.NotNull(report.getAftersub()));
//工资合计
HSSFRow row141 = sheet.getRow(14);
HSSFCell cell141 = row141.getCell(1);
cell141.setCellValue(WebUtil.NotNull(report.getSuntotle()));
FileOutputStream fOut = new FileOutputStream(targetFile);
// 把相应的Excel 工作簿存盘
wb.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
ExcelTemplate excelTemplate = new ExcelTemplate();
String realpath = "D:\\工资条N.xls";
for(int c = 0; c < 1; c++){
String filePathName = "D:\\a.xls";
File filePath = new File(filePathName);
Report report = new Report();
report.setUsername("HAHAHA");
report.setYear("2012");
report.setMonth("1");
TempBean bean = new TempBean();
FirstEndOfMonth firstEnd = new FirstEndOfMonth();
bean.setFirstDay(firstEnd.getFirstDayOfMonth(2012, 1));
bean.setEndDay(firstEnd.getLastDayOfMonth(2012, 2));
excelTemplate.genarateExcel(realpath, filePath, report, bean);
System.out.println(filePath);
//
// String namezip = "D:\\zip\\a"+c+".zip";
// ZipCompressor zc = new ZipCompressor(namezip);
// zc.compress(filePathName);
}
// DeleteFile t = new DeleteFile();
// t.delAllFile("D:\\xls\\");
}
}
分享到:
相关推荐
poi基于模板导出excel,poi基于模板导出excelpoi,基于模板导出excel
POI使用excel模板循环输出行到文件并导出的一个小例子
commons-collections4-4.1.wso2v1.jar,commons-math3-3.0.jar;两个jar包下载,用于poi模板导出excel用
NULL 博文链接:https://jjxliu306.iteye.com/blog/2383610
使用Apache POI的3.16版实现,Excel模板填充数据导出Excel报表
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
用poi根据模板导出excel的帮助类,支持xls和xlsx两种格式,支持上万数据导出不会内存移除,代码有注释。
此代码包括poi导出excel的所有jar,自定义Excel模板后,将数据导入其中
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
poi excel通过模板导出excel表格 且带有公式 导出的excel表格里面的公式均可计算 有简单的公式也有难的公司 在此例子里面都可以跟着excel一起到处并可计算
基于maven实现POI实现导入导出功能模板案例,简单的例子,让人更加容易理解,学习起来更加方便,以实现自定义导出excel模板
POI基于java导入导出Excel表格模板
poi 基于excel模板导出 功能强大 代码清晰
apache poi根据模板导出excel的模版
poi导入导出excel生成报表
poi导入、导出,支持百万级数据模板导出、合并excel。项目为spring-boot-2上开发。resource里面有模板,在junit测试类中修改为本地存在路径即可导出文件,在junit测试类中修改for循环的i可以模拟百万级数据导出。注意...
springboot + poi导出指定格式Excel模板。 springboot+poi导出指定格式Excel模板,完整项目,导出即用。 poi导出Excel
除了平时简单的数据导出需求外,我们也经常...源码案例提供了模板,单个数据写入与列表数据写入以及文件导出的代码,详细的说明请参照个人博客“Excel模板导出”,源码可以让读者更加详细的了解Excel导出的过程和原理。
String outputFile = "D:\\excel\\excel.xlsx"; OutputStream outputStream = new FileOutputStream(outputFile); UtilExcel utilExcel = new UtilExcel(); String titles = "所属区域,所属车间,当前处理人,描述...