java excel 操作方式_java操作excel的方法

WritableWorkbook workbook = Workbook.createWorkbook(new File("d:\\output.xls"));

WritableSheet sheet = workbook.createSheet("项目简报", 0);

//样式

WritableFont sonti18font = new WritableFont(WritableFont.createFont("宋体"), 18,WritableFont.BOLD);

WritableFont sonti12font = new WritableFont(WritableFont.createFont("宋体"), 12,WritableFont.BOLD);

WritableFont sonti12fontNoBold = new WritableFont(WritableFont.createFont("宋体"), 12,WritableFont.NO_BOLD);

WritableCellFormat font18Subject = new WritableCellFormat (sonti18font);

WritableCellFormat font12Subject = new WritableCellFormat (sonti12font);

WritableCellFormat font12SubjectNoBold = new WritableCellFormat (sonti12fontNoBold);

font18Subject.setAlignment(jxl.format.Alignment.CENTRE);

font18Subject.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

font18Subject.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);

font12Subject.setAlignment(jxl.format.Alignment.LEFT);

font12Subject.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

font12Subject.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);

font12SubjectNoBold.setAlignment(jxl.format.Alignment.LEFT);

font12SubjectNoBold.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

font12SubjectNoBold.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);

//样式 end

//项目简介信息

sheet.addCell(new Label(0, 0, projReportParam.getProj_name() + "项目简报",font18Subject));

sheet.mergeCells(0, 0, 5, 0);

sheet.addCell(new Label(0,1,"项目编号",font12Subject));

sheet.addCell(new Label(1,1,projReportParam.getProj_code(),font12SubjectNoBold));

sheet.addCell(new Label(2,1,"项目经理",font12Subject));

sheet.addCell(new Label(3,1,projReportParam.getEmp_name(),font12SubjectNoBold));

sheet.addCell(new Label(4,1,"立项部门",font12Subject));

sheet.addCell(new Label(5,1,projReportParam.getDept_name(),font12SubjectNoBold));

sheet.addCell(new Label(0,2,"计划发生成本",font12Subject));

sheet.addCell(new Label(1,2,projReportParam.getPlan_cost(),font12SubjectNoBold));

sheet.addCell(new Label(2,2,"实际发生成本",font12Subject));

sheet.addCell(new Label(3,2,projReportParam.getActual_cost(),font12SubjectNoBold));

sheet.addCell(new Label(0,3,"项目简介",font12Subject));

sheet.addCell(new Label(1,3,projReportParam.getProj_desc(),font12SubjectNoBold));

sheet.mergeCells(1, 3, 5, 3);

//项目简介信息 end

//里程碑

sheet.addCell(new Label(0,5,"里程碑",font18Subject));

sheet.mergeCells(0, 5, 5, 5);

sheet.addCell(new Label(0,6,"阶段名称",font12Subject));

sheet.addCell(new Label(1,6,"任务名称",font12Subject));

sheet.addCell(new Label(2,6,"实施人",font12Subject));

sheet.addCell(new Label(3,6,"计划起止时间",font12Subject));

sheet.addCell(new Label(4,6,"实际起止时间",font12Subject));

sheet.addCell(new Label(5,6,"状态",font12Subject));

int i = 7;//行

for(ProjReportParamMInfo projReportParamMInfo : projReportParam.getProjReportParamMInfoList()){

sheet.addCell(new Label(0,i,projReportParamMInfo.getPharse_name(),font12SubjectNoBold));

sheet.addCell(new Label(1,i,projReportParamMInfo.getTask_item(),font12SubjectNoBold));

sheet.addCell(new Label(2,i,projReportParamMInfo.getEmp_name(),font12SubjectNoBold));

sheet.addCell(new Label(3,i,Utils.formatDate(projReportParamMInfo.getTask_plan_sd()) + " / " + Utils.formatDate(projReportParamMInfo.getTask_plan_fd()),font12SubjectNoBold));

sheet.addCell(new Label(4,i,Utils.formatDate(projReportParamMInfo.getTask_actual_sd()) + " / " + Utils.formatDate(projReportParamMInfo.getTask_actual_fd()),font12SubjectNoBold));

sheet.addCell(new Label(5,i,projReportParamMInfo.getTask_state(),font12SubjectNoBold));

i++;

}

