Java学习笔记:根据Excel工资表生成工资条
生活随笔
收集整理的這篇文章主要介紹了
Java学习笔记:根据Excel工资表生成工资条
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
需求
1、一個(gè)Excel工資文件,每個(gè)Sheet是一個(gè)部門(mén),每個(gè)部門(mén)都有員工的姓名、編號(hào)、基本工資、考勤扣款、獎(jiǎng)金,然后生成每個(gè)員工一個(gè)工資條word文件,文件名為【部門(mén)名+姓名+員工編號(hào)】。 2、允許用戶選擇文字文件以及保存文件夾。
package Part4;import com.yzk18.docs.ExcelHelpers; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook;public class 生成工資條1 {public static void main(String[] args) {String tfile="D:\\temp\\工資條\\工資單模板.docx";String excelFile="D:\\temp\\工資條\\工資表.xlsx";Workbook workbook = ExcelHelpers.openFile(excelFile);int sheetsNum= workbook.getNumberOfSheets();for (int sheetIndex=0;sheetIndex<sheetsNum;sheetIndex++){Sheet sheet = workbook.getSheetAt(sheetIndex);String 部門(mén)名稱=sheet.getSheetName();int lastRowNum=sheet.getLastRowNum();for (int rowIndex=1;rowIndex<=lastRowNum;rowIndex++)//跳過(guò)表頭,從第一行開(kāi)始{//Row row = sheet.getRow(rowIndex);String 姓名=ExcelHelpers.getCellStringValue(sheet,rowIndex,0);String 工號(hào)=ExcelHelpers.getCellStringValue(sheet,rowIndex,1);double 基本工資=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,2);double 獎(jiǎng)金=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,3);double 考勤罰款=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,4);double 實(shí)發(fā)工資=基本工資+獎(jiǎng)金+考勤罰款;System.out.println(部門(mén)名稱+姓名+工號(hào)+","+基本工資+","+獎(jiǎng)金+","+考勤罰款+","+實(shí)發(fā)工資);}}} }完整代碼
package Part4;import com.yzk18.docs.ExcelHelpers; import com.yzk18.docs.WordTemplateRenderer; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook;import java.time.LocalDate; import java.util.HashMap;public class 生成工資條1 {public static void main(String[] args) {String tfile="D:\\temp\\工資條\\工資單模板.docx";String excelFile="D:\\temp\\工資條\\工資表.xlsx";//讀取Excel文件Workbook workbook = ExcelHelpers.openFile(excelFile);int sheetsNum= workbook.getNumberOfSheets();for (int sheetIndex=0;sheetIndex<sheetsNum;sheetIndex++){Sheet sheet = workbook.getSheetAt(sheetIndex);String 部門(mén)名稱=sheet.getSheetName();int lastRowNum=sheet.getLastRowNum();for (int rowIndex=1;rowIndex<=lastRowNum;rowIndex++)//跳過(guò)表頭,從第一行開(kāi)始{//Row row = sheet.getRow(rowIndex);String 姓名=ExcelHelpers.getCellStringValue(sheet,rowIndex,0);String 工號(hào)=ExcelHelpers.getCellStringValue(sheet,rowIndex,1);double 基本工資=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,2);double 獎(jiǎng)金=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,3);double 考勤罰款=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,4);double 實(shí)發(fā)工資=基本工資+獎(jiǎng)金+考勤罰款;//System.out.println(部門(mén)名稱+姓名+工號(hào)+","+基本工資+","+獎(jiǎng)金+","+考勤罰款+","+實(shí)發(fā)工資);HashMap<String,Object>data=new HashMap<>();//模板數(shù)據(jù)準(zhǔn)備好data.put("[員工姓名]",姓名);data.put("[基本工資]",基本工資);data.put("[獎(jiǎng)金]",獎(jiǎng)金);data.put("[考勤罰款]",考勤罰款);data.put("[實(shí)發(fā)工資]",實(shí)發(fā)工資);data.put("[部門(mén)]",部門(mén)名稱);data.put("[工號(hào)]",工號(hào));data.put("[日期]", LocalDate.now());String outFile="d:/temp/工資條/"+部門(mén)名稱+"-"+姓名+"-"+工號(hào)+".docx";WordTemplateRenderer.render(tfile,data,outFile);}}} }?
?
總結(jié)
以上是生活随笔為你收集整理的Java学习笔记:根据Excel工资表生成工资条的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据集Pascal VOC2012
- 下一篇: java美元兑换,(Java实现) 美元