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\\");
}
}
分享到:
相关推荐
在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...
在"Apache POI 模板导出excel.rar"这个压缩包中,我们聚焦于使用Apache POI 3.16版本来生成基于Excel模板的数据导出功能。这个过程涉及到多个关键知识点,下面将详细阐述。 1. **Apache POI库**:Apache POI是一个...
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
Java通过Apache POI库导出Excel是常见的数据处理任务,特别是在大数据分析、报表生成和数据交换等场景。Apache POI是Java中广泛使用的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS...
提供的"poi模板导出excel文件jar包.zip"压缩包包含两个重要的Java档案(JAR)文件:`commons-collections4-4.1.wso2v1.jar`和`commons-math3-3.0.jar`,它们是POI项目所依赖的库。 1. **Apache Commons Collections...
2. **通过模板导出Excel表格**: - 在开发中,通常会预先准备好一个Excel模板文件,这个模板文件包含了固定格式和一些基本的数据结构。 - Java程序通过读取这个模板文件,然后填充数据,最后将填充后的文件导出为...
### POI 基于模板导出 Excel 的实现方法 #### 概述 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java 库,其中包括对 Excel 文件的支持。在实际开发过程中,经常会遇到需要根据现有的 Excel 模板来...
本教程将深入讲解如何使用Apache POI按照模板导出Excel文件。 一、Apache POI简介 Apache POI是一个强大的库,它允许Java程序员操作Microsoft Office格式的文件。在Excel方面,POI支持HSSF(Horizontally Stored ...
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
在本示例"SSM框架利用poi导入导出Excel文件 demo"中,我们将探讨如何在SSM项目中使用Apache POI库来实现Excel文件的导入与导出功能。 Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示...
apache poi根据模板导出excel的模版
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
基于poi基础进行开发的一个到处excel,pdf公共类,可以对于列表格式的数据直接导出,不需要更改里面的代码,只需要提供参数就可以,参数类型String filePath ,String fileName, List listDate ,List listTop
poi导入、导出,支持百万级数据模板导出、合并excel。项目为spring-boot-2上开发。resource里面有模板,在junit测试类中修改为本地存在路径即可导出文件,在junit测试类中修改for循环的i可以模拟百万级数据导出。注意...
导出Excel功能则涉及创建新的Excel文件并填充数据。同样,我们需要创建`Workbook`,然后添加`Sheet`,接着在`Sheet`上创建`Row`和`Cell`。例如,以下代码展示了如何创建一个简单的Excel表格: ```java import org....
四、导出Excel文件 1. 写入输出流:创建FileOutputStream,将填充好的工作簿写入到输出流中。 ```java FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close(); ``` 2. ...
标题中的“POI实现的基于动态模板的EXCEL数据导出”是指利用Apache POI库来创建一个可以动态填充数据的Excel模板,从而实现大量数据的高效导出。Apache POI是一个开源项目,它允许Java开发者读写Microsoft Office...
本教程将详细讲解如何使用 POI 库来实现 Excel 的导入与导出功能,以及创建和操作Excel表格模板。 一、Apache POI 简介 Apache POI 是 Apache 软件基金会的一个项目,其主要功能是读取和写入 Microsoft Office 格式...
- 在需要导出Excel的接口中,根据业务需求查询数据库中的数据,并转换为List集合。 - 创建一个新的Workbook对象,然后创建Sheet,再在Sheet中创建Row和Cell,填充数据。 - 设置样式、合并单元格等高级特性,使...