//里程碑 end

//项目组成员及干系人

int j = 1+i;//行

sheet.addCell(new Label(0,j,"项目组成员及干系人",font18Subject));

sheet.mergeCells(0, j, 5, j);

sheet.addCell(new Label(0,j+1,"序号",font12Subject));

sheet.addCell(new Label(1,j+1,"姓名",font12Subject));

sheet.addCell(new Label(2,j+1,"角色",font12Subject));

sheet.addCell(new Label(3,j+1,"进入项目组时间",font12Subject));

sheet.addCell(new Label(4,j+1,"离开项目组时间",font12Subject));

sheet.addCell(new Label(5,j+1,"累计工时",font12Subject));

int m = 1;//序号

int n = j+2;//行

for(ProjReportParamHRInfo projReportParamHRInfo : projReportParam.getProjReportParamHRInfoList()){

sheet.addCell(new Label(0,n,m+"",font12SubjectNoBold));

sheet.addCell(new Label(1,n,projReportParamHRInfo.getEmp_name(),font12SubjectNoBold));

sheet.addCell(new Label(2,n,projReportParamHRInfo.getRole_name(),font12SubjectNoBold));

sheet.addCell(new Label(3,n,Utils.formatDate(projReportParamHRInfo.getHr_start_date()),font12SubjectNoBold));

sheet.addCell(new Label(4,n,Utils.formatDate(projReportParamHRInfo.getHr_release_date()),font12SubjectNoBold));

sheet.addCell(new Label(5,n,projReportParamHRInfo.getTotal_manhour(),font12SubjectNoBold));

m++;

n++;

}

//项目组成员及干系人 end

//本期工作内容

int k = n + 1;//行

sheet.addCell(new Label(0,k,"本期工作内容("+startDate+"至"+endDate+")",font18Subject));

sheet.mergeCells(0, k, 6, k);

sheet.addCell(new Label(0,k+1,"任务编号",font12Subject));

sheet.addCell(new Label(1,k+1,"任务名称",font12Subject));

sheet.addCell(new Label(2,k+1,"计划起止时间",font12Subject));

sheet.addCell(new Label(3,k+1,"实际起止时间",font12Subject));

sheet.addCell(new Label(4,k+1,"计划工时",font12Subject));

sheet.addCell(new Label(5,k+1,"实际工时",font12Subject));

sheet.addCell(new Label(6,k+1,"实施人员",font12Subject));

int p = k + 2;//行

for(ProjReportParamTaskInfo projReportParamTaskInfo : projReportParam.getThisProjReportParamTaskInfoList()){

sheet.addCell(new Label(0,p,projReportParamTaskInfo.getTask_code(),font12SubjectNoBold));

sheet.addCell(new Label(1,p,projReportParamTaskInfo.getTask_item(),font12SubjectNoBold));

sheet.addCell(new Label(2,p,Utils.formatDate(projReportParamTaskInfo.getTask_plan_sd()) + " / " + Utils.formatDate(projReportParamTaskInfo.getTask_plan_fd()),font12SubjectNoBold));

sheet.addCell(new Label(3,p,Utils.formatDate(projReportParamTaskInfo.getTask_actual_sd()) + " / " + Utils.formatDate(projReportParamTaskInfo.getTask_actual_fd()),font12SubjectNoBold));

sheet.addCell(new Label(4,p,projReportParamTaskInfo.getTask_plan_manhour(),font12SubjectNoBold));

sheet.addCell(new Label(5,p,projReportParamTaskInfo.getTask_actual_manhour(),font12SubjectNoBold));

sheet.addCell(new Label(6,p,projReportParamTaskInfo.getPlan_emp_name(),font12SubjectNoBold));

p++;

}

//本期工作内容 end

//下周工作内容

