日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java学习笔记:根据Excel工资表生成工资条

發布時間:2023/12/14 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习笔记:根据Excel工资表生成工资条 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求

1、一個Excel工資文件,每個Sheet是一個部門,每個部門都有員工的姓名、編號、基本工資、考勤扣款、獎金,然后生成每個員工一個工資條word文件,文件名為【部門名+姓名+員工編號】。 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 部門名稱=sheet.getSheetName();int lastRowNum=sheet.getLastRowNum();for (int rowIndex=1;rowIndex<=lastRowNum;rowIndex++)//跳過表頭,從第一行開始{//Row row = sheet.getRow(rowIndex);String 姓名=ExcelHelpers.getCellStringValue(sheet,rowIndex,0);String 工號=ExcelHelpers.getCellStringValue(sheet,rowIndex,1);double 基本工資=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,2);double 獎金=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,3);double 考勤罰款=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,4);double 實發工資=基本工資+獎金+考勤罰款;System.out.println(部門名稱+姓名+工號+","+基本工資+","+獎金+","+考勤罰款+","+實發工資);}}} }

完整代碼

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 部門名稱=sheet.getSheetName();int lastRowNum=sheet.getLastRowNum();for (int rowIndex=1;rowIndex<=lastRowNum;rowIndex++)//跳過表頭,從第一行開始{//Row row = sheet.getRow(rowIndex);String 姓名=ExcelHelpers.getCellStringValue(sheet,rowIndex,0);String 工號=ExcelHelpers.getCellStringValue(sheet,rowIndex,1);double 基本工資=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,2);double 獎金=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,3);double 考勤罰款=ExcelHelpers.getCellDoubleValue(sheet,rowIndex,4);double 實發工資=基本工資+獎金+考勤罰款;//System.out.println(部門名稱+姓名+工號+","+基本工資+","+獎金+","+考勤罰款+","+實發工資);HashMap<String,Object>data=new HashMap<>();//模板數據準備好data.put("[員工姓名]",姓名);data.put("[基本工資]",基本工資);data.put("[獎金]",獎金);data.put("[考勤罰款]",考勤罰款);data.put("[實發工資]",實發工資);data.put("[部門]",部門名稱);data.put("[工號]",工號);data.put("[日期]", LocalDate.now());String outFile="d:/temp/工資條/"+部門名稱+"-"+姓名+"-"+工號+".docx";WordTemplateRenderer.render(tfile,data,outFile);}}} }

?

?

總結

以上是生活随笔為你收集整理的Java学习笔记:根据Excel工资表生成工资条的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。