The example of this article tells the method of Java operation Excel. Share it for everyone for your reference. The specifics are as follows:
WritableWorkbook Workbook = Workbook.createworkbook (new file ("d: //output.xls"); writableSheet sheet = Workbook.createSheet ("Project Briefing", 0); iTablefont Sonti18font = New Writablefont (WritableFont.createfont ( "Song style"), 18, writablefont.bold); Writablefont Sonti12font = New Writablefont (WritableFont.createfont ("Song style"), 12, Writablefont.bold); WritableFont Sonti1 2fontnobold = New Writablefont (Writablefont.createfont ("Song style"), 12 Writablefont.no_bold); WritablececellForMat Font18Subject = New WritableCellFormat (Sonti18font); WritablellFormat Font12Subject = New WritablecellForm at (sonti12font); WritablecellFormat Font12SubjectNobold = New WritablecellFormat (Sonti12fontnobold); ENT.CENTRE); font18Subject.SetVerticalignment ( jxl.Format.Verticalignment.centre); l.Format.alignment.left); . Verticalignment.centre); Format.alignment.left); Center); tparam.getproj_name () + "Project Briefing", font18Subject); sheet.mergecells (0, 0, 5, 0); sheet.addcell (new label (0,1, "project number, font12Subject)); sheet.addcell (new label (1 , 1, projreportparam.getproj_code (), font12SubjectNobold); sheet.adddell (new label (2,1, "project manager", font12subject); sheet.addcell (New Label (3,1 Label , projreportparam.Getemp_name (), font12SubjectNobold); Sheet.addcell (new label (4,1, "" project department ", font12subject); sheet.addcell (new label (5,1, projreportparam.GetDept_name (), F ONT12SubjectNobold); sheet.addcell (new Label (0,2, "plan cost, font12subject); sheet.addcell (new label (1,2, projreportparam.getplan_cost (), Font12SubjectNobold)); sheet.addcell (NEW LA Bel (2,2, "Actual Cost ", font12subject); sheet.addcell (new label (3,2, projreportparam.getActual_cost (), font12SubjectNobold); sheet.addcell (new label (0,3," "project Introduction ", font12subject); sheet .addcell (new label (1,3, projreportparam.getproj_desc (), font12subjectnobold); sheet.mergecells (1, 3, 5, 3); W Label (0 , 5, "milestone", font18Subject); sheet.mergecells (0, 5, 5, 5); sheet.addcell (new label (0,6, "stage name", font12subject); sheet.addcell (new label (1,6, "task name", font12subject); sheet.addcell , font12Subject); sheet.addcell (new label (4,6, "actual startup time, font12subject)); sheet.addcell (new label (5,6," status ", font12subject); int i = 7; // Line for (projreportparamminfo projectparamminfo: projreportparam.getprojreportparamminfolist ()) {sheet.addcell Pharse_name (), font12SubjectNobold); sheet.addcell (new label (1, i, projreportparamminfo.getttttttttttttttttttttttttttttttttttttttttta_itemm (), 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 tparamminfo.gettask_actual_sd ()) + " /" + Utils.Formatdate (Projreportparamminfo .gettask_actual_fd ()), font12SubjectNobold); sheet.adddell (new label (5, i, projreportparamminfo.gettask_State (), font12SubjectNobold)); i ++;} // Milestone END // Project team members and cadres int J = 1 +i;//行sheet.addCell(new Label(0,j,"项目组成员及干系人",font18Subject)); sheet.mergeCells(0, j, 5, j); sheet.addCell(new Label( 0, j+1, "serial number", font12subject); sheet.addcell (new label (1, j+1, "name", font12subject); sheet.addcell (new label (2, j+1, "character" ", font12subject)); sheet.addcell (new label (3, j+1," enter the project team time ", font12subject); sheet.addcell (new label (4, j+1," leave the project team time ", font12subject); sheet.addcell (new label (5, j+1, "cumulative working hours", font12subject); int m = 1; // serial number int n = j+2; // tparamhrinfo: 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 (new label (new label (new label (new label (new label (new label 4, n, utils.formatdate (projreportparamhrinfo.getHr_release_date ()), font12subjectnobold); sheet.addcell (new label (5, n, projreportparamhrinfo.get Total_manhour (), font12SubjectNobold); m ++; n ++;} // project team members And the work content of the person END // The work content of this issue int k = n+1; // Drive the sheet.addcell (New Label (0, K, "This issue of this issue ("+StartDate+"to"+Enddate+"), FONT18SUBJECT ); sheet.mergecells (0, k, 6, k); sheet.addcell (new label (0, k+1, "task number", font12subject); sheet.addcell (New Label (1, K+1 1, K+1 1 , "Task Name", font12subject); sheet.addcell (new label (2, k+1, "plan starting time", font12subject); sheet.addcell (new label (3, k+1, "actual start time time and end time ", font12subject); sheet.addcell (new label (4, k+1," planning time ", font12subject); sheet.addcell (new label (5, k+1," actual working hours ", font12subject); Sheet.addcell (New Label (6, K + 1, "Persons", Font12Subject); int P = K + 2; // Fore (Projreportparamtaskinfo Projreportparamtaskinfo: tthisprojreportparamtaskinfolist ()) {sheet.addcell (new label (0, P, ProjreportparaMtaskinfo.getttask_Code (), FONT12SUBJECTNOBOLD); sheet.addcell (new label (1, P, ProjreportparaMtttttttttttttttttttttaSk_item (), FON t12subjectnobold); sheet.addcell (New Label (2, P, Utils.FormatDate (ProjreportparaMtaskinfo.gettask_plan_sd ()) + " /" + Utils.Formatdate (projreportparamtaskinfo.gettask_plan_fd ()), font12subjectnobold); sheee T.addcell (New Label (3, P, Utils.FormatDate (ProjreportparaMtaskinfo.getttask_ACTual_sd ()) + " / " + Utils.FormatDate (ProjreportparaMtaskinfo.gettask_Actual_fd ()), Font12SubjectNobold); Sheet.addcell (New Label (4, P, ProjreportparaMtaskin fo.gettask_plan_manhour (), font12subjectnobold); sheet.addcell (New Label (5, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P that Projreportparamtaskinfo.gettask_actual_manhour (), font12SubjectNobold); sheet.addcell me (), font12subjectnobold)); P ++;} // The work content of this issue end // work content next week int Q = p + 1; // Dating sheet.addcell (new label (0, q, "work content next week, font18subject); sheet.mergecells (0, q, 5, q); sheet.addcell (new label (0 (0 (0 (0 (0 (0 (0 (0 , q+1, "task number", font12subject); sheet.addcell (new label (1, q+1, "task name", font12subject); sheet.addcell (new label (2, q+1, "" Plan start time ", font12subject); sheet.addcell (new label (3, q+1," plan end time ", font12subject); sheet.adddell (new label (4, q+1," plan working hours ", font12subject); sheet.addcell (New Label (5, Q + 1, "Executive Personnel", Font12Subject); int R = Q + 2; for (projreportparamtaskinfo ProjreportparaMtaskinfo: Proj ReportParam.GetNextProjreportparamtaskinfolist ()) {sheet.addcell (new Label (0, R, ProjreportparaMtaskinfo.getttask_Code (), Font12SubjectNobold); sheet.addedcell (new label (1, r, projreportparamtask_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, projreportparamtplan_emp_name ), font12subjectnobold); R ++;} // The work content of the work content next week and the problem of the project and solve the int s = r + 1; // Like sheet.addcell (new label (0, s, "" project existing problems and solutions ", font18subject); sheet.mergecells (0, s, 8, s); sheet.adddell ( New Label (0, s+1, "recognition date, font12subject); sheet.addcell (new label (1, s+1," problem description ", font12subject); sheet.adddell (new label (2, s, s +1, "Risk of belonging", font12subject); sheet.addcell (new label (3, s+1, "solution", font12subject); sheet.addcell (new label (4, s+1, "solve human beings ", font12Subject)); sheet.addcell (new label (5, s+1," plan start time, font12subject); sheet.addcell (new label (6, s+1, "plan completion time", font12subject) );; new label (new label (7, s+1, "problem state, font12subject); sheet.adddell (New Label (8, s+1," summary ", font12subject); int T = s+ 2; //: Projreportparamriskinfo Projreportparamriskinfo: Projreportparam.getprojreportparamriskinfolist ()) {Sheet.addcell (0, T, Utils.f ORMATDATE (projreportparamriskinfo.getsts_date ()), font12SubjectNobold); sheet.adddell (New Label (New Label (New Label 1, t, projreportparamriskinfo.getproj_isSue_item (), font12subjectnobold); sheet.adddell (new label (2, t, projreportparamrisriskinfo.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.addcel L (New Label (5, T, Utils.Formatdate (Projreportparamriskinfo.getissue_plan_date ()), font12SubjectNobold ); SHEET.ADDCELL (New Label (6, T, Utils.FormatDate (Projreportparamriskinfo.getissue_date ()), font12subjectnobold); sheet.addcell (NE w label (7, t, projreportparamriskinfo.getissue_state (), font12SubjectNobold); Sheet.addcell (New Label (8, T, Projreportparamriskinfo.getissue_summarize (), Font12Subjectnobold); T ++;} // The problem of the project existing End Workbook.write () ; workbook.close (); // Generate project briefing ProcedureIt is hoped that this article is helpful to everyone's Java program design.