int q = p + 1;//行

sheet.addCell(new Label(0,q,"下周工作内容",font18Subject));

sheet.mergeCells(0, q, 5, q);

sheet.addCell(new Label(0,q+1,"任务编号",font12Subject));

sheet.addCell(new Label(1,q+1,"任务名称",font12Subject));

sheet.addCell(new Label(2,q+1,"计划开始时间",font12Subject));

sheet.addCell(new Label(3,q+1,"计划结束时间",font12Subject));

sheet.addCell(new Label(4,q+1,"计划工时",font12Subject));

sheet.addCell(new Label(5,q+1,"实施人员",font12Subject));

int r = q + 2;

for(ProjReportParamTaskInfo projReportParamTaskInfo : projReportParam.getNextProjReportParamTaskInfoList()){

sheet.addCell(new Label(0,r,projReportParamTaskInfo.getTask_code(),font12SubjectNoBold));

sheet.addCell(new Label(1,r,projReportParamTaskInfo.getTask_item(),font12SubjectNoBold));

sheet.addCell(new Label(2,r,Utils.formatDate(projReportParamTaskInfo.getTask_plan_sd()),font12SubjectNoBold));

sheet.addCell(new Label(3,r,Utils.formatDate(projReportParamTaskInfo.getTask_plan_fd()),font12SubjectNoBold));

sheet.addCell(new Label(4,r,projReportParamTaskInfo.getTask_plan_manhour(),font12SubjectNoBold));

sheet.addCell(new Label(5,r,projReportParamTaskInfo.getPlan_emp_name(),font12SubjectNoBold));

r++;

}

//下周工作内容 end

//项目存在的问题及解决

int s = r + 1;//行

sheet.addCell(new Label(0,s,"项目存在的问题及解决",font18Subject));

sheet.mergeCells(0, s, 8, s);

sheet.addCell(new Label(0,s+1,"识别日期",font12Subject));

sheet.addCell(new Label(1,s+1,"问题描述",font12Subject));

sheet.addCell(new Label(2,s+1,"所属风险",font12Subject));

sheet.addCell(new Label(3,s+1,"解决方法",font12Subject));

sheet.addCell(new Label(4,s+1,"解决人",font12Subject));

sheet.addCell(new Label(5,s+1,"计划开始时间",font12Subject));

sheet.addCell(new Label(6,s+1,"计划完成时间",font12Subject));

sheet.addCell(new Label(7,s+1,"问题状态",font12Subject));

sheet.addCell(new Label(8,s+1,"总结",font12Subject));

int t = s + 2;//行

for(ProjReportParamRiskInfo projReportParamRiskInfo : projReportParam.getProjReportParamRiskInfoList()){

sheet.addCell(new Label(0,t,Utils.formatDate(projReportParamRiskInfo.getSts_date()),font12SubjectNoBold));

sheet.addCell(new Label(1,t,projReportParamRiskInfo.getProj_issue_item(),font12SubjectNoBold));

sheet.addCell(new Label(2,t,projReportParamRiskInfo.getProj_risk_item(),font12SubjectNoBold));

sheet.addCell(new Label(3,t,projReportParamRiskInfo.getIssue_resolve_method(),font12SubjectNoBold));

sheet.addCell(new Label(4,t,projReportParamRiskInfo.getIssue_resolve_emp(),font12SubjectNoBold));

sheet.addCell(new Label(5,t,Utils.formatDate(projReportParamRiskInfo.getIssue_plan_date()),font12SubjectNoBold));

sheet.addCell(new Label(6,t,Utils.formatDate(projReportParamRiskInfo.getIssue_actual_date()),font12SubjectNoBold));

sheet.addCell(new Label(7,t,projReportParamRiskInfo.getIssue_state(),font12SubjectNoBold));

sheet.addCell(new Label(8,t,projReportParamRiskInfo.getIssue_summarize(),font12SubjectNoBold));

t++;

}

//项目存在的问题及解决 end

workbook.write();

workbook.close();

//生成项目简报的程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值