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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

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

發(fā)布時(shí)間:2023/12/14 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。