Example usage for org.apache.poi.hssf.usermodel HSSFWorkbook createSheet

List of usage examples for org.apache.poi.hssf.usermodel HSSFWorkbook createSheet

Introduction

In this page you can find the example usage for org.apache.poi.hssf.usermodel HSSFWorkbook createSheet.

Prototype

@Override
public HSSFSheet createSheet(String sheetname) 

Source Link

Document

Create a new sheet for this Workbook and return the high level representation.

Usage

From source file:com.smi.travel.controller.excel.checking.airticket.CostIncomeSummary.java

private void getSummaryTicketCostAndIncome(HSSFWorkbook wb, List sumCostIncome) {
    String sheetIncome = "CostIncome";// name of sheet
    String sheetIncomeSum = "CostIncomeSummary";

    UtilityExcelFunction excelFunction = new UtilityExcelFunction();

    HSSFSheet sheetInc = wb.createSheet(sheetIncome);
    HSSFSheet sheetIncSum = wb.createSheet(sheetIncomeSum);

    SummaryTicketCostAndIncomeView dataheader = new SummaryTicketCostAndIncomeView();

    HSSFDataFormat currency = wb.createDataFormat();
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC22.ALIGN_CENTER);

    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC26 = wb.createCellStyle();
    styleC26.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC26.setDataFormat(currency.getFormat("#,##0"));
    styleC26.setAlignment(styleC22.ALIGN_CENTER);

    HSSFCellStyle styleC27 = wb.createCellStyle();
    styleC27.setAlignment(styleC27.ALIGN_RIGHT);
    styleC27.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC28 = wb.createCellStyle();
    styleC28.setAlignment(styleC28.ALIGN_CENTER);
    styleC28.setDataFormat(currency.getFormat("#,##0"));

    HSSFCellStyle styleC29 = wb.createCellStyle();
    styleC29.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderBottom(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle styleC30 = wb.createCellStyle();
    styleC30.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC30.setAlignment(styleC22.ALIGN_CENTER);

    HSSFCellStyle styleC31 = wb.createCellStyle();
    styleC31.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC31.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC31.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC31.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC31.setDataFormat(currency.getFormat("#,##0.00"));

    if (!sumCostIncome.isEmpty()) {
        dataheader = (SummaryTicketCostAndIncomeView) sumCostIncome.get(0);
        for (int x = 1; x < 3; x++) {
            if (x == 1) {
                // set Header Report (Row 1)
                HSSFCellStyle styleC1 = wb.createCellStyle();
                HSSFRow row1 = sheetInc.createRow(0);
                HSSFCell cell1 = row1.createCell(0);
                cell1.setCellValue("Summary Ticket Cost & Income");
                styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
                cell1.setCellStyle(styleC1);
                sheetInc.addMergedRegion(CellRangeAddress.valueOf("A1:E1"));

                // Row 2
                HSSFRow row2 = sheetInc.createRow(1);
                HSSFCell cell21 = row2.createCell(0);
                cell21.setCellValue("Invoice Date : ");
                cell21.setCellStyle(styleC21);
                HSSFCell cell22 = row2.createCell(1);
                cell22.setCellValue(dataheader.getHeaderinvdatefrom());
                cell22.setCellStyle(styleC22);
                HSSFCell cell23 = row2.createCell(2);
                if (!"".equalsIgnoreCase(dataheader.getHeaderinvdateto())) {
                    cell23.setCellValue(" to " + dataheader.getHeaderinvdateto());
                    cell23.setCellStyle(styleC22);
                }/*from www . j a  v  a2  s .com*/
                HSSFCell cell24 = row2.createCell(3);
                cell24.setCellValue("Print On : ");
                cell24.setCellStyle(styleC21);
                HSSFCell cell25 = row2.createCell(4);
                cell25.setCellValue(dataheader.getHeaderprinton());
                cell25.setCellStyle(styleC22);

                // Row 3
                HSSFRow row3 = sheetInc.createRow(2);
                HSSFCell cell31 = row3.createCell(0);
                cell31.setCellValue("Issue Date : ");
                cell31.setCellStyle(styleC21);
                HSSFCell cell32 = row3.createCell(1);
                cell32.setCellValue(dataheader.getHeaderissuedatefrom());
                cell32.setCellStyle(styleC22);
                HSSFCell cell33 = row3.createCell(2);
                if (!"".equalsIgnoreCase(dataheader.getHeaderissuedateto())) {
                    cell33.setCellValue(" to " + dataheader.getHeaderissuedateto());
                    cell33.setCellStyle(styleC22);
                }
                HSSFCell cell34 = row3.createCell(3);
                cell34.setCellValue("Page : ");
                cell34.setCellStyle(styleC21);
                HSSFCell cell35 = row3.createCell(4);
                cell35.setCellValue("1");
                cell35.setCellStyle(styleC22);

                // Row 4
                HSSFRow row4 = sheetInc.createRow(3);
                HSSFCell cell41 = row4.createCell(0);
                cell41.setCellValue("Department : ");
                cell41.setCellStyle(styleC21);
                HSSFCell cell42 = row4.createCell(1);
                cell42.setCellValue(dataheader.getHeaderdepartment());
                cell42.setCellStyle(styleC22);

                // Row 5
                HSSFRow row5 = sheetInc.createRow(4);
                HSSFCell cell51 = row5.createCell(0);
                cell51.setCellValue("Sale Staff : ");
                cell51.setCellStyle(styleC21);
                HSSFCell cell52 = row5.createCell(1);
                cell52.setCellValue(dataheader.getHeadersalestaff());
                cell52.setCellStyle(styleC22);

                // Row 6
                HSSFRow row6 = sheetInc.createRow(5);
                HSSFCell cell61 = row6.createCell(0);
                cell61.setCellValue("Term Pay : ");
                cell61.setCellStyle(styleC21);
                HSSFCell cell62 = row6.createCell(1);
                cell62.setCellValue(dataheader.getHeadertermpay());
                cell62.setCellStyle(styleC22);

            }
            if (x == 2) {
                // set Header Report (Row 1)
                HSSFCellStyle styleC1 = wb.createCellStyle();
                HSSFRow row1 = sheetIncSum.createRow(0);
                HSSFCell cell1 = row1.createCell(0);
                cell1.setCellValue("Summary Ticket Cost & Income");
                styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
                cell1.setCellStyle(styleC1);
                sheetIncSum.addMergedRegion(CellRangeAddress.valueOf("A1:E1"));

                // Row 2
                HSSFRow row2 = sheetIncSum.createRow(1);
                HSSFCell cell21 = row2.createCell(0);
                cell21.setCellValue("Invoice Date : ");
                cell21.setCellStyle(styleC21);
                HSSFCell cell22 = row2.createCell(1);
                cell22.setCellValue(dataheader.getHeaderinvdatefrom());
                cell22.setCellStyle(styleC22);
                HSSFCell cell23 = row2.createCell(2);
                if (!"".equalsIgnoreCase(dataheader.getHeaderinvdateto())) {
                    cell23.setCellValue(" to " + dataheader.getHeaderinvdateto());
                    cell23.setCellStyle(styleC22);
                }
                HSSFCell cell24 = row2.createCell(3);
                cell24.setCellValue("Print On : ");
                cell24.setCellStyle(styleC21);
                HSSFCell cell25 = row2.createCell(4);
                cell25.setCellValue(dataheader.getHeaderprinton());
                cell25.setCellStyle(styleC22);

                // Row 3
                HSSFRow row3 = sheetIncSum.createRow(2);
                HSSFCell cell31 = row3.createCell(0);
                cell31.setCellValue("Issue Date : ");
                cell31.setCellStyle(styleC21);
                HSSFCell cell32 = row3.createCell(1);
                cell32.setCellValue(dataheader.getHeaderissuedatefrom());
                cell32.setCellStyle(styleC22);
                HSSFCell cell33 = row3.createCell(2);
                if (!"".equalsIgnoreCase(dataheader.getHeaderissuedateto())) {
                    cell33.setCellValue(" to " + dataheader.getHeaderissuedateto());
                    cell33.setCellStyle(styleC22);
                }
                HSSFCell cell34 = row3.createCell(3);
                cell34.setCellValue("Page : ");
                cell34.setCellStyle(styleC21);
                HSSFCell cell35 = row3.createCell(4);
                cell35.setCellValue("1");
                cell35.setCellStyle(styleC22);

                // Row 4
                HSSFRow row4 = sheetIncSum.createRow(3);
                HSSFCell cell41 = row4.createCell(0);
                cell41.setCellValue("Department : ");
                cell41.setCellStyle(styleC21);
                HSSFCell cell42 = row4.createCell(1);
                cell42.setCellValue(dataheader.getHeaderdepartment());
                cell42.setCellStyle(styleC22);

                // Row 5
                HSSFRow row5 = sheetIncSum.createRow(4);
                HSSFCell cell51 = row5.createCell(0);
                cell51.setCellValue("Sale Staff : ");
                cell51.setCellStyle(styleC21);
                HSSFCell cell52 = row5.createCell(1);
                cell52.setCellValue(dataheader.getHeadersalestaff());
                cell52.setCellStyle(styleC22);

                // Row 6
                HSSFRow row6 = sheetIncSum.createRow(5);
                HSSFCell cell61 = row6.createCell(0);
                cell61.setCellValue("Term Pay : ");
                cell61.setCellStyle(styleC21);
                HSSFCell cell62 = row6.createCell(1);
                cell62.setCellValue(dataheader.getHeadertermpay());
                cell62.setCellStyle(styleC22);
            }
        }
        // Header Table
        HSSFCellStyle styleC3 = wb.createCellStyle();
        styleC3.setFont(excelFunction.getHeaderTable(wb.createFont()));
        styleC3.setAlignment(styleC3.ALIGN_CENTER);
        styleC3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleC3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleC3.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleC3.setBorderTop(HSSFCellStyle.BORDER_THIN);

        int count = 8;
        int tempcount = 0;
        int x = 0;

        BigDecimal interpax = new BigDecimal(0);
        BigDecimal interticket = new BigDecimal(0);
        BigDecimal intercost = new BigDecimal(0);
        BigDecimal interinbound = new BigDecimal(0);
        BigDecimal interwendy = new BigDecimal(0);
        BigDecimal interoutbound = new BigDecimal(0);
        BigDecimal interrefund = new BigDecimal(0);
        BigDecimal interbusinesstrip = new BigDecimal(0);
        BigDecimal interannualleave = new BigDecimal(0);
        BigDecimal internoinv = new BigDecimal(0);
        BigDecimal intercostinv = new BigDecimal(0);
        BigDecimal interinvwendy = new BigDecimal(0);
        BigDecimal interinvoutbound = new BigDecimal(0);
        BigDecimal interinvrefund = new BigDecimal(0);
        BigDecimal interinvbusinesstrip = new BigDecimal(0);
        BigDecimal interinvannualleave = new BigDecimal(0);
        BigDecimal interinvnoinv = new BigDecimal(0);

        BigDecimal domesticpax = new BigDecimal(0);
        BigDecimal domesticticket = new BigDecimal(0);
        BigDecimal domesticcost = new BigDecimal(0);
        BigDecimal domesticinbound = new BigDecimal(0);
        BigDecimal domesticwendy = new BigDecimal(0);
        BigDecimal domesticoutbound = new BigDecimal(0);
        BigDecimal domesticrefund = new BigDecimal(0);
        BigDecimal domesticbusinesstrip = new BigDecimal(0);
        BigDecimal domesticannualleave = new BigDecimal(0);
        BigDecimal domesticnoinv = new BigDecimal(0);
        BigDecimal domesticcostinv = new BigDecimal(0);
        BigDecimal domesticinvwendy = new BigDecimal(0);
        BigDecimal domesticinvoutbound = new BigDecimal(0);
        BigDecimal domesticinvrefund = new BigDecimal(0);
        BigDecimal domesticinvbusinesstrip = new BigDecimal(0);
        BigDecimal domesticinvannualleave = new BigDecimal(0);
        BigDecimal domesticinvnoinv = new BigDecimal(0);

        BigDecimal cancelpax = new BigDecimal(0);
        BigDecimal cancelticket = new BigDecimal(0);
        BigDecimal cancelcost = new BigDecimal(0);
        BigDecimal cancelinbound = new BigDecimal(0);
        BigDecimal cancelwendy = new BigDecimal(0);
        BigDecimal canceloutbound = new BigDecimal(0);
        BigDecimal cancelrefund = new BigDecimal(0);
        BigDecimal cancelbusinesstrip = new BigDecimal(0);
        BigDecimal cancelannualleave = new BigDecimal(0);
        BigDecimal cancelnoinv = new BigDecimal(0);
        BigDecimal cancelcostinv = new BigDecimal(0);
        BigDecimal cancelinvwendy = new BigDecimal(0);
        BigDecimal cancelinvoutbound = new BigDecimal(0);
        BigDecimal cancelinvrefund = new BigDecimal(0);
        BigDecimal cancelinvbusinesstrip = new BigDecimal(0);
        BigDecimal cancelinvannualleave = new BigDecimal(0);
        BigDecimal cancelinvnoinv = new BigDecimal(0);

        String costtypepaypast = "";
        String costtypepaypresent = "";
        String costtyperoutepast = "";
        String costtyperoutepresent = "";
        String costairpast = "";
        String costairpresent = "";
        int costtypepaypastline = 0;

        String costsumtypepaypast = "";
        String costsumtypepaypresent = "";
        String costsumtyperoutepast = "";
        String costsumtyperoutepresent = "";
        int costsumtypepaypastline = 0;
        for (int i = 0; i < sumCostIncome.size(); i++) {
            SummaryTicketCostAndIncomeView data = (SummaryTicketCostAndIncomeView) sumCostIncome.get(i);
            SummaryTicketCostAndIncomeView dataChk = (i > 0
                    ? (SummaryTicketCostAndIncomeView) sumCostIncome.get(i - 1)
                    : null);
            if ("I".equalsIgnoreCase(String.valueOf(data.getTyperounting()))) {
                BigDecimal interpaxtemp = (!"".equalsIgnoreCase(String.valueOf(data.getPax()))
                        ? new BigDecimal(String.valueOf(data.getPax()))
                        : new BigDecimal(0));
                interpax = interpax.add(interpaxtemp);
                BigDecimal intertickettemp = (!"".equalsIgnoreCase(String.valueOf(data.getTicketissue()))
                        ? new BigDecimal(String.valueOf(data.getTicketissue()))
                        : new BigDecimal(0));
                interticket = interticket.add(intertickettemp);
                BigDecimal intercosttemp = (!"".equalsIgnoreCase(String.valueOf(data.getCost()))
                        ? new BigDecimal(String.valueOf(data.getCost()))
                        : new BigDecimal(0));
                intercost = intercost.add(intercosttemp);
                BigDecimal interinboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInbound()))
                        ? new BigDecimal(String.valueOf(data.getInbound()))
                        : new BigDecimal(0));
                interinbound = interinbound.add(interinboundtemp);
                BigDecimal interwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getWendy()))
                        ? new BigDecimal(String.valueOf(data.getWendy()))
                        : new BigDecimal(0));
                interwendy = interwendy.add(interwendytemp);
                BigDecimal interoutboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getOutbound()))
                        ? new BigDecimal(String.valueOf(data.getOutbound()))
                        : new BigDecimal(0));
                interoutbound = interoutbound.add(interoutboundtemp);
                BigDecimal interrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getRefund()))
                        ? new BigDecimal(String.valueOf(data.getRefund()))
                        : new BigDecimal(0));
                interrefund = interrefund.add(interrefundtemp);
                BigDecimal interbusinesstriptemp = (!"".equalsIgnoreCase(String.valueOf(data.getBusinesstrip()))
                        ? new BigDecimal(String.valueOf(data.getBusinesstrip()))
                        : new BigDecimal(0));
                interbusinesstrip = interbusinesstrip.add(interbusinesstriptemp);
                BigDecimal interannualleavetemp = (!"".equalsIgnoreCase(String.valueOf(data.getAnnualleave()))
                        ? new BigDecimal(String.valueOf(data.getAnnualleave()))
                        : new BigDecimal(0));
                interannualleave = interannualleave.add(interannualleavetemp);
                BigDecimal internoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getNoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getNoinvoice()))
                        : new BigDecimal(0));
                internoinv = internoinv.add(internoinvtemp);
                BigDecimal intercostinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getCostinv()))
                        ? new BigDecimal(String.valueOf(data.getCostinv()))
                        : new BigDecimal(0));
                intercostinv = intercostinv.add(intercostinvtemp);
                BigDecimal interinvwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvwendy()))
                        ? new BigDecimal(String.valueOf(data.getInvwendy()))
                        : new BigDecimal(0));
                interinvwendy = interinvwendy.add(interinvwendytemp);
                BigDecimal interinvoutboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvoutbound()))
                        ? new BigDecimal(String.valueOf(data.getInvoutbound()))
                        : new BigDecimal(0));
                interinvoutbound = interinvoutbound.add(interinvoutboundtemp);
                BigDecimal interinvrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvrefund()))
                        ? new BigDecimal(String.valueOf(data.getInvrefund()))
                        : new BigDecimal(0));
                interinvrefund = interinvrefund.add(interinvrefundtemp);
                BigDecimal interinvbusinesstriptemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvbusinesstrip()))
                                ? new BigDecimal(String.valueOf(data.getInvbusinesstrip()))
                                : new BigDecimal(0));
                interinvbusinesstrip = interinvbusinesstrip.add(interinvbusinesstriptemp);
                BigDecimal interinvannualleavetemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvannualleave()))
                                ? new BigDecimal(String.valueOf(data.getInvannualleave()))
                                : new BigDecimal(0));
                interinvannualleave = interinvannualleave.add(interinvannualleavetemp);
                BigDecimal interinvnoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvnoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getInvnoinvoice()))
                        : new BigDecimal(0));
                interinvnoinv = interinvnoinv.add(interinvnoinvtemp);

            } else if ("D".equalsIgnoreCase(String.valueOf(data.getTyperounting()))) {
                BigDecimal domesticpaxtemp = (!"".equalsIgnoreCase(String.valueOf(data.getPax()))
                        ? new BigDecimal(String.valueOf(data.getPax()))
                        : new BigDecimal(0));
                domesticpax = domesticpax.add(domesticpaxtemp);
                BigDecimal domestictickettemp = (!"".equalsIgnoreCase(String.valueOf(data.getTicketissue()))
                        ? new BigDecimal(String.valueOf(data.getTicketissue()))
                        : new BigDecimal(0));
                domesticticket = domesticticket.add(domestictickettemp);
                BigDecimal domesticcosttemp = (!"".equalsIgnoreCase(String.valueOf(data.getCost()))
                        ? new BigDecimal(String.valueOf(data.getCost()))
                        : new BigDecimal(0));
                domesticcost = domesticcost.add(domesticcosttemp);
                BigDecimal domesticinboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInbound()))
                        ? new BigDecimal(String.valueOf(data.getInbound()))
                        : new BigDecimal(0));
                domesticinbound = domesticinbound.add(domesticinboundtemp);
                BigDecimal domesticwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getWendy()))
                        ? new BigDecimal(String.valueOf(data.getWendy()))
                        : new BigDecimal(0));
                domesticwendy = domesticwendy.add(domesticwendytemp);
                BigDecimal domesticoutboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getOutbound()))
                        ? new BigDecimal(String.valueOf(data.getOutbound()))
                        : new BigDecimal(0));
                domesticoutbound = domesticoutbound.add(domesticoutboundtemp);
                BigDecimal domesticrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getRefund()))
                        ? new BigDecimal(String.valueOf(data.getRefund()))
                        : new BigDecimal(0));
                domesticrefund = domesticrefund.add(domesticrefundtemp);
                BigDecimal domesticbusinesstriptemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getBusinesstrip()))
                                ? new BigDecimal(String.valueOf(data.getBusinesstrip()))
                                : new BigDecimal(0));
                domesticbusinesstrip = domesticbusinesstrip.add(domesticbusinesstriptemp);
                BigDecimal domesticannualleavetemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getAnnualleave()))
                                ? new BigDecimal(String.valueOf(data.getAnnualleave()))
                                : new BigDecimal(0));
                domesticannualleave = domesticannualleave.add(domesticannualleavetemp);
                BigDecimal domesticnoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getNoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getNoinvoice()))
                        : new BigDecimal(0));
                domesticnoinv = domesticnoinv.add(domesticnoinvtemp);
                BigDecimal domesticcostinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getCostinv()))
                        ? new BigDecimal(String.valueOf(data.getCostinv()))
                        : new BigDecimal(0));
                domesticcostinv = domesticcostinv.add(domesticcostinvtemp);
                BigDecimal domesticinvwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvwendy()))
                        ? new BigDecimal(String.valueOf(data.getInvwendy()))
                        : new BigDecimal(0));
                domesticinvwendy = domesticinvwendy.add(domesticinvwendytemp);
                BigDecimal domesticinvoutboundtemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvoutbound()))
                                ? new BigDecimal(String.valueOf(data.getInvoutbound()))
                                : new BigDecimal(0));
                domesticinvoutbound = domesticinvoutbound.add(domesticinvoutboundtemp);
                BigDecimal domesticinvrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvrefund()))
                        ? new BigDecimal(String.valueOf(data.getInvrefund()))
                        : new BigDecimal(0));
                domesticinvrefund = domesticinvrefund.add(domesticinvrefundtemp);
                BigDecimal domesticinvbusinesstriptemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvbusinesstrip()))
                                ? new BigDecimal(String.valueOf(data.getInvbusinesstrip()))
                                : new BigDecimal(0));
                domesticinvbusinesstrip = domesticinvbusinesstrip.add(domesticinvbusinesstriptemp);
                BigDecimal domesticinvannualleavetemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvannualleave()))
                                ? new BigDecimal(String.valueOf(data.getInvannualleave()))
                                : new BigDecimal(0));
                domesticinvannualleave = domesticinvannualleave.add(domesticinvannualleavetemp);
                BigDecimal domesticinvnoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvnoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getInvnoinvoice()))
                        : new BigDecimal(0));
                domesticinvnoinv = domesticinvnoinv.add(domesticinvnoinvtemp);

            } else if ("C".equalsIgnoreCase(String.valueOf(data.getTyperounting()))) {
                BigDecimal cancelpaxtemp = (!"".equalsIgnoreCase(String.valueOf(data.getPax()))
                        ? new BigDecimal(String.valueOf(data.getPax()))
                        : new BigDecimal(0));
                cancelpax = cancelpax.add(cancelpaxtemp);
                BigDecimal canceltickettemp = (!"".equalsIgnoreCase(String.valueOf(data.getTicketissue()))
                        ? new BigDecimal(String.valueOf(data.getTicketissue()))
                        : new BigDecimal(0));
                cancelticket = cancelticket.add(canceltickettemp);
                BigDecimal cancelcosttemp = (!"".equalsIgnoreCase(String.valueOf(data.getCost()))
                        ? new BigDecimal(String.valueOf(data.getCost()))
                        : new BigDecimal(0));
                cancelcost = cancelcost.add(cancelcosttemp);
                BigDecimal cancelinboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInbound()))
                        ? new BigDecimal(String.valueOf(data.getInbound()))
                        : new BigDecimal(0));
                cancelinbound = cancelinbound.add(cancelinboundtemp);
                BigDecimal cancelwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getWendy()))
                        ? new BigDecimal(String.valueOf(data.getWendy()))
                        : new BigDecimal(0));
                cancelwendy = cancelwendy.add(cancelwendytemp);
                BigDecimal canceloutboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getOutbound()))
                        ? new BigDecimal(String.valueOf(data.getOutbound()))
                        : new BigDecimal(0));
                canceloutbound = canceloutbound.add(canceloutboundtemp);
                BigDecimal cancelrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getRefund()))
                        ? new BigDecimal(String.valueOf(data.getRefund()))
                        : new BigDecimal(0));
                cancelrefund = cancelrefund.add(cancelrefundtemp);
                BigDecimal cancelbusinesstriptemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getBusinesstrip()))
                                ? new BigDecimal(String.valueOf(data.getBusinesstrip()))
                                : new BigDecimal(0));
                cancelbusinesstrip = cancelbusinesstrip.add(cancelbusinesstriptemp);
                BigDecimal cancelannualleavetemp = (!"".equalsIgnoreCase(String.valueOf(data.getAnnualleave()))
                        ? new BigDecimal(String.valueOf(data.getAnnualleave()))
                        : new BigDecimal(0));
                cancelannualleave = cancelannualleave.add(cancelannualleavetemp);
                BigDecimal cancelnoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getNoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getNoinvoice()))
                        : new BigDecimal(0));
                cancelnoinv = cancelnoinv.add(cancelnoinvtemp);
                BigDecimal cancelcostinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getCostinv()))
                        ? new BigDecimal(String.valueOf(data.getCostinv()))
                        : new BigDecimal(0));
                cancelcostinv = cancelcostinv.add(cancelcostinvtemp);
                BigDecimal cancelinvwendytemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvwendy()))
                        ? new BigDecimal(String.valueOf(data.getInvwendy()))
                        : new BigDecimal(0));
                cancelinvwendy = cancelinvwendy.add(cancelinvwendytemp);
                BigDecimal cancelinvoutboundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvoutbound()))
                        ? new BigDecimal(String.valueOf(data.getInvoutbound()))
                        : new BigDecimal(0));
                cancelinvoutbound = cancelinvoutbound.add(cancelinvoutboundtemp);
                BigDecimal cancelinvrefundtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvrefund()))
                        ? new BigDecimal(String.valueOf(data.getInvrefund()))
                        : new BigDecimal(0));
                cancelinvrefund = cancelinvrefund.add(cancelinvrefundtemp);
                BigDecimal cancelinvbusinesstriptemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvbusinesstrip()))
                                ? new BigDecimal(String.valueOf(data.getInvbusinesstrip()))
                                : new BigDecimal(0));
                cancelinvbusinesstrip = cancelinvbusinesstrip.add(cancelinvbusinesstriptemp);
                BigDecimal cancelinvannualleavetemp = (!""
                        .equalsIgnoreCase(String.valueOf(data.getInvannualleave()))
                                ? new BigDecimal(String.valueOf(data.getInvannualleave()))
                                : new BigDecimal(0));
                cancelinvannualleave = cancelinvannualleave.add(cancelinvannualleavetemp);
                BigDecimal cancelinvnoinvtemp = (!"".equalsIgnoreCase(String.valueOf(data.getInvnoinvoice()))
                        ? new BigDecimal(String.valueOf(data.getInvnoinvoice()))
                        : new BigDecimal(0));
                cancelinvnoinv = cancelinvnoinv.add(cancelinvnoinvtemp);

            }

            if ("income".equalsIgnoreCase(data.getPage())) {
                //inv
                HSSFRow row8 = sheetInc.createRow(7);
                HSSFCell cell81 = row8.createCell(0);
                cell81.setCellValue("Type Pay");
                cell81.setCellStyle(styleC3);
                HSSFCell cell82 = row8.createCell(1);
                cell82.setCellValue("Type Route");
                cell82.setCellStyle(styleC3);
                HSSFCell cell83 = row8.createCell(2);
                cell83.setCellValue("Pax");
                cell83.setCellStyle(styleC3);
                HSSFCell cell84 = row8.createCell(3);
                cell84.setCellValue("Air");
                cell84.setCellStyle(styleC3);
                HSSFCell cell85 = row8.createCell(4);
                cell85.setCellValue("Ticket Issue");
                cell85.setCellStyle(styleC3);
                HSSFCell cell86 = row8.createCell(5);
                cell86.setCellValue("Inv. No");
                cell86.setCellStyle(styleC3);
                HSSFCell cell87 = row8.createCell(6);
                cell87.setCellValue("Cost");
                cell87.setCellStyle(styleC3);
                HSSFCell cell88 = row8.createCell(7);
                cell88.setCellValue("Inbound");
                cell88.setCellStyle(styleC3);
                HSSFCell cell89 = row8.createCell(8);
                cell89.setCellValue("Wendy(N)");
                cell89.setCellStyle(styleC3);
                HSSFCell cell90 = row8.createCell(9);
                cell90.setCellValue("Outbound");
                cell90.setCellStyle(styleC3);
                HSSFCell cell91 = row8.createCell(10);
                cell91.setCellValue("Refund");
                cell91.setCellStyle(styleC3);
                HSSFCell cell92 = row8.createCell(11);
                cell92.setCellValue("Business Trip");
                cell92.setCellStyle(styleC3);
                HSSFCell cell93 = row8.createCell(12);
                cell93.setCellValue("Annual Leave");
                cell93.setCellStyle(styleC3);
                HSSFCell cell94 = row8.createCell(13);
                cell94.setCellValue("No Inv");
                cell94.setCellStyle(styleC3);
                HSSFCell cell95 = row8.createCell(14);
                cell95.setCellValue("Cost Inv");
                cell95.setCellStyle(styleC3);
                HSSFCell cell96 = row8.createCell(15);
                cell96.setCellValue("Inv Wendy");
                cell96.setCellStyle(styleC3);
                HSSFCell cell97 = row8.createCell(16);
                cell97.setCellValue("Inv Outbound");
                cell97.setCellStyle(styleC3);
                HSSFCell cell98 = row8.createCell(17);
                cell98.setCellValue("Inv Refund");
                cell98.setCellStyle(styleC3);
                HSSFCell cell99 = row8.createCell(18);
                cell99.setCellValue("Inv Business Trip");
                cell99.setCellStyle(styleC3);
                HSSFCell cell100 = row8.createCell(19);
                cell100.setCellValue("Inv Annual Leave");
                cell100.setCellStyle(styleC3);
                HSSFCell cell101 = row8.createCell(20);
                cell101.setCellValue("Inv No Inv");
                cell101.setCellStyle(styleC3);

                HSSFRow row = sheetInc.createRow(count + i);

                costtypepaypast = (dataChk == null ? "" : String.valueOf(dataChk.getTypepayment()));
                costtypepaypresent = String.valueOf(data.getTypepayment());
                costtyperoutepast = (dataChk == null ? "" : String.valueOf(dataChk.getTyperounting()));
                costtyperoutepresent = String.valueOf(data.getTyperounting());
                costairpast = (dataChk == null ? "" : String.valueOf(dataChk.getAir()));
                costairpresent = String.valueOf(data.getAir());
                costtypepaypastline = ((costtypepaypast.equalsIgnoreCase(costtypepaypresent))
                        && ((costtyperoutepast.equalsIgnoreCase(costtyperoutepresent)))
                        && ((costairpast.equalsIgnoreCase(costairpresent))) ? costtypepaypastline : i);

                HSSFCell celldata0 = row.createCell(0);
                celldata0.setCellValue(String.valueOf(data.getTypepayment()));
                celldata0.setCellStyle(styleC29);

                HSSFCell celldata1 = row.createCell(1);
                celldata1.setCellValue(String.valueOf(data.getTyperounting()));
                celldata1.setCellStyle(styleC30);

                HSSFCell celldata2 = row.createCell(2);
                celldata2.setCellValue("".equalsIgnoreCase(String.valueOf(data.getPax())) ? 0
                        : (new BigDecimal(data.getPax())).doubleValue());
                celldata2.setCellStyle(styleC26);

                HSSFCell celldata3 = row.createCell(3);
                celldata3.setCellValue(String.valueOf(data.getAir()));
                celldata3.setCellStyle(styleC26);

                HSSFCell celldata4 = row.createCell(4);
                if ((costtypepaypast.equalsIgnoreCase(costtypepaypresent))
                        && ((costtyperoutepast.equalsIgnoreCase(costtyperoutepresent)))
                        && ((costairpast.equalsIgnoreCase(costairpresent)))) {
                    celldata4.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTicketissue())) ? 0
                            : (new BigDecimal(data.getTicketissue())).doubleValue());
                    sheetInc.addMergedRegion(CellRangeAddress
                            .valueOf("E" + (count + costtypepaypastline + 1) + ":E" + (count + i + 1)));
                    celldata4.setCellStyle(styleC25);
                } else {
                    celldata4.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTicketissue())) ? 0
                            : (new BigDecimal(data.getTicketissue())).doubleValue());
                    celldata4.setCellStyle(styleC25);
                }

                HSSFCell celldata5 = row.createCell(5);
                celldata5.setCellValue(String.valueOf(data.getInvno()));
                celldata5.setCellStyle(styleC29);

                HSSFCell celldata6 = row.createCell(6);
                celldata6.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCost())) ? 0
                        : (new BigDecimal(data.getCost())).doubleValue());
                celldata6.setCellStyle(styleC25);

                HSSFCell celldata7 = row.createCell(7);
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInbound())) ? 0
                        : (new BigDecimal(data.getInbound())).doubleValue());
                celldata7.setCellStyle(styleC25);

                HSSFCell celldata8 = row.createCell(8);
                celldata8.setCellValue("".equalsIgnoreCase(String.valueOf(data.getWendy())) ? 0
                        : (new BigDecimal(data.getWendy())).doubleValue());
                celldata8.setCellStyle(styleC25);

                HSSFCell celldata9 = row.createCell(9);
                celldata9.setCellValue("".equalsIgnoreCase(String.valueOf(data.getOutbound())) ? 0
                        : (new BigDecimal(data.getOutbound())).doubleValue());
                celldata9.setCellStyle(styleC25);

                HSSFCell celldata10 = row.createCell(10);
                celldata10.setCellValue("".equalsIgnoreCase(String.valueOf(data.getRefund())) ? 0
                        : (new BigDecimal(data.getRefund())).doubleValue());
                celldata10.setCellStyle(styleC25);

                HSSFCell celldata11 = row.createCell(11);
                celldata11.setCellValue("".equalsIgnoreCase(String.valueOf(data.getBusinesstrip())) ? 0
                        : (new BigDecimal(data.getBusinesstrip())).doubleValue());
                celldata11.setCellStyle(styleC25);

                HSSFCell celldata12 = row.createCell(12);
                celldata12.setCellValue("".equalsIgnoreCase(String.valueOf(data.getAnnualleave())) ? 0
                        : (new BigDecimal(data.getAnnualleave())).doubleValue());
                celldata12.setCellStyle(styleC25);

                HSSFCell celldata13 = row.createCell(13);
                celldata13.setCellValue("".equalsIgnoreCase(String.valueOf(data.getNoinvoice())) ? 0
                        : (new BigDecimal(data.getNoinvoice())).doubleValue());
                celldata13.setCellStyle(styleC25);

                HSSFCell celldata14 = row.createCell(14);
                celldata14.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCostinv())) ? 0
                        : (new BigDecimal(data.getCostinv())).doubleValue());
                celldata14.setCellStyle(styleC25);

                HSSFCell celldata15 = row.createCell(15);
                celldata15.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvwendy())) ? 0
                        : (new BigDecimal(data.getInvwendy())).doubleValue());
                celldata15.setCellStyle(styleC25);

                HSSFCell celldata16 = row.createCell(16);
                celldata16.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvoutbound())) ? 0
                        : (new BigDecimal(data.getInvoutbound())).doubleValue());
                celldata16.setCellStyle(styleC25);

                HSSFCell celldata17 = row.createCell(17);
                celldata17.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvrefund())) ? 0
                        : (new BigDecimal(data.getInvrefund())).doubleValue());
                celldata17.setCellStyle(styleC25);

                HSSFCell celldata18 = row.createCell(18);
                celldata18.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvbusinesstrip())) ? 0
                        : (new BigDecimal(data.getInvbusinesstrip())).doubleValue());
                celldata18.setCellStyle(styleC25);

                HSSFCell celldata19 = row.createCell(19);
                celldata19.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvannualleave())) ? 0
                        : (new BigDecimal(data.getInvannualleave())).doubleValue());
                celldata19.setCellStyle(styleC25);

                HSSFCell celldata20 = row.createCell(20);
                celldata20.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvnoinvoice())) ? 0
                        : (new BigDecimal(data.getInvnoinvoice())).doubleValue());
                celldata20.setCellStyle(styleC25);

                tempcount = count + i + 1;
            }
            if ("incomesum".equalsIgnoreCase(data.getPage())) {
                HSSFCellStyle styleTotal = wb.createCellStyle();
                styleTotal.setFont(excelFunction.getHeaderTable(wb.createFont()));
                styleTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
                styleTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
                styleTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
                styleTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
                styleTotal.setAlignment(styleC22.ALIGN_RIGHT);

                //Inter
                HSSFRow rowsinter1 = sheetInc.createRow(tempcount);
                sheetInc.addMergedRegion(
                        CellRangeAddress.valueOf("A" + (tempcount + 1) + ":B" + (tempcount + 1)));
                HSSFCell cellInter00C = rowsinter1.createCell(0);
                cellInter00C.setCellValue("Total Inter");
                cellInter00C.setCellStyle(styleTotal);
                HSSFCell cellInter01C = rowsinter1.createCell(2);
                cellInter01C.setCellValue(interpax.doubleValue());
                cellInter01C.setCellStyle(styleC26);
                HSSFCell cellInter02C = rowsinter1.createCell(3);
                cellInter02C.setCellValue(interticket.doubleValue());
                cellInter02C.setCellStyle(styleC25);
                HSSFCell cellInter03C = rowsinter1.createCell(6);
                cellInter03C.setCellValue(intercost.doubleValue());
                cellInter03C.setCellStyle(styleC25);
                HSSFCell cellInter04C = rowsinter1.createCell(7);
                cellInter04C.setCellValue(interinbound.doubleValue());
                cellInter04C.setCellStyle(styleC25);
                HSSFCell cellInter05C = rowsinter1.createCell(8);
                cellInter05C.setCellValue(interwendy.doubleValue());
                cellInter05C.setCellStyle(styleC25);
                HSSFCell cellInter06C = rowsinter1.createCell(9);
                cellInter06C.setCellValue(interoutbound.doubleValue());
                cellInter06C.setCellStyle(styleC25);
                HSSFCell cellInter07C = rowsinter1.createCell(10);
                cellInter07C.setCellValue(interrefund.doubleValue());
                cellInter07C.setCellStyle(styleC25);
                HSSFCell cellInter08C = rowsinter1.createCell(11);
                cellInter08C.setCellValue(interbusinesstrip.doubleValue());
                cellInter08C.setCellStyle(styleC25);
                HSSFCell cellInter09C = rowsinter1.createCell(12);
                cellInter09C.setCellValue(interannualleave.doubleValue());
                cellInter09C.setCellStyle(styleC25);
                HSSFCell cellInter10C = rowsinter1.createCell(13);
                cellInter10C.setCellValue(internoinv.doubleValue());
                cellInter10C.setCellStyle(styleC25);
                HSSFCell cellInter11C = rowsinter1.createCell(14);
                cellInter11C.setCellValue(intercostinv.doubleValue());
                cellInter11C.setCellStyle(styleC25);
                HSSFCell cellInter12C = rowsinter1.createCell(15);
                cellInter12C.setCellValue(interinvwendy.doubleValue());
                cellInter12C.setCellStyle(styleC25);
                HSSFCell cellInter13C = rowsinter1.createCell(16);
                cellInter13C.setCellValue(interinvoutbound.doubleValue());
                cellInter13C.setCellStyle(styleC25);
                HSSFCell cellInter14C = rowsinter1.createCell(17);
                cellInter14C.setCellValue(interinvrefund.doubleValue());
                cellInter14C.setCellStyle(styleC25);
                HSSFCell cellInter15C = rowsinter1.createCell(18);
                cellInter15C.setCellValue(interinvbusinesstrip.doubleValue());
                cellInter15C.setCellStyle(styleC25);
                HSSFCell cellInter16C = rowsinter1.createCell(19);
                cellInter16C.setCellValue(interinvannualleave.doubleValue());
                cellInter16C.setCellStyle(styleC25);
                HSSFCell cellInter17C = rowsinter1.createCell(20);
                cellInter17C.setCellValue(interinvnoinv.doubleValue());
                cellInter17C.setCellStyle(styleC25);
                HSSFCell cellInter18C = rowsinter1.createCell(1);
                cellInter18C.setCellStyle(styleTotal);
                HSSFCell cellInter19C = rowsinter1.createCell(3);
                cellInter19C.setCellStyle(styleTotal);
                HSSFCell cellInter20C = rowsinter1.createCell(4);
                cellInter20C.setCellStyle(styleTotal);
                HSSFCell cellInter21C = rowsinter1.createCell(5);
                cellInter21C.setCellStyle(styleTotal);

                //Domestic
                HSSFRow rowsdomestic1 = sheetInc.createRow(tempcount + 1);
                sheetInc.addMergedRegion(
                        CellRangeAddress.valueOf("A" + (tempcount + 2) + ":B" + (tempcount + 2)));
                HSSFCell cellDomestic00C = rowsdomestic1.createCell(0);
                cellDomestic00C.setCellValue("Total Domestic");
                cellDomestic00C.setCellStyle(styleTotal);
                HSSFCell cellDomestic01C = rowsdomestic1.createCell(2);
                cellDomestic01C.setCellValue(domesticpax.doubleValue());
                cellDomestic01C.setCellStyle(styleC26);
                HSSFCell cellDomestic02C = rowsdomestic1.createCell(3);
                cellDomestic02C.setCellValue(domesticticket.doubleValue());
                cellDomestic02C.setCellStyle(styleC25);
                HSSFCell cellDomestic03C = rowsdomestic1.createCell(6);
                cellDomestic03C.setCellValue(domesticcost.doubleValue());
                cellDomestic03C.setCellStyle(styleC25);
                HSSFCell cellDomestic04C = rowsdomestic1.createCell(7);
                cellDomestic04C.setCellValue(domesticinbound.doubleValue());
                cellDomestic04C.setCellStyle(styleC25);
                HSSFCell cellDomestic05C = rowsdomestic1.createCell(8);
                cellDomestic05C.setCellValue(domesticwendy.doubleValue());
                cellDomestic05C.setCellStyle(styleC25);
                HSSFCell cellDomestic06C = rowsdomestic1.createCell(9);
                cellDomestic06C.setCellValue(domesticoutbound.doubleValue());
                cellDomestic06C.setCellStyle(styleC25);
                HSSFCell cellDomestic07C = rowsdomestic1.createCell(10);
                cellDomestic07C.setCellValue(domesticrefund.doubleValue());
                cellDomestic07C.setCellStyle(styleC25);
                HSSFCell cellDomestic08C = rowsdomestic1.createCell(11);
                cellDomestic08C.setCellValue(domesticbusinesstrip.doubleValue());
                cellDomestic08C.setCellStyle(styleC25);
                HSSFCell cellDomestic09C = rowsdomestic1.createCell(12);
                cellDomestic09C.setCellValue(domesticannualleave.doubleValue());
                cellDomestic09C.setCellStyle(styleC25);
                HSSFCell cellDomestic10C = rowsdomestic1.createCell(13);
                cellDomestic10C.setCellValue(domesticnoinv.doubleValue());
                cellDomestic10C.setCellStyle(styleC25);
                HSSFCell cellDomestic11C = rowsdomestic1.createCell(14);
                cellDomestic11C.setCellValue(domesticcostinv.doubleValue());
                cellDomestic11C.setCellStyle(styleC25);
                HSSFCell cellDomestic12C = rowsdomestic1.createCell(15);
                cellDomestic12C.setCellValue(domesticinvwendy.doubleValue());
                cellDomestic12C.setCellStyle(styleC25);
                HSSFCell cellDomestic13C = rowsdomestic1.createCell(16);
                cellDomestic13C.setCellValue(domesticinvoutbound.doubleValue());
                cellDomestic13C.setCellStyle(styleC25);
                HSSFCell cellDomestic14C = rowsdomestic1.createCell(17);
                cellDomestic14C.setCellValue(domesticinvrefund.doubleValue());
                cellDomestic14C.setCellStyle(styleC25);
                HSSFCell cellDomestic15C = rowsdomestic1.createCell(18);
                cellDomestic15C.setCellValue(domesticinvbusinesstrip.doubleValue());
                cellDomestic15C.setCellStyle(styleC25);
                HSSFCell cellDomestic16C = rowsdomestic1.createCell(19);
                cellDomestic16C.setCellValue(domesticinvannualleave.doubleValue());
                cellDomestic16C.setCellStyle(styleC25);
                HSSFCell cellDomestic17C = rowsdomestic1.createCell(20);
                cellDomestic17C.setCellValue(domesticinvnoinv.doubleValue());
                cellDomestic17C.setCellStyle(styleC25);
                HSSFCell cellDomestic18C = rowsdomestic1.createCell(1);
                cellDomestic18C.setCellStyle(styleTotal);
                HSSFCell cellDomestic19C = rowsdomestic1.createCell(3);
                cellDomestic19C.setCellStyle(styleTotal);
                HSSFCell cellDomestic20C = rowsdomestic1.createCell(4);
                cellDomestic20C.setCellStyle(styleTotal);
                HSSFCell cellDomestic21C = rowsdomestic1.createCell(5);
                cellDomestic21C.setCellStyle(styleTotal);

                //Cancel
                HSSFRow rowscancl1 = sheetInc.createRow(tempcount + 2);
                sheetInc.addMergedRegion(
                        CellRangeAddress.valueOf("A" + (tempcount + 3) + ":B" + (tempcount + 3)));
                HSSFCell cellCancel00C = rowscancl1.createCell(0);
                cellCancel00C.setCellValue("Total Cancel");
                cellCancel00C.setCellStyle(styleTotal);
                HSSFCell cellCancel01C = rowscancl1.createCell(2);
                cellCancel01C.setCellValue(cancelpax.doubleValue());
                cellCancel01C.setCellStyle(styleC26);
                HSSFCell cellCancel02C = rowscancl1.createCell(3);
                cellCancel02C.setCellValue(cancelticket.doubleValue());
                cellCancel02C.setCellStyle(styleC25);
                HSSFCell cellCancel03C = rowscancl1.createCell(6);
                cellCancel03C.setCellValue(cancelcost.doubleValue());
                cellCancel03C.setCellStyle(styleC25);
                HSSFCell cellCancel04C = rowscancl1.createCell(7);
                cellCancel04C.setCellValue(cancelinbound.doubleValue());
                cellCancel04C.setCellStyle(styleC25);
                HSSFCell cellCancel05C = rowscancl1.createCell(8);
                cellCancel05C.setCellValue(cancelwendy.doubleValue());
                cellCancel05C.setCellStyle(styleC25);
                HSSFCell cellCancel06C = rowscancl1.createCell(9);
                cellCancel06C.setCellValue(canceloutbound.doubleValue());
                cellCancel06C.setCellStyle(styleC25);
                HSSFCell cellCancel07C = rowscancl1.createCell(10);
                cellCancel07C.setCellValue(cancelrefund.doubleValue());
                cellCancel07C.setCellStyle(styleC25);
                HSSFCell cellCancel08C = rowscancl1.createCell(11);
                cellCancel08C.setCellValue(cancelbusinesstrip.doubleValue());
                cellCancel08C.setCellStyle(styleC25);
                HSSFCell cellCancel09C = rowscancl1.createCell(12);
                cellCancel09C.setCellValue(cancelannualleave.doubleValue());
                cellCancel09C.setCellStyle(styleC25);
                HSSFCell cellCancel10C = rowscancl1.createCell(13);
                cellCancel10C.setCellValue(cancelnoinv.doubleValue());
                cellCancel10C.setCellStyle(styleC25);
                HSSFCell cellCancel11C = rowscancl1.createCell(14);
                cellCancel11C.setCellValue(cancelcostinv.doubleValue());
                cellCancel11C.setCellStyle(styleC25);
                HSSFCell cellCancel12C = rowscancl1.createCell(15);
                cellCancel12C.setCellValue(cancelinvwendy.doubleValue());
                cellCancel12C.setCellStyle(styleC25);
                HSSFCell cellCancel13C = rowscancl1.createCell(16);
                cellCancel13C.setCellValue(cancelinvoutbound.doubleValue());
                cellCancel13C.setCellStyle(styleC25);
                HSSFCell cellCancel14C = rowscancl1.createCell(17);
                cellCancel14C.setCellValue(cancelinvrefund.doubleValue());
                cellCancel14C.setCellStyle(styleC25);
                HSSFCell cellCancel15C = rowscancl1.createCell(18);
                cellCancel15C.setCellValue(cancelinvbusinesstrip.doubleValue());
                cellCancel15C.setCellStyle(styleC25);
                HSSFCell cellCancel16C = rowscancl1.createCell(19);
                cellCancel16C.setCellValue(cancelinvannualleave.doubleValue());
                cellCancel16C.setCellStyle(styleC25);
                HSSFCell cellCancel17C = rowscancl1.createCell(20);
                cellCancel17C.setCellValue(cancelinvnoinv.doubleValue());
                cellCancel17C.setCellStyle(styleC25);
                HSSFCell cellCancel18C = rowscancl1.createCell(1);
                cellCancel18C.setCellStyle(styleTotal);
                HSSFCell cellCancel19C = rowscancl1.createCell(3);
                cellCancel19C.setCellStyle(styleTotal);
                HSSFCell cellCancel20C = rowscancl1.createCell(4);
                cellCancel20C.setCellStyle(styleTotal);
                HSSFCell cellCancel21C = rowscancl1.createCell(5);
                cellCancel21C.setCellStyle(styleTotal);

                //Total inv
                HSSFRow rowtotal = sheetInc.createRow(tempcount + 3);
                String totalpax = "SUM(C" + 9 + ":C" + (tempcount) + ")";
                String totalticketissue = "SUM(E" + 9 + ":E" + (tempcount) + ")";
                String totalcost = "SUM(G" + 9 + ":G" + (tempcount) + ")";
                String totalinbound = "SUM(H" + 9 + ":H" + (tempcount) + ")";
                String totalwendy = "SUM(I" + 9 + ":I" + (tempcount) + ")";
                String totaloutbound = "SUM(J" + 9 + ":J" + (tempcount) + ")";
                String totalrefund = "SUM(K" + 9 + ":K" + (tempcount) + ")";
                String totalbusinesstrip = "SUM(L" + 9 + ":L" + (tempcount) + ")";
                String totalannualleave = "SUM(M" + 9 + ":M" + (tempcount) + ")";
                String totalnoinv = "SUM(N" + 9 + ":N" + (tempcount) + ")";
                String totalcostinv = "SUM(O" + 9 + ":O" + (tempcount) + ")";
                String totalinvwendy = "SUM(P" + 9 + ":P" + (tempcount) + ")";
                String totalinvout = "SUM(Q" + 9 + ":Q" + (tempcount) + ")";
                String totalinvrefund = "SUM(R" + 9 + ":R" + (tempcount) + ")";
                String totalinvbusinesstrip = "SUM(S" + 9 + ":S" + (tempcount) + ")";
                String totalinvannualleave = "SUM(T" + 9 + ":T" + (tempcount) + ")";
                String totalinvnoinv = "SUM(U" + 9 + ":U" + (tempcount) + ")";

                sheetInc.addMergedRegion(
                        CellRangeAddress.valueOf("A" + (tempcount + 4) + ":B" + (tempcount + 4)));
                //sheetInc.addMergedRegion(CellRangeAddress.valueOf("D"+(tempcount+1)+":F"+(tempcount+1)));
                HSSFCell cellTotal00 = rowtotal.createCell(0);
                cellTotal00.setCellValue("Total");
                cellTotal00.setCellStyle(styleTotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellFormula(totalpax);
                cellTotal01.setCellStyle(styleC26);
                HSSFCell cellTotal02 = rowtotal.createCell(4);
                cellTotal02.setCellFormula(totalticketissue);
                cellTotal02.setCellStyle(styleC25);
                HSSFCell cellTotal03 = rowtotal.createCell(6);
                cellTotal03.setCellFormula(totalcost);
                cellTotal03.setCellStyle(styleC25);
                HSSFCell cellTotal04 = rowtotal.createCell(7);
                cellTotal04.setCellFormula(totalinbound);
                cellTotal04.setCellStyle(styleC25);
                HSSFCell cellTotal05 = rowtotal.createCell(8);
                cellTotal05.setCellFormula(totalwendy);
                cellTotal05.setCellStyle(styleC25);
                HSSFCell cellTotal06 = rowtotal.createCell(9);
                cellTotal06.setCellFormula(totaloutbound);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(10);
                cellTotal07.setCellFormula(totalrefund);
                cellTotal07.setCellStyle(styleC25);
                HSSFCell cellTotal08 = rowtotal.createCell(11);
                cellTotal08.setCellFormula(totalbusinesstrip);
                cellTotal08.setCellStyle(styleC25);
                HSSFCell cellTotal09 = rowtotal.createCell(12);
                cellTotal09.setCellFormula(totalannualleave);
                cellTotal09.setCellStyle(styleC25);
                HSSFCell cellTotal10 = rowtotal.createCell(13);
                cellTotal10.setCellFormula(totalnoinv);
                cellTotal10.setCellStyle(styleC25);
                HSSFCell cellTotal11 = rowtotal.createCell(14);
                cellTotal11.setCellFormula(totalcostinv);
                cellTotal11.setCellStyle(styleC25);
                HSSFCell cellTotal12 = rowtotal.createCell(15);
                cellTotal12.setCellFormula(totalinvwendy);
                cellTotal12.setCellStyle(styleC25);
                HSSFCell cellTotal13 = rowtotal.createCell(16);
                cellTotal13.setCellFormula(totalinvout);
                cellTotal13.setCellStyle(styleC25);
                HSSFCell cellTotal14 = rowtotal.createCell(17);
                cellTotal14.setCellFormula(totalinvrefund);
                cellTotal14.setCellStyle(styleC25);
                HSSFCell cellTotal15 = rowtotal.createCell(18);
                cellTotal15.setCellFormula(totalinvbusinesstrip);
                cellTotal15.setCellStyle(styleC25);
                HSSFCell cellTotal16 = rowtotal.createCell(19);
                cellTotal16.setCellFormula(totalinvannualleave);
                cellTotal16.setCellStyle(styleC25);
                HSSFCell cellTotal17 = rowtotal.createCell(20);
                cellTotal17.setCellFormula(totalinvnoinv);
                cellTotal17.setCellStyle(styleC25);
                HSSFCell cellTotal18 = rowtotal.createCell(1);
                cellTotal18.setCellStyle(styleTotal);
                HSSFCell cellTotal19 = rowtotal.createCell(3);
                cellTotal19.setCellStyle(styleTotal);
                HSSFCell cellTotal20 = rowtotal.createCell(4);
                cellTotal20.setCellStyle(styleTotal);
                HSSFCell cellTotal21 = rowtotal.createCell(5);
                cellTotal21.setCellStyle(styleTotal);
                //                    if(tempcount != 0){
                //                        rowdetail = tempcount+3;
                //                    }               

                HSSFRow row8 = sheetIncSum.createRow(7);
                HSSFCell cell81 = row8.createCell(0);
                cell81.setCellValue("Type Pay");
                cell81.setCellStyle(styleC3);
                HSSFCell cell82 = row8.createCell(1);
                cell82.setCellValue("Type Route");
                cell82.setCellStyle(styleC3);
                HSSFCell cell83 = row8.createCell(2);
                cell83.setCellValue("Pax");
                cell83.setCellStyle(styleC3);
                HSSFCell cell84 = row8.createCell(3);
                cell84.setCellValue("Ticket Issue");
                cell84.setCellStyle(styleC3);
                HSSFCell cell85 = row8.createCell(4);
                cell85.setCellValue("Inv. No");
                cell85.setCellStyle(styleC3);
                HSSFCell cell86 = row8.createCell(5);
                cell86.setCellValue("Cost");
                cell86.setCellStyle(styleC3);
                HSSFCell cell87 = row8.createCell(6);
                cell87.setCellValue("Inbound");
                cell87.setCellStyle(styleC3);
                HSSFCell cell88 = row8.createCell(7);
                cell88.setCellValue("Wendy(N)");
                cell88.setCellStyle(styleC3);
                HSSFCell cell89 = row8.createCell(8);
                cell89.setCellValue("Outbound");
                cell89.setCellStyle(styleC3);
                HSSFCell cell91 = row8.createCell(9);
                cell91.setCellValue("Refund");
                cell91.setCellStyle(styleC3);
                HSSFCell cell92 = row8.createCell(10);
                cell92.setCellValue("Business Trip");
                cell92.setCellStyle(styleC3);
                HSSFCell cell93 = row8.createCell(11);
                cell93.setCellValue("Annual Leave");
                cell93.setCellStyle(styleC3);
                HSSFCell cell94 = row8.createCell(12);
                cell94.setCellValue("No Inv");
                cell94.setCellStyle(styleC3);
                HSSFCell cell95 = row8.createCell(13);
                cell95.setCellValue("Cost Inv");
                cell95.setCellStyle(styleC3);
                HSSFCell cell96 = row8.createCell(14);
                cell96.setCellValue("Inv Wendy");
                cell96.setCellStyle(styleC3);
                HSSFCell cell97 = row8.createCell(15);
                cell97.setCellValue("Inv Outbound");
                cell97.setCellStyle(styleC3);
                HSSFCell cell98 = row8.createCell(16);
                cell98.setCellValue("Inv Refund");
                cell98.setCellStyle(styleC3);
                HSSFCell cell99 = row8.createCell(17);
                cell99.setCellValue("Inv Business Trip");
                cell99.setCellStyle(styleC3);
                HSSFCell cell100 = row8.createCell(18);
                cell100.setCellValue("Inv Annual Leave");
                cell100.setCellStyle(styleC3);
                HSSFCell cell101 = row8.createCell(19);
                cell101.setCellValue("Inv No Inv");
                cell101.setCellStyle(styleC3);

                HSSFRow row = sheetIncSum.createRow(count + x);

                costsumtypepaypast = (dataChk == null ? "" : String.valueOf(dataChk.getTypepaymentSum()));
                costsumtypepaypresent = String.valueOf(data.getTypepaymentSum());
                costsumtyperoutepast = (dataChk == null ? "" : String.valueOf(dataChk.getTyperountingSum()));
                costsumtyperoutepresent = String.valueOf(data.getTyperountingSum());
                costsumtypepaypastline = ((costsumtypepaypast.equalsIgnoreCase(costsumtypepaypresent))
                        && ((costsumtyperoutepast.equalsIgnoreCase(costsumtyperoutepresent)))
                                ? costsumtypepaypastline
                                : x);

                HSSFCell celldata0 = row.createCell(0);
                celldata0.setCellValue(String.valueOf(data.getTypepaymentSum()));
                celldata0.setCellStyle(styleC29);

                HSSFCell celldata1 = row.createCell(1);
                celldata1.setCellValue(String.valueOf(data.getTyperountingSum()));
                celldata1.setCellStyle(styleC30);

                HSSFCell celldata2 = row.createCell(2);
                celldata2.setCellValue("".equalsIgnoreCase(String.valueOf(data.getPaxSum())) ? 0
                        : (new BigDecimal(data.getPaxSum())).doubleValue());
                celldata2.setCellStyle(styleC26);

                HSSFCell celldata3 = row.createCell(3);
                if ((costsumtypepaypast.equalsIgnoreCase(costsumtypepaypresent))
                        && ((costsumtyperoutepast.equalsIgnoreCase(costsumtyperoutepresent)))) {
                    celldata3.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTicketissueSum())) ? 0
                            : (new BigDecimal(data.getTicketissueSum())).doubleValue());
                    sheetIncSum.addMergedRegion(CellRangeAddress
                            .valueOf("D" + (count + costsumtypepaypastline + 1) + ":D" + (count + x + 1)));
                    celldata3.setCellStyle(styleC25);
                } else {
                    celldata3.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTicketissueSum())) ? 0
                            : (new BigDecimal(data.getTicketissueSum())).doubleValue());
                    celldata3.setCellStyle(styleC25);
                }

                HSSFCell celldata4 = row.createCell(4);
                celldata4.setCellValue(String.valueOf(data.getInvnoSum()));
                celldata4.setCellStyle(styleC29);

                HSSFCell celldata5 = row.createCell(5);
                celldata5.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCostSum())) ? 0
                        : (new BigDecimal(data.getCostSum())).doubleValue());
                celldata5.setCellStyle(styleC25);

                HSSFCell celldata6 = row.createCell(6);
                celldata6.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInboundSum())) ? 0
                        : (new BigDecimal(data.getInboundSum())).doubleValue());
                celldata6.setCellStyle(styleC25);

                HSSFCell celldata7 = row.createCell(7);
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getWendySum())) ? 0
                        : (new BigDecimal(data.getWendySum())).doubleValue());
                celldata7.setCellStyle(styleC25);

                HSSFCell celldata8 = row.createCell(8);
                celldata8.setCellValue("".equalsIgnoreCase(String.valueOf(data.getOutbound())) ? 0
                        : (new BigDecimal(data.getOutbound())).doubleValue());
                celldata8.setCellStyle(styleC25);

                HSSFCell celldata9 = row.createCell(9);
                celldata9.setCellValue("".equalsIgnoreCase(String.valueOf(data.getRefundSum())) ? 0
                        : (new BigDecimal(data.getRefundSum())).doubleValue());
                celldata9.setCellStyle(styleC25);

                HSSFCell celldata10 = row.createCell(10);
                celldata10.setCellValue("".equalsIgnoreCase(String.valueOf(data.getBusinesstripSum())) ? 0
                        : (new BigDecimal(data.getBusinesstripSum())).doubleValue());
                celldata10.setCellStyle(styleC25);

                HSSFCell celldata11 = row.createCell(11);
                celldata11.setCellValue("".equalsIgnoreCase(String.valueOf(data.getAnnualleaveSum())) ? 0
                        : (new BigDecimal(data.getAnnualleaveSum())).doubleValue());
                celldata11.setCellStyle(styleC25);

                HSSFCell celldata12 = row.createCell(12);
                celldata12.setCellValue("".equalsIgnoreCase(String.valueOf(data.getNoinvoiceSum())) ? 0
                        : (new BigDecimal(data.getNoinvoiceSum())).doubleValue());
                celldata12.setCellStyle(styleC25);

                HSSFCell celldata13 = row.createCell(13);
                celldata13.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCostinvSum())) ? 0
                        : (new BigDecimal(data.getCostinvSum())).doubleValue());
                celldata13.setCellStyle(styleC25);

                HSSFCell celldata14 = row.createCell(14);
                celldata14.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvwendySum())) ? 0
                        : (new BigDecimal(data.getInvwendySum())).doubleValue());
                celldata14.setCellStyle(styleC25);

                HSSFCell celldata15 = row.createCell(15);
                celldata15.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvoutboundSum())) ? 0
                        : (new BigDecimal(data.getInvoutboundSum())).doubleValue());
                celldata15.setCellStyle(styleC25);

                HSSFCell celldata16 = row.createCell(16);
                celldata16.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvrefundSum())) ? 0
                        : (new BigDecimal(data.getInvrefundSum())).doubleValue());
                celldata16.setCellStyle(styleC25);

                HSSFCell celldata17 = row.createCell(17);
                celldata17.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvbusinesstripSum())) ? 0
                        : (new BigDecimal(data.getInvbusinesstripSum())).doubleValue());
                celldata17.setCellStyle(styleC25);

                HSSFCell celldata18 = row.createCell(18);
                celldata18.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvannualleaveSum())) ? 0
                        : (new BigDecimal(data.getInvannualleaveSum())).doubleValue());
                celldata18.setCellStyle(styleC25);

                HSSFCell celldata19 = row.createCell(19);
                celldata19.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvnoinvoiceSum())) ? 0
                        : (new BigDecimal(data.getInvnoinvoiceSum())).doubleValue());
                celldata19.setCellStyle(styleC25);
                //                    tempcount2 = count + i + 4;               

                // set total last row
                if (i == (sumCostIncome.size() - 1)) {
                    //Inter
                    HSSFRow rowsinter = sheetIncSum.createRow(count + x + 1);
                    sheetIncSum.addMergedRegion(
                            CellRangeAddress.valueOf("A" + (count + x + 2) + ":B" + (count + x + 2)));
                    HSSFCell cellInter00 = rowsinter.createCell(0);
                    cellInter00.setCellValue("Total Inter");
                    cellInter00.setCellStyle(styleTotal);
                    HSSFCell cellInter01 = rowsinter.createCell(2);
                    cellInter01.setCellValue(interpax.doubleValue());
                    cellInter01.setCellStyle(styleC26);
                    HSSFCell cellInter02 = rowsinter.createCell(3);
                    cellInter02.setCellValue(interticket.doubleValue());
                    cellInter02.setCellStyle(styleC25);
                    HSSFCell cellInter03 = rowsinter.createCell(5);
                    cellInter03.setCellValue(intercost.doubleValue());
                    cellInter03.setCellStyle(styleC25);
                    HSSFCell cellInter04 = rowsinter.createCell(6);
                    cellInter04.setCellValue(interinbound.doubleValue());
                    cellInter04.setCellStyle(styleC25);
                    HSSFCell cellInter05 = rowsinter.createCell(7);
                    cellInter05.setCellValue(interwendy.doubleValue());
                    cellInter05.setCellStyle(styleC25);
                    HSSFCell cellInter06 = rowsinter.createCell(8);
                    cellInter06.setCellValue(interoutbound.doubleValue());
                    cellInter06.setCellStyle(styleC25);
                    HSSFCell cellInter07 = rowsinter.createCell(9);
                    cellInter07.setCellValue(interrefund.doubleValue());
                    cellInter07.setCellStyle(styleC25);
                    HSSFCell cellInter08 = rowsinter.createCell(10);
                    cellInter08.setCellValue(interbusinesstrip.doubleValue());
                    cellInter08.setCellStyle(styleC25);
                    HSSFCell cellInter09 = rowsinter.createCell(11);
                    cellInter09.setCellValue(interannualleave.doubleValue());
                    cellInter09.setCellStyle(styleC25);
                    HSSFCell cellInter10 = rowsinter.createCell(12);
                    cellInter10.setCellValue(internoinv.doubleValue());
                    cellInter10.setCellStyle(styleC25);
                    HSSFCell cellInter11 = rowsinter.createCell(13);
                    cellInter11.setCellValue(intercostinv.doubleValue());
                    cellInter11.setCellStyle(styleC25);
                    HSSFCell cellInter12 = rowsinter.createCell(14);
                    cellInter12.setCellValue(interinvwendy.doubleValue());
                    cellInter12.setCellStyle(styleC25);
                    HSSFCell cellInter13 = rowsinter.createCell(15);
                    cellInter13.setCellValue(interinvoutbound.doubleValue());
                    cellInter13.setCellStyle(styleC25);
                    HSSFCell cellInter14 = rowsinter.createCell(16);
                    cellInter14.setCellValue(interinvrefund.doubleValue());
                    cellInter14.setCellStyle(styleC25);
                    HSSFCell cellInter15 = rowsinter.createCell(17);
                    cellInter15.setCellValue(interinvbusinesstrip.doubleValue());
                    cellInter15.setCellStyle(styleC25);
                    HSSFCell cellInter16 = rowsinter.createCell(18);
                    cellInter16.setCellValue(interinvannualleave.doubleValue());
                    cellInter16.setCellStyle(styleC25);
                    HSSFCell cellInter17 = rowsinter.createCell(19);
                    cellInter17.setCellValue(interinvnoinv.doubleValue());
                    cellInter17.setCellStyle(styleC25);
                    HSSFCell cellInter18 = rowsinter.createCell(1);
                    cellInter18.setCellStyle(styleTotal);
                    HSSFCell cellInter19 = rowsinter.createCell(3);
                    cellInter19.setCellStyle(styleTotal);
                    HSSFCell cellInter20 = rowsinter.createCell(4);
                    cellInter20.setCellStyle(styleTotal);

                    //Domestic
                    HSSFRow rowsdomestic = sheetIncSum.createRow(count + x + 2);
                    sheetIncSum.addMergedRegion(
                            CellRangeAddress.valueOf("A" + (count + x + 3) + ":B" + (count + x + 3)));
                    HSSFCell cellDomestic00 = rowsdomestic.createCell(0);
                    cellDomestic00.setCellValue("Total Domestic");
                    cellDomestic00.setCellStyle(styleTotal);
                    HSSFCell cellDomestic01 = rowsdomestic.createCell(2);
                    cellDomestic01.setCellValue(domesticpax.doubleValue());
                    cellDomestic01.setCellStyle(styleC26);
                    HSSFCell cellDomestic02 = rowsdomestic.createCell(3);
                    cellDomestic02.setCellValue(domesticticket.doubleValue());
                    cellDomestic02.setCellStyle(styleC25);
                    HSSFCell cellDomestic03 = rowsdomestic.createCell(5);
                    cellDomestic03.setCellValue(domesticcost.doubleValue());
                    cellDomestic03.setCellStyle(styleC25);
                    HSSFCell cellDomestic04 = rowsdomestic.createCell(6);
                    cellDomestic04.setCellValue(domesticinbound.doubleValue());
                    cellDomestic04.setCellStyle(styleC25);
                    HSSFCell cellDomestic05 = rowsdomestic.createCell(7);
                    cellDomestic05.setCellValue(domesticwendy.doubleValue());
                    cellDomestic05.setCellStyle(styleC25);
                    HSSFCell cellDomestic06 = rowsdomestic.createCell(8);
                    cellDomestic06.setCellValue(domesticoutbound.doubleValue());
                    cellDomestic06.setCellStyle(styleC25);
                    HSSFCell cellDomestic07 = rowsdomestic.createCell(9);
                    cellDomestic07.setCellValue(domesticrefund.doubleValue());
                    cellDomestic07.setCellStyle(styleC25);
                    HSSFCell cellDomestic08 = rowsdomestic.createCell(10);
                    cellDomestic08.setCellValue(domesticbusinesstrip.doubleValue());
                    cellDomestic08.setCellStyle(styleC25);
                    HSSFCell cellDomestic09 = rowsdomestic.createCell(11);
                    cellDomestic09.setCellValue(domesticannualleave.doubleValue());
                    cellDomestic09.setCellStyle(styleC25);
                    HSSFCell cellDomestic10 = rowsdomestic.createCell(12);
                    cellDomestic10.setCellValue(domesticnoinv.doubleValue());
                    cellDomestic10.setCellStyle(styleC25);
                    HSSFCell cellDomestic11 = rowsdomestic.createCell(13);
                    cellDomestic11.setCellValue(domesticcostinv.doubleValue());
                    cellDomestic11.setCellStyle(styleC25);
                    HSSFCell cellDomestic12 = rowsdomestic.createCell(14);
                    cellDomestic12.setCellValue(domesticinvwendy.doubleValue());
                    cellDomestic12.setCellStyle(styleC25);
                    HSSFCell cellDomestic13 = rowsdomestic.createCell(15);
                    cellDomestic13.setCellValue(domesticinvoutbound.doubleValue());
                    cellDomestic13.setCellStyle(styleC25);
                    HSSFCell cellDomestic14 = rowsdomestic.createCell(16);
                    cellDomestic14.setCellValue(domesticinvrefund.doubleValue());
                    cellDomestic14.setCellStyle(styleC25);
                    HSSFCell cellDomestic15 = rowsdomestic.createCell(17);
                    cellDomestic15.setCellValue(domesticinvbusinesstrip.doubleValue());
                    cellDomestic15.setCellStyle(styleC25);
                    HSSFCell cellDomestic16 = rowsdomestic.createCell(18);
                    cellDomestic16.setCellValue(domesticinvannualleave.doubleValue());
                    cellDomestic16.setCellStyle(styleC25);
                    HSSFCell cellDomestic17 = rowsdomestic.createCell(19);
                    cellDomestic17.setCellValue(domesticinvnoinv.doubleValue());
                    cellDomestic17.setCellStyle(styleC25);
                    HSSFCell cellDomestic18 = rowsdomestic.createCell(1);
                    cellDomestic18.setCellStyle(styleTotal);
                    HSSFCell cellDomestic19 = rowsdomestic.createCell(3);
                    cellDomestic19.setCellStyle(styleTotal);
                    HSSFCell cellDomestic20 = rowsdomestic.createCell(4);
                    cellDomestic20.setCellStyle(styleTotal);

                    //Cancel
                    HSSFRow rowscancl = sheetIncSum.createRow(count + x + 3);
                    sheetIncSum.addMergedRegion(
                            CellRangeAddress.valueOf("A" + (count + x + 4) + ":B" + (count + x + 4)));
                    HSSFCell cellCancel00 = rowscancl.createCell(0);
                    cellCancel00.setCellValue("Total Cancel");
                    cellCancel00.setCellStyle(styleTotal);
                    HSSFCell cellCancel01 = rowscancl.createCell(2);
                    cellCancel01.setCellValue(cancelpax.doubleValue());
                    cellCancel01.setCellStyle(styleC26);
                    HSSFCell cellCancel02 = rowscancl.createCell(3);
                    cellCancel02.setCellValue(cancelticket.doubleValue());
                    cellCancel02.setCellStyle(styleC25);
                    HSSFCell cellCancel03 = rowscancl.createCell(5);
                    cellCancel03.setCellValue(cancelcost.doubleValue());
                    cellCancel03.setCellStyle(styleC25);
                    HSSFCell cellCancel04 = rowscancl.createCell(6);
                    cellCancel04.setCellValue(cancelinbound.doubleValue());
                    cellCancel04.setCellStyle(styleC25);
                    HSSFCell cellCancel05 = rowscancl.createCell(7);
                    cellCancel05.setCellValue(cancelwendy.doubleValue());
                    cellCancel05.setCellStyle(styleC25);
                    HSSFCell cellCancel06 = rowscancl.createCell(8);
                    cellCancel06.setCellValue(canceloutbound.doubleValue());
                    cellCancel06.setCellStyle(styleC25);
                    HSSFCell cellCancel07 = rowscancl.createCell(9);
                    cellCancel07.setCellValue(cancelrefund.doubleValue());
                    cellCancel07.setCellStyle(styleC25);
                    HSSFCell cellCancel08 = rowscancl.createCell(10);
                    cellCancel08.setCellValue(cancelbusinesstrip.doubleValue());
                    cellCancel08.setCellStyle(styleC25);
                    HSSFCell cellCancel09 = rowscancl.createCell(11);
                    cellCancel09.setCellValue(cancelannualleave.doubleValue());
                    cellCancel09.setCellStyle(styleC25);
                    HSSFCell cellCancel10 = rowscancl.createCell(12);
                    cellCancel10.setCellValue(cancelnoinv.doubleValue());
                    cellCancel10.setCellStyle(styleC25);
                    HSSFCell cellCancel11 = rowscancl.createCell(13);
                    cellCancel11.setCellValue(cancelcostinv.doubleValue());
                    cellCancel11.setCellStyle(styleC25);
                    HSSFCell cellCancel12 = rowscancl.createCell(14);
                    cellCancel12.setCellValue(cancelinvwendy.doubleValue());
                    cellCancel12.setCellStyle(styleC25);
                    HSSFCell cellCancel13 = rowscancl.createCell(15);
                    cellCancel13.setCellValue(cancelinvoutbound.doubleValue());
                    cellCancel13.setCellStyle(styleC25);
                    HSSFCell cellCancel14 = rowscancl.createCell(16);
                    cellCancel14.setCellValue(cancelinvrefund.doubleValue());
                    cellCancel14.setCellStyle(styleC25);
                    HSSFCell cellCancel15 = rowscancl.createCell(17);
                    cellCancel15.setCellValue(cancelinvbusinesstrip.doubleValue());
                    cellCancel15.setCellStyle(styleC25);
                    HSSFCell cellCancel16 = rowscancl.createCell(18);
                    cellCancel16.setCellValue(cancelinvannualleave.doubleValue());
                    cellCancel16.setCellStyle(styleC25);
                    HSSFCell cellCancel17 = rowscancl.createCell(19);
                    cellCancel17.setCellValue(cancelinvnoinv.doubleValue());
                    cellCancel17.setCellStyle(styleC25);
                    HSSFCell cellCancel18 = rowscancl.createCell(1);
                    cellCancel18.setCellStyle(styleTotal);
                    HSSFCell cellCancel19 = rowscancl.createCell(3);
                    cellCancel19.setCellStyle(styleTotal);
                    HSSFCell cellCancel20 = rowscancl.createCell(4);
                    cellCancel20.setCellStyle(styleTotal);

                    HSSFRow rows = sheetIncSum.createRow(count + x + 4);
                    //Total inv
                    String sumtotalpax = "SUM(C" + 9 + ":C" + (count + x + 1) + ")";
                    String sumtotalticketissue = "SUM(D" + 9 + ":D" + (count + x + 1) + ")";
                    String sumtotalcost = "SUM(F" + 9 + ":F" + (count + x + 1) + ")";
                    String sumtotalinbound = "SUM(G" + 9 + ":G" + (count + x + 1) + ")";
                    String sumtotalwendy = "SUM(H" + 9 + ":H" + (count + x + 1) + ")";
                    String sumtotaloutbound = "SUM(I" + 9 + ":I" + (count + x + 1) + ")";
                    String sumtotalrefund = "SUM(J" + 9 + ":J" + (count + x) + ")";
                    String sumtotalbusinesstrip = "SUM(K" + 9 + ":K" + (count + x + 1) + ")";
                    String sumtotalannualleave = "SUM(L" + 9 + ":L" + (count + x + 1) + ")";
                    String sumtotalnoinv = "SUM(M" + 9 + ":M" + (count + x + 1) + ")";
                    String sumtotalcostinv = "SUM(N" + 9 + ":N" + (count + x + 1) + ")";
                    String sumtotalinvwendy = "SUM(O" + 9 + ":O" + (count + x + 1) + ")";
                    String sumtotalinvout = "SUM(P" + 9 + ":P" + (count + x + 1) + ")";
                    String sumtotalinvrefund = "SUM(Q" + 9 + ":Q" + (count + x + 1) + ")";
                    String sumtotalinvbusinesstrip = "SUM(R" + 9 + ":R" + (count + x + 1) + ")";
                    String sumtotalinvannualleave = "SUM(S" + 9 + ":S" + (count + x + 1) + ")";
                    String sumtotalinvnoinv = "SUM(T" + 9 + ":T" + (count + x + 1) + ")";
                    sheetIncSum.addMergedRegion(
                            CellRangeAddress.valueOf("A" + (count + x + 5) + ":B" + (count + x + 5)));
                    //sheetIncSum.addMergedRegion(CellRangeAddress.valueOf("D"+(count + x + 2)+":E"+(count + x + 2)));
                    HSSFCell cellTotalSum00 = rows.createCell(0);
                    cellTotalSum00.setCellValue("Total");
                    cellTotalSum00.setCellStyle(styleTotal);
                    HSSFCell cellTotalSum01 = rows.createCell(2);
                    cellTotalSum01.setCellFormula(sumtotalpax);
                    cellTotalSum01.setCellStyle(styleC26);
                    HSSFCell cellTotalSum02 = rows.createCell(3);
                    cellTotalSum02.setCellFormula(sumtotalticketissue);
                    cellTotalSum02.setCellStyle(styleC25);
                    HSSFCell cellTotalSum03 = rows.createCell(5);
                    cellTotalSum03.setCellFormula(sumtotalcost);
                    cellTotalSum03.setCellStyle(styleC25);
                    HSSFCell cellTotalSum04 = rows.createCell(6);
                    cellTotalSum04.setCellFormula(sumtotalinbound);
                    cellTotalSum04.setCellStyle(styleC25);
                    HSSFCell cellTotalSum05 = rows.createCell(7);
                    cellTotalSum05.setCellFormula(sumtotalwendy);
                    cellTotalSum05.setCellStyle(styleC25);
                    HSSFCell cellTotalSum06 = rows.createCell(8);
                    cellTotalSum06.setCellFormula(sumtotaloutbound);
                    cellTotalSum06.setCellStyle(styleC25);
                    HSSFCell cellTotalSum07 = rows.createCell(9);
                    cellTotalSum07.setCellFormula(sumtotalrefund);
                    cellTotalSum07.setCellStyle(styleC25);
                    HSSFCell cellTotalSum08 = rows.createCell(10);
                    cellTotalSum08.setCellFormula(sumtotalbusinesstrip);
                    cellTotalSum08.setCellStyle(styleC25);
                    HSSFCell cellTotalSum09 = rows.createCell(11);
                    cellTotalSum09.setCellFormula(sumtotalannualleave);
                    cellTotalSum09.setCellStyle(styleC25);
                    HSSFCell cellTotalSum10 = rows.createCell(12);
                    cellTotalSum10.setCellFormula(sumtotalnoinv);
                    cellTotalSum10.setCellStyle(styleC25);
                    HSSFCell cellTotalSum11 = rows.createCell(13);
                    cellTotalSum11.setCellFormula(sumtotalcostinv);
                    cellTotalSum11.setCellStyle(styleC25);
                    HSSFCell cellTotalSum12 = rows.createCell(14);
                    cellTotalSum12.setCellFormula(sumtotalinvwendy);
                    cellTotalSum12.setCellStyle(styleC25);
                    HSSFCell cellTotalSum13 = rows.createCell(15);
                    cellTotalSum13.setCellFormula(sumtotalinvout);
                    cellTotalSum13.setCellStyle(styleC25);
                    HSSFCell cellTotalSum14 = rows.createCell(16);
                    cellTotalSum14.setCellFormula(sumtotalinvrefund);
                    cellTotalSum14.setCellStyle(styleC25);
                    HSSFCell cellTotalSum15 = rows.createCell(17);
                    cellTotalSum15.setCellFormula(sumtotalinvbusinesstrip);
                    cellTotalSum15.setCellStyle(styleC25);
                    HSSFCell cellTotalSum16 = rows.createCell(18);
                    cellTotalSum16.setCellFormula(sumtotalinvannualleave);
                    cellTotalSum16.setCellStyle(styleC25);
                    HSSFCell cellTotalSum17 = rows.createCell(19);
                    cellTotalSum17.setCellFormula(sumtotalinvnoinv);
                    cellTotalSum17.setCellStyle(styleC25);
                    HSSFCell cellTotalSum18 = rows.createCell(1);
                    cellTotalSum18.setCellStyle(styleTotal);
                    HSSFCell cellTotalSum19 = rows.createCell(3);
                    cellTotalSum19.setCellStyle(styleTotal);
                    HSSFCell cellTotalSum20 = rows.createCell(4);
                    cellTotalSum20.setCellStyle(styleTotal);
                    //                        HSSFCell cellTotalSum19 = rows.createCell(5);
                    //                        cellTotalSum19.setCellStyle(styleTotal);
                }
                x++;
            }
            for (int j = 0; j < 30; j++) {
                sheetInc.autoSizeColumn(j);
                sheetIncSum.autoSizeColumn(j);
            }
        }
    }
}

From source file:com.smi.travel.controller.excel.checking.airticket.CostIncomeSummary.java

private void getSummaryTicketAdjustCostAndIncome(HSSFWorkbook wb, List summaryTicketCostIncome) {
    List<ListSummaryTicketAdjustCostAndIncome> listTotal = summaryTicketCostIncome;

    String sheetName = "income";// name of sheet
    String sheetName1 = "income_summary";
    HSSFSheet sheet = wb.createSheet(sheetName);
    HSSFSheet sheet1 = wb.createSheet(sheetName1);
    HSSFDataFormat currency = wb.createDataFormat();
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();

    //Style sum/*from  w  ww  .j a  v a  2 s  .c  o  m*/
    HSSFCellStyle styleSum = wb.createCellStyle();
    styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleSum.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleSum.setAlignment(styleSum.ALIGN_RIGHT);
    styleSum.setDataFormat(currency.getFormat("#,##0.00"));

    //Style total
    HSSFCellStyle styleTotal = wb.createCellStyle();
    styleTotal.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleTotal.setAlignment(styleTotal.ALIGN_RIGHT);

    //Style Pax
    HSSFCellStyle stylePax = wb.createCellStyle();
    stylePax.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    stylePax.setBorderRight(HSSFCellStyle.BORDER_THIN);
    stylePax.setBorderTop(HSSFCellStyle.BORDER_THIN);
    stylePax.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    stylePax.setDataFormat(currency.getFormat("#,##0"));
    stylePax.setAlignment(stylePax.ALIGN_CENTER);

    //Style Pax Table
    HSSFCellStyle stylePaxTable = wb.createCellStyle();
    stylePaxTable.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    stylePaxTable.setBorderRight(HSSFCellStyle.BORDER_THIN);
    stylePaxTable.setDataFormat(currency.getFormat("#,##0"));
    stylePaxTable.setAlignment(stylePaxTable.ALIGN_CENTER);

    // line table
    HSSFCellStyle styleBorderTop = wb.createCellStyle();// use
    styleBorderTop.setBorderTop(styleBorderTop.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderAllHeaderTable = wb.createCellStyle(); // use
    styleAlignRightBorderAllHeaderTable.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleAlignRightBorderAllHeaderTable.setAlignment(styleAlignRightBorderAllHeaderTable.ALIGN_CENTER);
    styleAlignRightBorderAllHeaderTable.setBorderTop(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderBottom(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderRight(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderLeft(styleAlignRightBorderAllHeaderTable.BORDER_THIN);

    // Header Table
    HSSFCellStyle styleDetailTable = wb.createCellStyle(); // use
    styleDetailTable.setAlignment(styleDetailTable.ALIGN_LEFT);
    styleDetailTable.setBorderLeft(styleDetailTable.BORDER_THIN);
    styleDetailTable.setBorderRight(styleDetailTable.BORDER_THIN);
    HSSFCellStyle styleDetailTableNumber = wb.createCellStyle(); //use
    styleDetailTableNumber.setDataFormat(currency.getFormat("#,##0.00"));
    styleDetailTableNumber.setAlignment(styleDetailTableNumber.ALIGN_RIGHT);
    styleDetailTableNumber.setBorderLeft(styleDetailTableNumber.BORDER_THIN);
    styleDetailTableNumber.setBorderRight(styleDetailTableNumber.BORDER_THIN);
    HSSFCellStyle styleDetailTableBorderBottomTop = wb.createCellStyle(); // use
    styleDetailTableBorderBottomTop.setBorderTop(styleDetailTableBorderBottomTop.BORDER_THIN);
    styleDetailTableBorderBottomTop.setBorderRight(styleDetailTableBorderBottomTop.BORDER_THIN);
    HSSFCellStyle styleDetailTableCenter = wb.createCellStyle();
    styleDetailTableCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleDetailTableCenter.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleDetailTableCenter.setAlignment(styleDetailTableCenter.ALIGN_CENTER);

    // Sheet Detail (2)
    // set Header Report (Row 1)
    HSSFCellStyle styleC11 = wb.createCellStyle();
    HSSFRow row01 = sheet.createRow(0);
    HSSFCell cell01 = row01.createCell(0);
    cell01.setCellValue("Summary Ticket Adjust Cost & Income");
    styleC11.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell01.setCellStyle(styleC11);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A1:H1"));

    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    List<SummaryTicketAdjustCostAndIncome> incomeTemp = listTotal.get(0).getSummaryTicketAdjustAndIncome();
    SummaryTicketAdjustCostAndIncome income = new SummaryTicketAdjustCostAndIncome();
    if ((incomeTemp != null) && (incomeTemp.size() != 0)) {
        income = (SummaryTicketAdjustCostAndIncome) incomeTemp.get(0);
    }
    // Row 2
    HSSFRow row02 = sheet.createRow(1);
    HSSFCell cell021 = row02.createCell(0);
    cell021.setCellValue("Invoice Date : ");
    cell021.setCellStyle(styleC21);
    HSSFCell cell022 = row02.createCell(1);
    cell022.setCellValue(income.getInvoicedatePage());
    cell022.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell023 = row02.createCell(4);
    cell023.setCellValue("Print : ");
    cell023.setCellStyle(styleC21);
    HSSFCell cell024 = row02.createCell(5);
    cell024.setCellValue(income.getPrintbyPage());
    cell024.setCellStyle(styleC22);

    // Row 3
    HSSFRow row03 = sheet.createRow(2);
    HSSFCell cell031 = row03.createCell(0);
    cell031.setCellValue("Issue Date : ");
    cell031.setCellStyle(styleC21);
    HSSFCell cell032 = row03.createCell(1);
    cell032.setCellValue(income.getIssuedatePage());
    cell032.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell033 = row03.createCell(4);
    cell033.setCellValue("Page : ");
    cell033.setCellStyle(styleC21);
    HSSFCell cell034 = row03.createCell(5);
    cell034.setCellValue("1");
    cell034.setCellStyle(styleC22);

    // Row 4
    HSSFRow row04 = sheet.createRow(3);
    HSSFCell cell041 = row04.createCell(0);
    cell041.setCellValue("Department : ");
    cell041.setCellStyle(styleC21);
    HSSFCell cell042 = row04.createCell(1);
    cell042.setCellValue(income.getDepartmentPage());
    cell042.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));

    // Row 5
    HSSFRow row05 = sheet.createRow(4);
    HSSFCell cell051 = row05.createCell(0);
    cell051.setCellValue("Sale Staff : ");
    cell051.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell052 = row05.createCell(1);
    cell052.setCellValue(income.getSalsestaffPage());
    cell052.setCellStyle(styleC22);

    // Row 6
    HSSFRow row06 = sheet.createRow(5);
    HSSFCell cell611 = row06.createCell(0);
    cell611.setCellValue("Term Pay : ");
    cell611.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));
    HSSFCell cell621 = row06.createCell(1);
    cell621.setCellValue(income.getTermPayPage());
    cell621.setCellStyle(styleC22);

    // Header Table
    HSSFRow row6 = sheet.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Type Pay");
    cell61.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Type Route");
    cell62.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(1);
    HSSFCell cell63 = row6.createCell(2);
    cell63.setCellValue("Pax");
    sheet.autoSizeColumn(2);
    cell63.setCellStyle(styleAlignRightBorderAllHeaderTable);
    HSSFCell cell64 = row6.createCell(3);
    cell64.setCellValue("Air");
    cell64.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(3);
    HSSFCell cell65 = row6.createCell(4);
    cell65.setCellValue("Inv. No.");
    cell65.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(4);
    HSSFCell cell66 = row6.createCell(5);
    cell66.setCellValue("Cost Inv");
    cell66.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(5);
    HSSFCell cell67 = row6.createCell(6);
    cell67.setCellValue("Invoice Wendy");
    cell67.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(6);

    //        HSSFCell cell68 = row6.createCell(7);
    //        cell68.setCellValue("Invoice Inbound");
    //        cell68.setCellStyle(styleAlignRightBorderAllHeaderTable);
    //        sheet.autoSizeColumn(7);

    HSSFCell cell69 = row6.createCell(7);
    cell69.setCellValue("Invoice Outbound");
    cell69.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(7);
    HSSFCell cell70 = row6.createCell(8);
    cell70.setCellValue("Over");
    cell70.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(8);
    HSSFCell cell71 = row6.createCell(9);
    cell71.setCellValue("Little");
    cell71.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(9);
    HSSFCell cell72 = row6.createCell(10);
    cell72.setCellValue("Discount");
    cell72.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(10);
    HSSFCell cell73 = row6.createCell(11);
    cell73.setCellValue("Cancel");
    cell73.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(11);
    HSSFCell cell74 = row6.createCell(12);
    cell74.setCellValue("Wait Pay");
    cell74.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(12);
    HSSFCell cell75 = row6.createCell(13);
    cell75.setCellValue("RC AG Com");
    cell75.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(13);
    HSSFCell cell76 = row6.createCell(14);
    cell76.setCellValue("Total Balance");
    cell76.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(14);

    List<SummaryTicketAdjustCostAndIncome> listSummaryTicketCostIncome = listTotal.get(0)
            .getSummaryTicketAdjustAndIncome();

    int count = 9 + listSummaryTicketCostIncome.size();
    int start = 11;
    int end = 0;
    int num = 0;

    BigDecimal interpax = new BigDecimal(0);
    BigDecimal intercostinv = new BigDecimal(0);
    BigDecimal interinvoicewendy = new BigDecimal(0);
    BigDecimal interinvoiceinbound = new BigDecimal(0);
    BigDecimal interinvoiceoutbound = new BigDecimal(0);
    BigDecimal interover = new BigDecimal(0);
    BigDecimal interlittle = new BigDecimal(0);
    BigDecimal interdiscount = new BigDecimal(0);
    BigDecimal intercancel = new BigDecimal(0);
    BigDecimal interwaitpay = new BigDecimal(0);
    BigDecimal interrcagcom = new BigDecimal(0);
    BigDecimal intertotalbalance = new BigDecimal(0);

    BigDecimal domesticpax = new BigDecimal(0);
    BigDecimal domesticcostinv = new BigDecimal(0);
    BigDecimal domesticinvoicewendy = new BigDecimal(0);
    BigDecimal domesticinvoiceinbound = new BigDecimal(0);
    BigDecimal domesticinvoiceoutbound = new BigDecimal(0);
    BigDecimal domesticover = new BigDecimal(0);
    BigDecimal domesticlittle = new BigDecimal(0);
    BigDecimal domesticdiscount = new BigDecimal(0);
    BigDecimal domesticcancel = new BigDecimal(0);
    BigDecimal domesticwaitpay = new BigDecimal(0);
    BigDecimal domesticrcagcom = new BigDecimal(0);
    BigDecimal domestictotalbalance = new BigDecimal(0);

    BigDecimal cancelpax = new BigDecimal(0);
    BigDecimal cancelcostinv = new BigDecimal(0);
    BigDecimal cancelinvoicewendy = new BigDecimal(0);
    BigDecimal cancelinvoiceinbound = new BigDecimal(0);
    BigDecimal cancelinvoiceoutbound = new BigDecimal(0);
    BigDecimal cancelover = new BigDecimal(0);
    BigDecimal cancellittle = new BigDecimal(0);
    BigDecimal canceldiscount = new BigDecimal(0);
    BigDecimal cancelcancel = new BigDecimal(0);
    BigDecimal cancelwaitpay = new BigDecimal(0);
    BigDecimal cancelrcagcom = new BigDecimal(0);
    BigDecimal canceltotalbalance = new BigDecimal(0);

    for (int r = 9; r < count; r++) {
        if (num < listSummaryTicketCostIncome.size()) {

            if ("I".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTyperounting())) {
                BigDecimal interpaxtemp = (!"".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getPax())
                        ? new BigDecimal(listSummaryTicketCostIncome.get(num).getPax())
                        : new BigDecimal(0));
                interpax = interpax.add(interpaxtemp);
                BigDecimal intercostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCostinv())
                                : new BigDecimal(0));
                intercostinv = intercostinv.add(intercostinvtemp);
                BigDecimal interinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                : new BigDecimal(0));
                interinvoicewendy = interinvoicewendy.add(interinvoicewendytemp);
                BigDecimal interinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                : new BigDecimal(0));
                interinvoiceinbound = interinvoiceinbound.add(interinvoiceinboundtemp);
                BigDecimal interinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                : new BigDecimal(0));
                interinvoiceoutbound = interinvoiceoutbound.add(interinvoiceoutboundtemp);
                BigDecimal interovertemp = (!"".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getOver())
                        ? new BigDecimal(listSummaryTicketCostIncome.get(num).getOver())
                        : new BigDecimal(0));
                interover = interover.add(interovertemp);
                BigDecimal interlittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getLitter())
                                : new BigDecimal(0));
                interlittle = interlittle.add(interlittletemp);
                BigDecimal interdiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getDiscount())
                                : new BigDecimal(0));
                interdiscount = interdiscount.add(interdiscounttemp);
                BigDecimal intercanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCancel())
                                : new BigDecimal(0));
                intercancel = intercancel.add(intercanceltemp);
                BigDecimal interwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getWait_pay())
                                : new BigDecimal(0));
                interwaitpay = interwaitpay.add(interwaitpaytemp);
                BigDecimal interrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getRcagcom())
                                : new BigDecimal(0));
                interrcagcom = interrcagcom.add(interrcagcomtemp);
                BigDecimal intertotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                : new BigDecimal(0));
                intertotalbalance = intertotalbalance.add(intertotalbalancetemp);

            } else if ("D".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTyperounting())) {
                BigDecimal domesticpaxtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getPax())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getPax())
                                : new BigDecimal(0));
                domesticpax = domesticpax.add(domesticpaxtemp);
                BigDecimal domesticcostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCostinv())
                                : new BigDecimal(0));
                domesticcostinv = domesticcostinv.add(domesticcostinvtemp);
                BigDecimal domesticinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                : new BigDecimal(0));
                domesticinvoicewendy = domesticinvoicewendy.add(domesticinvoicewendytemp);
                BigDecimal domesticinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                : new BigDecimal(0));
                domesticinvoiceinbound = domesticinvoiceinbound.add(domesticinvoiceinboundtemp);
                BigDecimal domesticinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                : new BigDecimal(0));
                domesticinvoiceoutbound = domesticinvoiceoutbound.add(domesticinvoiceoutboundtemp);
                BigDecimal domesticovertemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getOver())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getOver())
                                : new BigDecimal(0));
                domesticover = domesticover.add(domesticovertemp);
                BigDecimal domesticlittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getLitter())
                                : new BigDecimal(0));
                domesticlittle = domesticlittle.add(domesticlittletemp);
                BigDecimal domesticdiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getDiscount())
                                : new BigDecimal(0));
                domesticdiscount = domesticdiscount.add(domesticdiscounttemp);
                BigDecimal domesticcanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCancel())
                                : new BigDecimal(0));
                domesticcancel = domesticcancel.add(domesticcanceltemp);
                BigDecimal domesticwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getWait_pay())
                                : new BigDecimal(0));
                domesticwaitpay = domesticwaitpay.add(domesticwaitpaytemp);
                BigDecimal domesticrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getRcagcom())
                                : new BigDecimal(0));
                domesticrcagcom = domesticrcagcom.add(domesticrcagcomtemp);
                BigDecimal domestictotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                : new BigDecimal(0));
                domestictotalbalance = domestictotalbalance.add(domestictotalbalancetemp);

            } else if ("C".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTyperounting())) {
                BigDecimal cancelpaxtemp = (!"".equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getPax())
                        ? new BigDecimal(listSummaryTicketCostIncome.get(num).getPax())
                        : new BigDecimal(0));
                cancelpax = cancelpax.add(cancelpaxtemp);
                BigDecimal cancelcostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCostinv())
                                : new BigDecimal(0));
                cancelcostinv = cancelcostinv.add(cancelcostinvtemp);
                BigDecimal cancelinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoicewendy())
                                : new BigDecimal(0));
                cancelinvoicewendy = cancelinvoicewendy.add(cancelinvoicewendytemp);
                BigDecimal cancelinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceinbound())
                                : new BigDecimal(0));
                cancelinvoiceinbound = cancelinvoiceinbound.add(cancelinvoiceinboundtemp);
                BigDecimal cancelinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())
                                : new BigDecimal(0));
                cancelinvoiceoutbound = cancelinvoiceoutbound.add(cancelinvoiceoutboundtemp);
                BigDecimal cancelovertemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getOver())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getOver())
                                : new BigDecimal(0));
                cancelover = cancelover.add(cancelovertemp);
                BigDecimal cancellittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getLitter())
                                : new BigDecimal(0));
                cancellittle = cancellittle.add(cancellittletemp);
                BigDecimal canceldiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getDiscount())
                                : new BigDecimal(0));
                canceldiscount = canceldiscount.add(canceldiscounttemp);
                BigDecimal cancelcanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getCancel())
                                : new BigDecimal(0));
                cancelcancel = cancelcancel.add(cancelcanceltemp);
                BigDecimal cancelwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getWait_pay())
                                : new BigDecimal(0));
                cancelwaitpay = cancelwaitpay.add(cancelwaitpaytemp);
                BigDecimal cancelrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getRcagcom())
                                : new BigDecimal(0));
                cancelrcagcom = cancelrcagcom.add(cancelrcagcomtemp);
                BigDecimal canceltotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncome.get(num).getTotal_balance())
                                : new BigDecimal(0));
                canceltotalbalance = canceltotalbalance.add(canceltotalbalancetemp);

            }

            HSSFRow row = sheet.createRow(r);
            HSSFCell cell1 = row.createCell(0);
            cell1.setCellValue(listSummaryTicketCostIncome.get(num).getTypepayment());
            cell1.setCellStyle(styleDetailTable);
            HSSFCell cell2 = row.createCell(1);
            cell2.setCellValue(listSummaryTicketCostIncome.get(num).getTyperounting());
            cell2.setCellStyle(styleDetailTableCenter);
            HSSFCell cell3 = row.createCell(2);
            BigDecimal pax = new BigDecimal(listSummaryTicketCostIncome.get(num).getPax());
            cell3.setCellValue((pax != null) ? pax.doubleValue() : new BigDecimal("0").doubleValue());
            cell3.setCellStyle(stylePaxTable);
            HSSFCell cell4 = row.createCell(3);
            cell4.setCellValue(listSummaryTicketCostIncome.get(num).getAir());
            cell4.setCellStyle(styleDetailTable);
            HSSFCell cell55 = row.createCell(4);
            cell55.setCellValue(listSummaryTicketCostIncome.get(num).getInvno());
            cell55.setCellStyle(styleDetailTable);
            HSSFCell cell5 = row.createCell(5);
            //                System.out.println("Cost : " + listSummaryTicketCostIncome.get(num).getCostinv());
            BigDecimal costinv = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getCostinv())) {
                costinv = new BigDecimal(0);
            } else {
                costinv = new BigDecimal(listSummaryTicketCostIncome.get(num).getCostinv());
            }
            cell5.setCellValue((costinv != null && !"0".equals(costinv)) ? costinv.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell5.setCellStyle(styleDetailTableNumber);
            HSSFCell cell6 = row.createCell(6);
            BigDecimal invwendy = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getInvoicewendy())) {
                invwendy = new BigDecimal(0);
            } else {
                invwendy = new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoicewendy());
            }
            cell6.setCellValue((invwendy != null) ? invwendy.doubleValue() : new BigDecimal("0").doubleValue());
            cell6.setCellStyle(styleDetailTableNumber);

            //                HSSFCell cell07 = row.createCell(7);
            //                BigDecimal invinbound = null;
            //                if ("".equals(listSummaryTicketCostIncome.get(num).getInvoiceinbound())) {
            //                    invinbound = new BigDecimal(0);
            //                } else {
            //                    invinbound = new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceinbound());
            //                }
            //                cell07.setCellValue((invinbound != null) ? invinbound.doubleValue() : new BigDecimal("0").doubleValue());
            //                cell07.setCellStyle(styleDetailTableNumber);

            HSSFCell cell7 = row.createCell(7);
            BigDecimal invoutbound = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getInvoiceoutbound())) {
                invoutbound = new BigDecimal(0);
            } else {
                invoutbound = new BigDecimal(listSummaryTicketCostIncome.get(num).getInvoiceoutbound());
            }
            cell7.setCellValue(
                    (invoutbound != null) ? invoutbound.doubleValue() : new BigDecimal("0").doubleValue());
            cell7.setCellStyle(styleDetailTableNumber);

            HSSFCell cell8 = row.createCell(8);
            cell8.setCellValue(listSummaryTicketCostIncome.get(num).getOver() != null
                    ? (new BigDecimal(listSummaryTicketCostIncome.get(num).getOver())).doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell8.setCellStyle(styleDetailTableNumber);
            HSSFCell cell9 = row.createCell(9);
            BigDecimal little = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getLitter())) {
                little = new BigDecimal(0);
            } else {
                little = new BigDecimal(listSummaryTicketCostIncome.get(num).getLitter());
            }
            cell9.setCellValue((little != null) ? little.doubleValue() : new BigDecimal("0").doubleValue());
            cell9.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(9);
            HSSFCell cell10 = row.createCell(10);
            BigDecimal discount = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getDiscount())) {
                discount = new BigDecimal(0);
            } else {
                discount = new BigDecimal(listSummaryTicketCostIncome.get(num).getDiscount());
            }
            cell10.setCellValue(
                    (discount != null) ? discount.doubleValue() : new BigDecimal("0").doubleValue());
            cell10.setCellStyle(styleDetailTableNumber);
            HSSFCell cell11 = row.createCell(11);
            BigDecimal cancel = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getCancel())) {
                cancel = new BigDecimal(0);
            } else {
                cancel = new BigDecimal(listSummaryTicketCostIncome.get(num).getCancel());
            }
            cell11.setCellValue((cancel != null) ? cancel.doubleValue() : new BigDecimal("0").doubleValue());
            cell11.setCellStyle(styleDetailTableNumber);
            HSSFCell cell12 = row.createCell(12);
            BigDecimal wait = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getWait_pay())) {
                wait = new BigDecimal(0);
            } else {
                wait = new BigDecimal(listSummaryTicketCostIncome.get(num).getWait_pay());
            }
            cell12.setCellValue((wait != null) ? wait.doubleValue() : new BigDecimal("0").doubleValue());
            cell12.setCellStyle(styleDetailTableNumber);
            HSSFCell cell13 = row.createCell(13);
            BigDecimal rc = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getRcagcom())) {
                rc = new BigDecimal(0);
            } else {
                rc = new BigDecimal(listSummaryTicketCostIncome.get(num).getRcagcom());
            }
            cell13.setCellValue((rc != null) ? rc.doubleValue() : new BigDecimal("0").doubleValue());
            cell13.setCellStyle(styleDetailTableNumber);
            HSSFCell cell14 = row.createCell(14);
            BigDecimal balance = null;
            if ("".equals(listSummaryTicketCostIncome.get(num).getTotal_balance())) {
                balance = new BigDecimal(0);
            } else {
                balance = new BigDecimal(listSummaryTicketCostIncome.get(num).getTotal_balance());
            }
            cell14.setCellValue((balance != null) ? balance.doubleValue() : new BigDecimal("0").doubleValue());
            cell14.setCellStyle(styleDetailTableNumber);

            num++;
        }
        for (int i = 0; i < listSummaryTicketCostIncome.size(); i++) {
            sheet.autoSizeColumn(i);
        }
    }
    //        System.out.println(count);

    //Inter
    HSSFRow rowsinter1 = sheet.createRow(count);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 1) + ":B" + (count + 1)));
    HSSFCell cellInter00C = rowsinter1.createCell(0);
    cellInter00C.setCellValue("Total Inter");
    cellInter00C.setCellStyle(styleTotal);
    HSSFCell cellInter01C = rowsinter1.createCell(2);
    cellInter01C.setCellValue(interpax.doubleValue());
    cellInter01C.setCellStyle(stylePax);
    HSSFCell cellInter02C = rowsinter1.createCell(5);
    cellInter02C.setCellValue(intercostinv.doubleValue());
    cellInter02C.setCellStyle(styleSum);
    HSSFCell cellInter03C = rowsinter1.createCell(6);
    cellInter03C.setCellValue(interinvoicewendy.doubleValue());
    cellInter03C.setCellStyle(styleSum);
    //        HSSFCell cellInter04C = rowsinter1.createCell(7);
    //        cellInter04C.setCellValue(interinvoiceinbound.doubleValue());
    //        cellInter04C.setCellStyle(styleSum);
    HSSFCell cellInter05C = rowsinter1.createCell(7);
    cellInter05C.setCellValue(interinvoiceoutbound.doubleValue());
    cellInter05C.setCellStyle(styleSum);
    HSSFCell cellInter005C = rowsinter1.createCell(8);
    cellInter005C.setCellValue(interover.doubleValue());
    cellInter005C.setCellStyle(styleSum);
    HSSFCell cellInter06C = rowsinter1.createCell(9);
    cellInter06C.setCellValue(interlittle.doubleValue());
    cellInter06C.setCellStyle(styleSum);
    HSSFCell cellInter07C = rowsinter1.createCell(10);
    cellInter07C.setCellValue(interdiscount.doubleValue());
    cellInter07C.setCellStyle(styleSum);
    HSSFCell cellInter08C = rowsinter1.createCell(11);
    cellInter08C.setCellValue(intercancel.doubleValue());
    cellInter08C.setCellStyle(styleSum);
    HSSFCell cellInter09C = rowsinter1.createCell(12);
    cellInter09C.setCellValue(interwaitpay.doubleValue());
    cellInter09C.setCellStyle(styleSum);
    HSSFCell cellInter10C = rowsinter1.createCell(13);
    cellInter10C.setCellValue(interrcagcom.doubleValue());
    cellInter10C.setCellStyle(styleSum);
    HSSFCell cellInter11C = rowsinter1.createCell(14);
    cellInter11C.setCellValue(intertotalbalance.doubleValue());
    cellInter11C.setCellStyle(styleSum);
    HSSFCell cellInter12C = rowsinter1.createCell(1);
    cellInter12C.setCellStyle(styleTotal);
    HSSFCell cellInter13C = rowsinter1.createCell(3);
    cellInter13C.setCellStyle(styleTotal);
    HSSFCell cellInter14C = rowsinter1.createCell(4);
    cellInter14C.setCellStyle(styleTotal);

    //Domestic
    HSSFRow rowsdomestic1 = sheet.createRow(count + 1);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 2) + ":B" + (count + 2)));
    HSSFCell cellDomestic00C = rowsdomestic1.createCell(0);
    cellDomestic00C.setCellValue("Total Domestic");
    cellDomestic00C.setCellStyle(styleTotal);
    HSSFCell cellDomestic01C = rowsdomestic1.createCell(2);
    cellDomestic01C.setCellValue(domesticpax.doubleValue());
    cellDomestic01C.setCellStyle(stylePax);
    HSSFCell cellDomestic02C = rowsdomestic1.createCell(5);
    cellDomestic02C.setCellValue(domesticcostinv.doubleValue());
    cellDomestic02C.setCellStyle(styleSum);
    HSSFCell cellDomestic03C = rowsdomestic1.createCell(6);
    cellDomestic03C.setCellValue(domesticinvoicewendy.doubleValue());
    cellDomestic03C.setCellStyle(styleSum);
    //        HSSFCell cellDomestic04C = rowsdomestic1.createCell(7);
    //        cellDomestic04C.setCellValue(domesticinvoiceinbound.doubleValue());
    //        cellDomestic04C.setCellStyle(styleSum);
    HSSFCell cellDomestic05C = rowsdomestic1.createCell(7);
    cellDomestic05C.setCellValue(domesticinvoiceoutbound.doubleValue());
    cellDomestic05C.setCellStyle(styleSum);
    HSSFCell cellDomestic005C = rowsdomestic1.createCell(8);
    cellDomestic005C.setCellValue(domesticover.doubleValue());
    cellDomestic005C.setCellStyle(styleSum);
    HSSFCell cellDomestic06C = rowsdomestic1.createCell(9);
    cellDomestic06C.setCellValue(domesticlittle.doubleValue());
    cellDomestic06C.setCellStyle(styleSum);
    HSSFCell cellDomestic07C = rowsdomestic1.createCell(10);
    cellDomestic07C.setCellValue(domesticdiscount.doubleValue());
    cellDomestic07C.setCellStyle(styleSum);
    HSSFCell cellDomestic08C = rowsdomestic1.createCell(11);
    cellDomestic08C.setCellValue(domesticcancel.doubleValue());
    cellDomestic08C.setCellStyle(styleSum);
    HSSFCell cellDomestic09C = rowsdomestic1.createCell(12);
    cellDomestic09C.setCellValue(domesticwaitpay.doubleValue());
    cellDomestic09C.setCellStyle(styleSum);
    HSSFCell cellDomestic10C = rowsdomestic1.createCell(13);
    cellDomestic10C.setCellValue(domesticrcagcom.doubleValue());
    cellDomestic10C.setCellStyle(styleSum);
    HSSFCell cellDomestic11C = rowsdomestic1.createCell(14);
    cellDomestic11C.setCellValue(domestictotalbalance.doubleValue());
    cellDomestic11C.setCellStyle(styleSum);
    HSSFCell cellDomestic12C = rowsdomestic1.createCell(1);
    cellDomestic12C.setCellStyle(styleTotal);
    HSSFCell cellDomestic13C = rowsdomestic1.createCell(3);
    cellDomestic13C.setCellStyle(styleTotal);
    HSSFCell cellDomestic14C = rowsdomestic1.createCell(4);
    cellDomestic14C.setCellStyle(styleTotal);

    //Cancel
    HSSFRow rowscancel1 = sheet.createRow(count + 2);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 3) + ":B" + (count + 3)));
    HSSFCell cellCancel00C = rowscancel1.createCell(0);
    cellCancel00C.setCellValue("Total Cancel");
    cellCancel00C.setCellStyle(styleTotal);
    HSSFCell cellCancel01C = rowscancel1.createCell(2);
    cellCancel01C.setCellValue(cancelpax.doubleValue());
    cellCancel01C.setCellStyle(stylePax);
    HSSFCell cellCancel02C = rowscancel1.createCell(5);
    cellCancel02C.setCellValue(cancelcostinv.doubleValue());
    cellCancel02C.setCellStyle(styleSum);
    HSSFCell cellCancel03C = rowscancel1.createCell(6);
    cellCancel03C.setCellValue(cancelinvoicewendy.doubleValue());
    cellCancel03C.setCellStyle(styleSum);
    //        HSSFCell cellCancel04C = rowscancel1.createCell(7);
    //        cellCancel04C.setCellValue(cancelinvoiceinbound.doubleValue());
    //        cellCancel04C.setCellStyle(styleSum);
    HSSFCell cellCancel05C = rowscancel1.createCell(7);
    cellCancel05C.setCellValue(cancelinvoiceoutbound.doubleValue());
    cellCancel05C.setCellStyle(styleSum);
    HSSFCell cellCancel006C = rowscancel1.createCell(8);
    cellCancel006C.setCellValue(cancelover.doubleValue());
    cellCancel006C.setCellStyle(styleSum);
    HSSFCell cellCancel06C = rowscancel1.createCell(9);
    cellCancel06C.setCellValue(cancellittle.doubleValue());
    cellCancel06C.setCellStyle(styleSum);
    HSSFCell cellCancel07C = rowscancel1.createCell(10);
    cellCancel07C.setCellValue(canceldiscount.doubleValue());
    cellCancel07C.setCellStyle(styleSum);
    HSSFCell cellCancel08C = rowscancel1.createCell(11);
    cellCancel08C.setCellValue(cancelcancel.doubleValue());
    cellCancel08C.setCellStyle(styleSum);
    HSSFCell cellCancel09C = rowscancel1.createCell(12);
    cellCancel09C.setCellValue(cancelwaitpay.doubleValue());
    cellCancel09C.setCellStyle(styleSum);
    HSSFCell cellCancel10C = rowscancel1.createCell(13);
    cellCancel10C.setCellValue(cancelrcagcom.doubleValue());
    cellCancel10C.setCellStyle(styleSum);
    HSSFCell cellCancel11C = rowscancel1.createCell(14);
    cellCancel11C.setCellValue(canceltotalbalance.doubleValue());
    cellCancel11C.setCellStyle(styleSum);
    HSSFCell cellCancel12C = rowscancel1.createCell(1);
    cellCancel12C.setCellStyle(styleTotal);
    HSSFCell cellCancel13C = rowscancel1.createCell(3);
    cellCancel13C.setCellStyle(styleTotal);
    HSSFCell cellCancel14C = rowscancel1.createCell(4);
    cellCancel14C.setCellStyle(styleTotal);

    String sumPax = "SUM(C" + 10 + ":C" + (count) + ")";
    String sumCosInv = "SUM(F" + 10 + ":F" + (count) + ")";
    String sumInvWendy = "SUM(G" + 10 + ":G" + (count) + ")";
    //        String sumInvInbound = "SUM(H" + 10 + ":H" + (count) + ")";
    String sumInvOutbound = "SUM(H" + 10 + ":H" + (count) + ")";
    String sumOver = "SUM(I" + 10 + ":I" + (count) + ")";
    String sumLittle = "SUM(J" + 10 + ":J" + (count) + ")";
    String sumDiscount = "SUM(K" + 10 + ":K" + (count) + ")";
    String sumCancel = "SUM(L" + 10 + ":L" + (count) + ")";
    String sumRC = "SUM(N" + 10 + ":N" + (count) + ")";
    String sumWait = "SUM(M" + 10 + ":M" + (count) + ")";
    String sumBlance = "SUM(O" + 10 + ":O" + (count) + ")";

    HSSFRow row = sheet.createRow(count + 3);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 4) + ":B" + (count + 4)));
    HSSFCell cell60Sum = row.createCell(0);
    cell60Sum.setCellValue("Total");
    cell60Sum.setCellStyle(styleTotal);
    sheet.autoSizeColumn(0);
    HSSFCell cell6Sum = row.createCell(1);
    cell6Sum.setCellValue("");
    cell6Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(1);
    HSSFCell cell7Sum = row.createCell(2);
    cell7Sum.setCellFormula(sumPax);
    sheet.autoSizeColumn(2);
    cell7Sum.setCellStyle(stylePax);
    HSSFCell cell8Sum = row.createCell(3);
    cell8Sum.setCellValue("");
    sheet.autoSizeColumn(3);
    cell8Sum.setCellStyle(styleDetailTableNumber);
    HSSFCell cell9Sum = row.createCell(4);
    cell9Sum.setCellValue("");
    cell9Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(4);
    HSSFCell cell10Sum = row.createCell(5);
    cell10Sum.setCellFormula(sumCosInv);
    cell10Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(5);
    HSSFCell cell11Sum = row.createCell(6);
    cell11Sum.setCellFormula(sumInvWendy);
    cell11Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(6);
    //        HSSFCell cell12Sum = row.createCell(7);
    //        cell12Sum.setCellFormula(sumInvInbound);
    //        cell12Sum.setCellStyle(styleDetailTableNumber);
    //        sheet.autoSizeColumn(7);
    HSSFCell cell13Sum = row.createCell(7);
    cell13Sum.setCellFormula(sumInvOutbound);
    cell13Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(7);
    HSSFCell cell14Sum = row.createCell(8);
    cell14Sum.setCellFormula(sumOver);
    cell14Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(8);
    HSSFCell cell15Sum = row.createCell(9);
    cell15Sum.setCellFormula(sumLittle);
    cell15Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(9);
    HSSFCell cell16Sum = row.createCell(10);
    cell16Sum.setCellFormula(sumDiscount);
    cell16Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(10);
    HSSFCell cell17Sum = row.createCell(11);
    cell17Sum.setCellFormula(sumCancel);
    cell17Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(11);
    HSSFCell cell18Sum = row.createCell(12);
    cell18Sum.setCellFormula(sumWait);
    cell18Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(12);
    HSSFCell cell19Sum = row.createCell(13);
    cell19Sum.setCellFormula(sumRC);
    cell19Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(13);
    HSSFCell cell019Sum = row.createCell(14);
    cell019Sum.setCellFormula(sumBlance);
    cell019Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(14);

    HSSFRow rowL1 = sheet.createRow(count + 4);
    rowL1.createCell(0).setCellStyle(styleBorderTop);
    rowL1.createCell(1).setCellStyle(styleBorderTop);
    rowL1.createCell(2).setCellStyle(styleBorderTop);
    rowL1.createCell(3).setCellStyle(styleBorderTop);
    rowL1.createCell(4).setCellStyle(styleBorderTop);
    rowL1.createCell(5).setCellStyle(styleBorderTop);
    rowL1.createCell(6).setCellStyle(styleBorderTop);
    rowL1.createCell(7).setCellStyle(styleBorderTop);
    rowL1.createCell(8).setCellStyle(styleBorderTop);
    rowL1.createCell(9).setCellStyle(styleBorderTop);
    rowL1.createCell(10).setCellStyle(styleBorderTop);
    rowL1.createCell(11).setCellStyle(styleBorderTop);
    rowL1.createCell(12).setCellStyle(styleBorderTop);
    rowL1.createCell(13).setCellStyle(styleBorderTop);
    rowL1.createCell(14).setCellStyle(styleBorderTop);
    //        rowL1.createCell(15).setCellStyle(styleBorderTop);
    // Sheet
    // set Header Report (Row 1)
    HSSFCellStyle styleC110Sum = wb.createCellStyle();
    HSSFRow row010 = sheet1.createRow(0);
    HSSFCell cell010 = row010.createCell(0);
    cell010.setCellValue("Summary Ticket Adjust Cost & Income");
    styleC110Sum.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell010.setCellStyle(styleC110Sum);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A1:H1"));

    // Set align Text
    HSSFCellStyle styleC212 = wb.createCellStyle();
    styleC212.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC222 = wb.createCellStyle();
    styleC222.setAlignment(styleC22.ALIGN_LEFT);

    List<SummaryTicketAdjustCostAndIncome> incomeSumTemp = listTotal.get(0)
            .getSummaryTicketAdjustAndIncomeSum();
    SummaryTicketAdjustCostAndIncome incomeSum = new SummaryTicketAdjustCostAndIncome();
    if ((incomeSumTemp != null) && (incomeSumTemp.size() != 0)) {
        incomeSum = (SummaryTicketAdjustCostAndIncome) incomeSumTemp.get(0);
    }
    // Row 2
    HSSFRow row022 = sheet1.createRow(1);
    HSSFCell cell0212 = row022.createCell(0);
    cell0212.setCellValue("Invoice Date : ");
    cell0212.setCellStyle(styleC21);
    HSSFCell cell0222 = row022.createCell(1);
    cell0222.setCellValue(incomeSum.getInvoicedatePage());
    cell0222.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell0232 = row022.createCell(4);
    cell0232.setCellValue("Print : ");
    cell0232.setCellStyle(styleC21);
    HSSFCell cell0242 = row022.createCell(5);
    cell0242.setCellValue(incomeSum.getPrintbyPage());
    cell0242.setCellStyle(styleC22);

    // Row 3
    HSSFRow row032 = sheet1.createRow(2);
    HSSFCell cell0312 = row032.createCell(0);
    cell0312.setCellValue("Issue Date : ");
    cell0312.setCellStyle(styleC21);
    HSSFCell cell0322 = row032.createCell(1);
    cell0322.setCellValue(incomeSum.getIssuedatePage());
    cell0322.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell0332 = row032.createCell(4);
    cell0332.setCellValue("Page : ");
    cell0332.setCellStyle(styleC21);
    HSSFCell cell0342 = row032.createCell(5);
    cell0342.setCellValue("1");
    cell0342.setCellStyle(styleC22);

    // Row 4
    HSSFRow row042 = sheet1.createRow(3);
    HSSFCell cell0412 = row042.createCell(0);
    cell0412.setCellValue("Department : ");
    cell0412.setCellStyle(styleC21);
    HSSFCell cell0422 = row042.createCell(1);
    cell0422.setCellValue(incomeSum.getDepartmentPage());
    cell0422.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));

    // Row 5
    HSSFRow row052 = sheet1.createRow(4);
    HSSFCell cell0512 = row052.createCell(0);
    cell0512.setCellValue("Sale Staff : ");
    cell0512.setCellStyle(styleC21);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell0522 = row052.createCell(1);
    cell0522.setCellValue(incomeSum.getSalsestaffPage());
    cell0522.setCellStyle(styleC22);

    // Row 6
    HSSFRow row062 = sheet1.createRow(5);
    HSSFCell cell6112 = row062.createCell(0);
    cell6112.setCellValue("Term Pay : ");
    cell6112.setCellStyle(styleC21);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));
    HSSFCell cell6212 = row062.createCell(1);
    cell6212.setCellValue(incomeSum.getTermPayPage());
    cell6212.setCellStyle(styleC22);

    // Header Table
    HSSFRow row62 = sheet1.createRow(8);
    HSSFCell cell612 = row62.createCell(0);
    cell612.setCellValue("Type Pay");
    cell612.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(0);
    HSSFCell cell622 = row62.createCell(1);
    cell622.setCellValue("Type Route");
    cell622.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(1);
    HSSFCell cell632 = row62.createCell(2);
    cell632.setCellValue("Pax");
    sheet1.autoSizeColumn(2);
    cell632.setCellStyle(styleAlignRightBorderAllHeaderTable);
    HSSFCell cell652 = row62.createCell(3);
    cell652.setCellValue("Inv. No.");
    cell652.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(3);
    HSSFCell cell662 = row62.createCell(4);
    cell662.setCellValue("Cost Inv");
    cell662.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(5);
    HSSFCell cell672 = row62.createCell(5);
    cell672.setCellValue("Invoice Wendy");
    cell672.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(5);
    //        HSSFCell cell6722 = row62.createCell(6);
    //        cell6722.setCellValue("Invoice Inbound");
    //        cell6722.setCellStyle(styleAlignRightBorderAllHeaderTable);
    //        sheet1.autoSizeColumn(6);
    HSSFCell cell682 = row62.createCell(6);
    cell682.setCellValue("Invoice Outbound");
    cell682.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(6);
    HSSFCell cell692 = row62.createCell(7);
    cell692.setCellValue("Over");
    cell692.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(7);
    HSSFCell cell712 = row62.createCell(8);
    cell712.setCellValue("Discount");
    cell712.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(8);
    HSSFCell cell702 = row62.createCell(9);
    cell702.setCellValue("  Little  ");
    cell702.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(9);
    HSSFCell cell722 = row62.createCell(10);
    cell722.setCellValue("Cancel");
    cell722.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(10);
    HSSFCell cell732 = row62.createCell(11);
    cell732.setCellValue("Wait Pay");
    cell732.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(11);
    HSSFCell cell742 = row62.createCell(12);
    cell742.setCellValue("RC AG Com");
    cell742.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(12);
    HSSFCell cell752 = row62.createCell(13);
    cell752.setCellValue("Total Balance");
    cell752.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(13);

    List<SummaryTicketAdjustCostAndIncome> listSummaryTicketCostIncomeSum = listTotal.get(0)
            .getSummaryTicketAdjustAndIncomeSum();

    int count2 = 9 + listSummaryTicketCostIncomeSum.size();
    int start2 = 11;
    int end2 = 0;
    int num2 = 0;

    BigDecimal interpax1 = new BigDecimal(0);
    BigDecimal intercostinv1 = new BigDecimal(0);
    BigDecimal interinvoicewendy1 = new BigDecimal(0);
    BigDecimal interinvoiceinbound1 = new BigDecimal(0);
    BigDecimal interinvoiceoutbound1 = new BigDecimal(0);
    BigDecimal interover1 = new BigDecimal(0);
    BigDecimal interlittle1 = new BigDecimal(0);
    BigDecimal interdiscount1 = new BigDecimal(0);
    BigDecimal intercancel1 = new BigDecimal(0);
    BigDecimal interwaitpay1 = new BigDecimal(0);
    BigDecimal interrcagcom1 = new BigDecimal(0);
    BigDecimal intertotalbalance1 = new BigDecimal(0);

    BigDecimal domesticpax1 = new BigDecimal(0);
    BigDecimal domesticcostinv1 = new BigDecimal(0);
    BigDecimal domesticinvoicewendy1 = new BigDecimal(0);
    BigDecimal domesticinvoiceinbound1 = new BigDecimal(0);
    BigDecimal domesticinvoiceoutbound1 = new BigDecimal(0);
    BigDecimal domesticover1 = new BigDecimal(0);
    BigDecimal domesticlittle1 = new BigDecimal(0);
    BigDecimal domesticdiscount1 = new BigDecimal(0);
    BigDecimal domesticcancel1 = new BigDecimal(0);
    BigDecimal domesticwaitpay1 = new BigDecimal(0);
    BigDecimal domesticrcagcom1 = new BigDecimal(0);
    BigDecimal domestictotalbalance1 = new BigDecimal(0);

    BigDecimal cancelpax1 = new BigDecimal(0);
    BigDecimal cancelcostinv1 = new BigDecimal(0);
    BigDecimal cancelinvoicewendy1 = new BigDecimal(0);
    BigDecimal cancelinvoiceinbound1 = new BigDecimal(0);
    BigDecimal cancelinvoiceoutbound1 = new BigDecimal(0);
    BigDecimal cancelover1 = new BigDecimal(0);
    BigDecimal cancellittle1 = new BigDecimal(0);
    BigDecimal canceldiscount1 = new BigDecimal(0);
    BigDecimal cancelcancel1 = new BigDecimal(0);
    BigDecimal cancelwaitpay1 = new BigDecimal(0);
    BigDecimal cancelrcagcom1 = new BigDecimal(0);
    BigDecimal canceltotalbalance1 = new BigDecimal(0);

    for (int r = 9; r < count2; r++) {
        if (num2 < listSummaryTicketCostIncomeSum.size()) {
            if ("I".equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTyperounting())) {
                BigDecimal interpaxtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                : new BigDecimal(0));
                interpax1 = interpax1.add(interpaxtemp);
                BigDecimal intercostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                : new BigDecimal(0));
                intercostinv1 = intercostinv1.add(intercostinvtemp);
                BigDecimal interinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                : new BigDecimal(0));
                interinvoicewendy1 = interinvoicewendy1.add(interinvoicewendytemp);
                BigDecimal interinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                : new BigDecimal(0));
                interinvoiceoutbound1 = interinvoiceoutbound1.add(interinvoiceoutboundtemp);
                BigDecimal interinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                : new BigDecimal(0));
                interinvoiceinbound1 = interinvoiceinbound1.add(interinvoiceinboundtemp);
                BigDecimal interlittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                : new BigDecimal(0));
                interlittle1 = interlittle1.add(interlittletemp);
                BigDecimal interdiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                : new BigDecimal(0));
                interdiscount1 = interdiscount1.add(interdiscounttemp);
                BigDecimal intercanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                : new BigDecimal(0));
                intercancel1 = intercancel1.add(intercanceltemp);
                BigDecimal interwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                : new BigDecimal(0));
                interwaitpay1 = interwaitpay1.add(interwaitpaytemp);
                BigDecimal interrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                : new BigDecimal(0));
                interrcagcom1 = interrcagcom1.add(interrcagcomtemp);
                BigDecimal intertotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                : new BigDecimal(0));
                intertotalbalance1 = intertotalbalance1.add(intertotalbalancetemp);

                BigDecimal interovertemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                : new BigDecimal(0));
                interover1 = interover1.add(interovertemp);

            } else if ("D".equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTyperounting())) {
                BigDecimal domesticpaxtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                : new BigDecimal(0));
                domesticpax1 = domesticpax1.add(domesticpaxtemp);
                BigDecimal domesticcostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                : new BigDecimal(0));
                domesticcostinv1 = domesticcostinv1.add(domesticcostinvtemp);
                BigDecimal domesticinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                : new BigDecimal(0));
                domesticinvoicewendy1 = domesticinvoicewendy1.add(domesticinvoicewendytemp);
                BigDecimal domesticinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                : new BigDecimal(0));
                domesticinvoiceoutbound1 = domesticinvoiceoutbound1.add(domesticinvoiceoutboundtemp);
                BigDecimal domesticinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                : new BigDecimal(0));
                domesticinvoiceinbound1 = domesticinvoiceinbound1.add(domesticinvoiceinboundtemp);
                BigDecimal domesticlittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                : new BigDecimal(0));
                domesticlittle1 = domesticlittle1.add(domesticlittletemp);
                BigDecimal domesticdiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                : new BigDecimal(0));
                domesticdiscount1 = domesticdiscount1.add(domesticdiscounttemp);
                BigDecimal domesticcanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                : new BigDecimal(0));
                domesticcancel1 = domesticcancel1.add(domesticcanceltemp);
                BigDecimal domesticwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                : new BigDecimal(0));
                domesticwaitpay1 = domesticwaitpay1.add(domesticwaitpaytemp);
                BigDecimal domesticrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                : new BigDecimal(0));
                domesticrcagcom1 = domesticrcagcom1.add(domesticrcagcomtemp);
                BigDecimal domestictotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                : new BigDecimal(0));
                domestictotalbalance1 = domestictotalbalance1.add(domestictotalbalancetemp);
                BigDecimal domesticovertemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                : new BigDecimal(0));
                domesticover1 = domesticover1.add(domesticovertemp);

            } else if ("C".equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTyperounting())) {
                BigDecimal cancelpaxtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getPax())
                                : new BigDecimal(0));
                cancelpax1 = cancelpax1.add(cancelpaxtemp);
                BigDecimal cancelcostinvtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCostinv())
                                : new BigDecimal(0));
                cancelcostinv1 = cancelcostinv1.add(cancelcostinvtemp);
                BigDecimal cancelinvoicewendytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())
                                : new BigDecimal(0));
                cancelinvoicewendy1 = cancelinvoicewendy1.add(cancelinvoicewendytemp);
                BigDecimal cancelinvoiceoutboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())
                                : new BigDecimal(0));
                cancelinvoiceoutbound1 = cancelinvoiceoutbound1.add(cancelinvoiceoutboundtemp);
                BigDecimal cancelinvoiceinboundtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())
                                : new BigDecimal(0));
                cancelinvoiceinbound1 = cancelinvoiceinbound1.add(cancelinvoiceinboundtemp);
                BigDecimal cancellittletemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getLitter())
                                : new BigDecimal(0));
                cancellittle1 = cancellittle1.add(cancellittletemp);
                BigDecimal canceldiscounttemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getDiscount())
                                : new BigDecimal(0));
                canceldiscount1 = canceldiscount1.add(canceldiscounttemp);
                BigDecimal cancelcanceltemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCancel())
                                : new BigDecimal(0));
                cancelcancel1 = cancelcancel1.add(cancelcanceltemp);
                BigDecimal cancelwaitpaytemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())
                                : new BigDecimal(0));
                cancelwaitpay1 = cancelwaitpay1.add(cancelwaitpaytemp);
                BigDecimal cancelrcagcomtemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())
                                : new BigDecimal(0));
                cancelrcagcom1 = cancelrcagcom1.add(cancelrcagcomtemp);
                BigDecimal canceltotalbalancetemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())
                                : new BigDecimal(0));
                canceltotalbalance1 = canceltotalbalance1.add(canceltotalbalancetemp);
                BigDecimal cancelovertemp = (!""
                        .equalsIgnoreCase(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                ? new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getOver())
                                : new BigDecimal(0));
                cancelover1 = cancelover1.add(cancelovertemp);

            }

            HSSFRow row22 = sheet1.createRow(r);
            HSSFCell cell1 = row22.createCell(0);
            cell1.setCellValue(listSummaryTicketCostIncomeSum.get(num2).getTypepayment());
            cell1.setCellStyle(styleDetailTable);
            HSSFCell cell2 = row22.createCell(1);
            cell2.setCellValue(listSummaryTicketCostIncomeSum.get(num2).getTyperounting());
            cell2.setCellStyle(styleDetailTableCenter);
            HSSFCell cell3 = row22.createCell(2);
            BigDecimal pax = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getPax());
            cell3.setCellValue((pax != null) ? pax.doubleValue() : new BigDecimal("0").doubleValue());
            cell3.setCellStyle(stylePaxTable);
            HSSFCell cell4 = row22.createCell(3);
            cell4.setCellValue(listSummaryTicketCostIncomeSum.get(num2).getInvno());
            cell4.setCellStyle(styleDetailTable);
            HSSFCell cell5 = row22.createCell(4);
            //                System.out.println("Cost : " + listSummaryTicketCostIncomeSum.get(num2).getCostinv());
            BigDecimal costinv = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getCostinv())) {
                costinv = new BigDecimal(0);
            } else {
                costinv = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCostinv());
            }
            cell5.setCellValue((costinv != null && !"0".equals(costinv)) ? costinv.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell5.setCellStyle(styleDetailTableNumber);
            HSSFCell cell6 = row22.createCell(5);
            BigDecimal invwendy = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy())) {
                invwendy = new BigDecimal(0);
            } else {
                invwendy = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoicewendy());
            }
            cell6.setCellValue((invwendy != null) ? invwendy.doubleValue() : new BigDecimal("0").doubleValue());
            cell6.setCellStyle(styleDetailTableNumber);
            //                HSSFCell cell7 = row22.createCell(6);
            //                BigDecimal invinbound = null;
            //                if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound())) {
            //                    invinbound = new BigDecimal(0);
            //                } else {
            //                    invinbound = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceinbound());
            //                }
            //                cell7.setCellValue((invinbound != null) ? invinbound.doubleValue() : new BigDecimal("0").doubleValue());
            //                cell7.setCellStyle(styleDetailTableNumber);
            HSSFCell cell8 = row22.createCell(6);
            BigDecimal invoutbound = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound())) {
                invoutbound = new BigDecimal(0);
            } else {
                invoutbound = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getInvoiceoutbound());
            }
            cell8.setCellValue(
                    (invoutbound != null) ? invoutbound.doubleValue() : new BigDecimal("0").doubleValue());
            cell8.setCellStyle(styleDetailTableNumber);
            HSSFCell cell9 = row22.createCell(7);
            cell9.setCellValue(listSummaryTicketCostIncomeSum.get(num2).getOver() != null
                    ? (new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getOver())).doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell9.setCellStyle(styleDetailTableNumber);
            HSSFCell cell10 = row22.createCell(8);
            BigDecimal discount = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getDiscount())) {
                discount = new BigDecimal(0);
            } else {
                discount = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getDiscount());
            }
            cell10.setCellValue(
                    (discount != null) ? discount.doubleValue() : new BigDecimal("0").doubleValue());
            cell10.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(9);
            HSSFCell cell11 = row22.createCell(9);
            BigDecimal little = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getLitter())) {
                little = new BigDecimal(0);
            } else {
                little = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getLitter());
            }
            cell11.setCellValue((little != null) ? little.doubleValue() : new BigDecimal("0").doubleValue());
            cell11.setCellStyle(styleDetailTableNumber);
            HSSFCell cell12 = row22.createCell(10);
            BigDecimal cancel = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getCancel())) {
                cancel = new BigDecimal(0);
            } else {
                cancel = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getCancel());
            }
            cell12.setCellValue((cancel != null) ? cancel.doubleValue() : new BigDecimal("0").doubleValue());
            cell12.setCellStyle(styleDetailTableNumber);
            HSSFCell cell13 = row22.createCell(11);
            BigDecimal wait = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getWait_pay())) {
                wait = new BigDecimal(0);
            } else {
                wait = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getWait_pay());
            }
            cell13.setCellValue((wait != null) ? wait.doubleValue() : new BigDecimal("0").doubleValue());
            cell13.setCellStyle(styleDetailTableNumber);
            HSSFCell cell14 = row22.createCell(12);
            BigDecimal rc = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getRcagcom())) {
                rc = new BigDecimal(0);
            } else {
                rc = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getRcagcom());
            }
            cell14.setCellValue((rc != null) ? rc.doubleValue() : new BigDecimal("0").doubleValue());
            cell14.setCellStyle(styleDetailTableNumber);
            HSSFCell cell15 = row22.createCell(13);
            BigDecimal balance = null;
            if ("".equals(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance())) {
                balance = new BigDecimal(0);
            } else {
                balance = new BigDecimal(listSummaryTicketCostIncomeSum.get(num2).getTotal_balance());
            }
            cell15.setCellValue((balance != null) ? balance.doubleValue() : new BigDecimal("0").doubleValue());
            cell15.setCellStyle(styleDetailTableNumber);
            num2++;
        }
        for (int i = 0; i < listSummaryTicketCostIncomeSum.size(); i++) {
            sheet1.autoSizeColumn(i);
        }
    }

    //Inter
    HSSFRow rowsinter2 = sheet1.createRow(count2);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 1) + ":B" + (count2 + 1)));
    HSSFCell cellInter00 = rowsinter2.createCell(0);
    cellInter00.setCellValue("Total Inter");
    cellInter00.setCellStyle(styleTotal);
    HSSFCell cellInter01 = rowsinter2.createCell(2);
    cellInter01.setCellValue(interpax1.doubleValue());
    cellInter01.setCellStyle(stylePax);
    HSSFCell cellInter02 = rowsinter2.createCell(4);
    cellInter02.setCellValue(intercostinv1.doubleValue());
    cellInter02.setCellStyle(styleSum);
    HSSFCell cellInter03 = rowsinter2.createCell(5);
    cellInter03.setCellValue(interinvoicewendy1.doubleValue());
    cellInter03.setCellStyle(styleSum);
    //        HSSFCell cellInter04 = rowsinter2.createCell(6);
    //        cellInter04.setCellValue(interinvoiceinbound1.doubleValue());
    //        cellInter04.setCellStyle(styleSum);
    HSSFCell cellInter05 = rowsinter2.createCell(6);
    cellInter05.setCellValue(interinvoiceoutbound1.doubleValue());
    cellInter05.setCellStyle(styleSum);
    HSSFCell cellInter005 = rowsinter2.createCell(7);
    cellInter005.setCellValue(interover1.doubleValue());
    cellInter005.setCellStyle(styleSum);
    HSSFCell cellInter06 = rowsinter2.createCell(8);
    cellInter06.setCellValue(interdiscount1.doubleValue());
    cellInter06.setCellStyle(styleSum);
    HSSFCell cellInter07 = rowsinter2.createCell(9);
    cellInter07.setCellValue(interlittle1.doubleValue());
    cellInter07.setCellStyle(styleSum);
    HSSFCell cellInter08 = rowsinter2.createCell(10);
    cellInter08.setCellValue(intercancel1.doubleValue());
    cellInter08.setCellStyle(styleSum);
    HSSFCell cellInter09 = rowsinter2.createCell(11);
    cellInter09.setCellValue(interwaitpay1.doubleValue());
    cellInter09.setCellStyle(styleSum);
    HSSFCell cellInter10 = rowsinter2.createCell(12);
    cellInter10.setCellValue(interrcagcom1.doubleValue());
    cellInter10.setCellStyle(styleSum);
    HSSFCell cellInter11 = rowsinter2.createCell(13);
    cellInter11.setCellValue(intertotalbalance1.doubleValue());
    cellInter11.setCellStyle(styleSum);
    HSSFCell cellInter12 = rowsinter2.createCell(1);
    cellInter12.setCellStyle(styleSum);
    HSSFCell cellInter13 = rowsinter2.createCell(3);
    cellInter13.setCellStyle(styleSum);
    HSSFCell cellInter15 = rowsinter2.createCell(8);
    cellInter15.setCellStyle(styleSum);

    //Domestic
    HSSFRow rowsdomestic2 = sheet1.createRow(count2 + 1);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 2) + ":B" + (count2 + 2)));
    HSSFCell cellDomestic00 = rowsdomestic2.createCell(0);
    cellDomestic00.setCellValue("Total Domestic");
    cellDomestic00.setCellStyle(styleTotal);
    HSSFCell cellDomestic01 = rowsdomestic2.createCell(2);
    cellDomestic01.setCellValue(domesticpax1.doubleValue());
    cellDomestic01.setCellStyle(stylePax);
    HSSFCell cellDomestic02 = rowsdomestic2.createCell(4);
    cellDomestic02.setCellValue(domesticcostinv1.doubleValue());
    cellDomestic02.setCellStyle(styleSum);
    HSSFCell cellDomestic03 = rowsdomestic2.createCell(5);
    cellDomestic03.setCellValue(domesticinvoicewendy1.doubleValue());
    cellDomestic03.setCellStyle(styleSum);
    HSSFCell cellDomestic04 = rowsdomestic2.createCell(6);
    cellDomestic04.setCellValue(domesticinvoiceinbound1.doubleValue());
    cellDomestic04.setCellStyle(styleSum);
    //        HSSFCell cellDomestic05 = rowsdomestic2.createCell(7);
    //        cellDomestic05.setCellValue(domesticinvoiceoutbound1.doubleValue());
    //        cellDomestic05.setCellStyle(styleSum);
    HSSFCell cellDomestic005 = rowsdomestic2.createCell(7);
    cellDomestic005.setCellValue(domesticover1.doubleValue());
    cellDomestic005.setCellStyle(styleSum);
    HSSFCell cellDomestic06 = rowsdomestic2.createCell(8);
    cellDomestic06.setCellValue(domesticdiscount1.doubleValue());
    cellDomestic06.setCellStyle(styleSum);
    HSSFCell cellDomestic07 = rowsdomestic2.createCell(9);
    cellDomestic07.setCellValue(domesticlittle1.doubleValue());
    cellDomestic07.setCellStyle(styleSum);
    HSSFCell cellDomestic08 = rowsdomestic2.createCell(10);
    cellDomestic08.setCellValue(domesticcancel1.doubleValue());
    cellDomestic08.setCellStyle(styleSum);
    HSSFCell cellDomestic09 = rowsdomestic2.createCell(11);
    cellDomestic09.setCellValue(domesticwaitpay1.doubleValue());
    cellDomestic09.setCellStyle(styleSum);
    HSSFCell cellDomestic10 = rowsdomestic2.createCell(12);
    cellDomestic10.setCellValue(domesticrcagcom1.doubleValue());
    cellDomestic10.setCellStyle(styleSum);
    HSSFCell cellDomestic11 = rowsdomestic2.createCell(13);
    cellDomestic11.setCellValue(domestictotalbalance1.doubleValue());
    cellDomestic11.setCellStyle(styleSum);
    HSSFCell cellDomestic12 = rowsdomestic2.createCell(1);
    cellDomestic12.setCellStyle(styleSum);
    HSSFCell cellDomestic13 = rowsdomestic2.createCell(3);
    cellDomestic13.setCellStyle(styleSum);
    HSSFCell cellDomestic15 = rowsdomestic2.createCell(8);
    cellDomestic15.setCellStyle(styleSum);

    //Cancel
    HSSFRow rowscancel2 = sheet1.createRow(count2 + 2);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 3) + ":B" + (count2 + 3)));
    HSSFCell cellCancel00 = rowscancel2.createCell(0);
    cellCancel00.setCellValue("Total Cancel");
    cellCancel00.setCellStyle(styleTotal);
    HSSFCell cellCancel01 = rowscancel2.createCell(2);
    cellCancel01.setCellValue(cancelpax1.doubleValue());
    cellCancel01.setCellStyle(stylePax);
    HSSFCell cellCancel02 = rowscancel2.createCell(4);
    cellCancel02.setCellValue(cancelcostinv1.doubleValue());
    cellCancel02.setCellStyle(styleSum);
    HSSFCell cellCancel03 = rowscancel2.createCell(5);
    cellCancel03.setCellValue(cancelinvoicewendy1.doubleValue());
    cellCancel03.setCellStyle(styleSum);
    HSSFCell cellCancel04 = rowscancel2.createCell(6);
    cellCancel04.setCellValue(cancelinvoiceoutbound1.doubleValue());
    cellCancel04.setCellStyle(styleSum);
    //        HSSFCell cellCancel05 = rowscancel2.createCell(7);
    //        cellCancel05.setCellValue(cancelinvoiceinbound1.doubleValue());
    //        cellCancel05.setCellStyle(styleSum);
    HSSFCell cellCancel005 = rowscancel2.createCell(7);
    cellCancel005.setCellValue(cancelover1.doubleValue());
    cellCancel005.setCellStyle(styleSum);
    HSSFCell cellCancel06 = rowscancel2.createCell(8);
    cellCancel06.setCellValue(canceldiscount1.doubleValue());
    cellCancel06.setCellStyle(styleSum);
    HSSFCell cellCancel07 = rowscancel2.createCell(9);
    cellCancel07.setCellValue(cancellittle1.doubleValue());
    cellCancel07.setCellStyle(styleSum);
    HSSFCell cellCancel08 = rowscancel2.createCell(10);
    cellCancel08.setCellValue(cancelcancel1.doubleValue());
    cellCancel08.setCellStyle(styleSum);
    HSSFCell cellCancel09 = rowscancel2.createCell(11);
    cellCancel09.setCellValue(cancelwaitpay1.doubleValue());
    cellCancel09.setCellStyle(styleSum);
    HSSFCell cellCancel10 = rowscancel2.createCell(12);
    cellCancel10.setCellValue(cancelrcagcom1.doubleValue());
    cellCancel10.setCellStyle(styleSum);
    HSSFCell cellCancel11 = rowscancel2.createCell(13);
    cellCancel11.setCellValue(canceltotalbalance1.doubleValue());
    cellCancel11.setCellStyle(styleSum);
    HSSFCell cellCancel12 = rowscancel2.createCell(1);
    cellCancel12.setCellStyle(styleSum);
    HSSFCell cellCancel13 = rowscancel2.createCell(3);
    cellCancel13.setCellStyle(styleSum);
    HSSFCell cellCancel15 = rowscancel2.createCell(8);
    cellCancel15.setCellStyle(styleSum);

    String sumPax2 = "SUM(C" + 10 + ":C" + (count2) + ")";
    String sumCosInv2 = "SUM(E" + 10 + ":E" + (count2) + ")";
    String sumInvWendy2 = "SUM(F" + 10 + ":F" + (count2) + ")";
    //        String sumInvInbound2 = "SUM(G" + 10 + ":G" + (count2) + ")";
    String sumInvOutbound2 = "SUM(G" + 10 + ":G" + (count2) + ")";
    String sumOver2 = "SUM(H" + 10 + ":H" + (count2) + ")";
    String sumDiscount2 = "SUM(I" + 10 + ":I" + (count2) + ")";
    String sumLittle2 = "SUM(J" + 10 + ":J" + (count2) + ")";
    String sumCancel2 = "SUM(K" + 10 + ":K" + (count2) + ")";
    String sumRC2 = "SUM(M" + 10 + ":M" + (count2) + ")";
    String sumWait2 = "SUM(L" + 10 + ":L" + (count2) + ")";
    String sumBlance2 = "SUM(N" + 10 + ":N" + (count2) + ")";

    HSSFRow row20 = sheet1.createRow(count2 + 3);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 4) + ":B" + (count2 + 4)));
    HSSFCell cell60Sum2 = row20.createCell(0);
    cell60Sum2.setCellValue("Total");
    cell60Sum2.setCellStyle(styleTotal);
    sheet1.autoSizeColumn(0);
    HSSFCell cell7Sum2 = row20.createCell(2);
    cell7Sum2.setCellFormula(sumPax2);
    sheet1.autoSizeColumn(2);
    cell7Sum2.setCellStyle(stylePax);
    HSSFCell cell8Sum2 = row20.createCell(3);
    cell8Sum2.setCellValue("");
    sheet1.autoSizeColumn(3);
    cell8Sum2.setCellStyle(styleDetailTableNumber);
    HSSFCell cell9Sum2 = row20.createCell(4);
    cell9Sum2.setCellFormula(sumCosInv2);
    cell9Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(4);
    HSSFCell cell10Sum2 = row20.createCell(5);
    cell10Sum2.setCellFormula(sumInvWendy2);
    cell10Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(5);
    //        HSSFCell cell11Sum2 = row20.createCell(6);
    //        cell11Sum2.setCellFormula(sumInvInbound2);
    //        cell11Sum2.setCellStyle(styleDetailTableNumber);
    //        sheet1.autoSizeColumn(6);
    HSSFCell cell12Sum2 = row20.createCell(6);
    cell12Sum2.setCellFormula(sumInvOutbound2);
    cell12Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(6);
    HSSFCell cell13Sum2 = row20.createCell(7);
    cell13Sum2.setCellFormula(sumOver2);
    cell13Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(7);
    HSSFCell cell14Sum2 = row20.createCell(8);
    cell14Sum2.setCellFormula(sumDiscount2);
    cell14Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(8);
    HSSFCell cell15Sum2 = row20.createCell(9);
    cell15Sum2.setCellFormula(sumLittle2);
    cell15Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(9);
    HSSFCell cell16Sum2 = row20.createCell(10);
    cell16Sum2.setCellFormula(sumCancel2);
    cell16Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(10);
    HSSFCell cell17Sum2 = row20.createCell(11);
    cell17Sum2.setCellFormula(sumWait2);
    cell17Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(11);
    HSSFCell cell18Sum2 = row20.createCell(12);
    cell18Sum2.setCellFormula(sumRC2);
    cell18Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(12);
    HSSFCell cell19Sum2 = row20.createCell(13);
    cell19Sum2.setCellFormula(sumBlance2);
    cell19Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(13);

    HSSFRow rowLL2 = sheet1.createRow(count2 + 4);
    rowLL2.createCell(0).setCellStyle(styleBorderTop);
    rowLL2.createCell(1).setCellStyle(styleBorderTop);
    rowLL2.createCell(2).setCellStyle(styleBorderTop);
    rowLL2.createCell(3).setCellStyle(styleBorderTop);
    rowLL2.createCell(4).setCellStyle(styleBorderTop);
    rowLL2.createCell(5).setCellStyle(styleBorderTop);
    rowLL2.createCell(6).setCellStyle(styleBorderTop);
    rowLL2.createCell(7).setCellStyle(styleBorderTop);
    rowLL2.createCell(8).setCellStyle(styleBorderTop);
    rowLL2.createCell(9).setCellStyle(styleBorderTop);
    rowLL2.createCell(10).setCellStyle(styleBorderTop);
    rowLL2.createCell(11).setCellStyle(styleBorderTop);
    rowLL2.createCell(12).setCellStyle(styleBorderTop);
    rowLL2.createCell(13).setCellStyle(styleBorderTop);
    //        rowLL2.createCell(14).setCellStyle(styleBorderTop);
}

From source file:com.smi.travel.controller.excel.checking.airticket.CostIncomeSummary.java

private void getTicketCommissionReceive(HSSFWorkbook wb, List TicketCommissionReceive) {
    List<ListTicketCommissionReceive> listTotal = TicketCommissionReceive;

    String sheetName = "receive";// name of sheet
    String sheetName1 = "receive_summary";
    HSSFSheet sheet = wb.createSheet(sheetName);
    HSSFSheet sheet1 = wb.createSheet(sheetName1);
    HSSFDataFormat currency = wb.createDataFormat();
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();

    // line table
    HSSFCellStyle styleBorderTop = wb.createCellStyle();// use
    styleBorderTop.setBorderTop(styleBorderTop.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderAllHeaderTable = wb.createCellStyle(); // use
    styleAlignRightBorderAllHeaderTable.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleAlignRightBorderAllHeaderTable.setAlignment(styleAlignRightBorderAllHeaderTable.ALIGN_CENTER);
    styleAlignRightBorderAllHeaderTable.setBorderTop(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderBottom(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderRight(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderLeft(styleAlignRightBorderAllHeaderTable.BORDER_THIN);

    // Header Table
    HSSFCellStyle styleDetailTable = wb.createCellStyle(); // use
    styleDetailTable.setAlignment(styleDetailTable.ALIGN_LEFT);
    styleDetailTable.setBorderLeft(styleDetailTable.BORDER_THIN);
    styleDetailTable.setBorderRight(styleDetailTable.BORDER_THIN);
    HSSFCellStyle styleDetailTableNumber = wb.createCellStyle(); //use
    styleDetailTableNumber.setDataFormat(currency.getFormat("#,##0.00"));
    styleDetailTableNumber.setAlignment(styleDetailTableNumber.ALIGN_RIGHT);
    styleDetailTableNumber.setBorderLeft(styleDetailTableNumber.BORDER_THIN);
    styleDetailTableNumber.setBorderRight(styleDetailTableNumber.BORDER_THIN);
    HSSFCellStyle styleDetailTableBorderBottomTop = wb.createCellStyle(); // use
    styleDetailTableBorderBottomTop.setBorderTop(styleDetailTableBorderBottomTop.BORDER_THIN);
    styleDetailTableBorderBottomTop.setBorderRight(styleDetailTableBorderBottomTop.BORDER_THIN);

    HSSFCellStyle styleDetailPax = wb.createCellStyle(); // use
    styleDetailPax.setAlignment(styleDetailPax.ALIGN_CENTER);
    styleDetailPax.setBorderLeft(styleDetailPax.BORDER_THIN);
    styleDetailPax.setBorderRight(styleDetailPax.BORDER_THIN);
    //        styleDetailPax.setBorderTop(styleDetailPax.BORDER_THIN);
    //        styleDetailPax.setBorderBottom(styleDetailPax.BORDER_THIN);
    styleDetailPax.setDataFormat(currency.getFormat("#,##0"));

    HSSFCellStyle styleDetailTotal = wb.createCellStyle(); // use
    styleDetailTotal.setAlignment(styleDetailTotal.ALIGN_RIGHT);
    styleDetailTotal.setBorderLeft(styleDetailTotal.BORDER_THIN);
    styleDetailTotal.setBorderRight(styleDetailTotal.BORDER_THIN);
    styleDetailTotal.setBorderTop(styleDetailTotal.BORDER_THIN);
    styleDetailTotal.setBorderBottom(styleDetailTotal.BORDER_THIN);
    styleDetailTotal.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleNameTotal = wb.createCellStyle(); // use
    styleNameTotal.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleNameTotal.setAlignment(styleNameTotal.ALIGN_RIGHT);
    styleNameTotal.setBorderTop(styleNameTotal.BORDER_THIN);
    styleNameTotal.setBorderBottom(styleNameTotal.BORDER_THIN);
    styleNameTotal.setBorderRight(styleNameTotal.BORDER_THIN);
    styleNameTotal.setBorderLeft(styleNameTotal.BORDER_THIN);

    HSSFCellStyle styleTotalPax = wb.createCellStyle(); // use
    styleTotalPax.setAlignment(styleTotalPax.ALIGN_CENTER);
    styleTotalPax.setBorderLeft(styleTotalPax.BORDER_THIN);
    styleTotalPax.setBorderRight(styleTotalPax.BORDER_THIN);
    styleTotalPax.setBorderTop(styleTotalPax.BORDER_THIN);
    styleTotalPax.setBorderBottom(styleTotalPax.BORDER_THIN);
    styleTotalPax.setDataFormat(currency.getFormat("#,##0"));
    // Sheet Detail (2)
    // set Header Report (Row 1)
    HSSFCellStyle styleC11 = wb.createCellStyle();
    HSSFRow row01 = sheet.createRow(0);/*from ww w.  j a  v  a2  s. c  o m*/
    HSSFCell cell01 = row01.createCell(0);
    cell01.setCellValue("Summary Ticket Commission Receive");
    styleC11.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell01.setCellStyle(styleC11);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A1:H1"));

    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    List<TicketCommissionReceive> receiveTemp = listTotal.get(0).getTicketCommmissionReceive();
    TicketCommissionReceive receive = new TicketCommissionReceive();
    if (!receiveTemp.isEmpty()) {
        receive = (TicketCommissionReceive) receiveTemp.get(0);
    }
    // Row 2
    HSSFRow row02 = sheet.createRow(1);
    HSSFCell cell021 = row02.createCell(0);
    cell021.setCellValue("Invoice Date : ");
    cell021.setCellStyle(styleC21);
    HSSFCell cell022 = row02.createCell(1);
    cell022.setCellValue(receive.getInvoicedatePage());
    cell022.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell023 = row02.createCell(4);
    cell023.setCellValue("Print : ");
    cell023.setCellStyle(styleC21);
    HSSFCell cell024 = row02.createCell(5);
    cell024.setCellValue(receive.getPrintbyPage());
    cell024.setCellStyle(styleC22);

    // Row 3
    HSSFRow row03 = sheet.createRow(2);
    HSSFCell cell031 = row03.createCell(0);
    cell031.setCellValue("Issue Date : ");
    cell031.setCellStyle(styleC21);
    HSSFCell cell032 = row03.createCell(1);
    cell032.setCellValue(receive.getIssuedatePage());
    cell032.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell033 = row03.createCell(4);
    cell033.setCellValue("Page : ");
    cell033.setCellStyle(styleC21);
    HSSFCell cell034 = row03.createCell(5);
    cell034.setCellValue("1");
    cell034.setCellStyle(styleC22);

    // Row 4
    HSSFRow row04 = sheet.createRow(3);
    HSSFCell cell041 = row04.createCell(0);
    cell041.setCellValue("Department : ");
    cell041.setCellStyle(styleC21);
    HSSFCell cell042 = row04.createCell(1);
    cell042.setCellValue(receive.getDepartmentPage());
    cell042.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));

    // Row 5
    HSSFRow row05 = sheet.createRow(4);
    HSSFCell cell051 = row05.createCell(0);
    cell051.setCellValue("Sale Staff : ");
    cell051.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell052 = row05.createCell(1);
    cell052.setCellValue(receive.getSalsestaffPage());
    cell052.setCellStyle(styleC22);

    // Row 6
    HSSFRow row06 = sheet.createRow(5);
    HSSFCell cell611 = row06.createCell(0);
    cell611.setCellValue("Term Pay : ");
    cell611.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));
    HSSFCell cell621 = row06.createCell(1);
    cell621.setCellValue(receive.getTermPayPage());
    cell621.setCellStyle(styleC22);

    // Header Table
    HSSFRow row6 = sheet.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Type Pay");
    cell61.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Type Route");
    cell62.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(1);
    HSSFCell cell63 = row6.createCell(2);
    cell63.setCellValue("Pax");
    sheet.autoSizeColumn(2);
    cell63.setCellStyle(styleAlignRightBorderAllHeaderTable);
    HSSFCell cell64 = row6.createCell(3);
    cell64.setCellValue("Air");
    cell64.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(3);
    HSSFCell cell65 = row6.createCell(4);
    cell65.setCellValue("Comm Airline");
    cell65.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(4);
    HSSFCell cell66 = row6.createCell(5);
    cell66.setCellValue("Little Com");
    cell66.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(5);
    HSSFCell cell67 = row6.createCell(6);
    cell67.setCellValue("Pay [Agent]");
    cell67.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(6);
    HSSFCell cell68 = row6.createCell(7);
    cell68.setCellValue("RC [Agent]");
    cell68.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(7);
    HSSFCell cell69 = row6.createCell(8);
    cell69.setCellValue("Pay Refund");
    cell69.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(8);
    HSSFCell cell70 = row6.createCell(9);
    cell70.setCellValue("Comm Receive");
    cell70.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet.autoSizeColumn(9);

    List<TicketCommissionReceive> listTicketCommissionReceive = listTotal.get(0).getTicketCommmissionReceive();

    int count = 9 + listTicketCommissionReceive.size();
    int start = 11;
    int end = 0;
    int num = 0;

    BigDecimal interpax = new BigDecimal(0);
    BigDecimal intercommairline = new BigDecimal(0);
    BigDecimal interlittlecom = new BigDecimal(0);
    BigDecimal interpay = new BigDecimal(0);
    BigDecimal interrc = new BigDecimal(0);
    BigDecimal interpayref = new BigDecimal(0);
    BigDecimal intercommrec = new BigDecimal(0);

    BigDecimal domesticpax = new BigDecimal(0);
    BigDecimal domesticcommairline = new BigDecimal(0);
    BigDecimal domesticlittlecom = new BigDecimal(0);
    BigDecimal domesticpay = new BigDecimal(0);
    BigDecimal domesticrc = new BigDecimal(0);
    BigDecimal domesticpayref = new BigDecimal(0);
    BigDecimal domesticcommrec = new BigDecimal(0);

    BigDecimal cancelpax = new BigDecimal(0);
    BigDecimal cancelcommairline = new BigDecimal(0);
    BigDecimal cancellittlecom = new BigDecimal(0);
    BigDecimal cancelpay = new BigDecimal(0);
    BigDecimal cancelrc = new BigDecimal(0);
    BigDecimal cancelpayref = new BigDecimal(0);
    BigDecimal cancelcommrec = new BigDecimal(0);

    for (int r = 9; r < count; r++) {
        if (num < listTicketCommissionReceive.size()) {
            HSSFRow row = sheet.createRow(r);
            HSSFCell cell1 = row.createCell(0);
            cell1.setCellValue(listTicketCommissionReceive.get(num).getTypepayment());
            cell1.setCellStyle(styleDetailTable);
            HSSFCell cell2 = row.createCell(1);
            cell2.setCellValue(listTicketCommissionReceive.get(num).getTyperounting());
            cell2.setCellStyle(styleDetailTable);
            HSSFCell cell3 = row.createCell(2);
            BigDecimal pax = new BigDecimal(listTicketCommissionReceive.get(num).getPax());
            cell3.setCellValue((pax != null) ? pax.doubleValue() : new BigDecimal("0").doubleValue());
            cell3.setCellStyle(styleDetailPax);
            HSSFCell cell4 = row.createCell(3);
            cell4.setCellValue(listTicketCommissionReceive.get(num).getAir());
            cell4.setCellStyle(styleDetailTable);
            HSSFCell cell55 = row.createCell(4);
            BigDecimal comair = null;
            if ("".equals(listTicketCommissionReceive.get(num).getComairline())) {
                comair = new BigDecimal(0);
            } else {
                comair = new BigDecimal(listTicketCommissionReceive.get(num).getComairline());
            }
            cell55.setCellValue((comair != null && !"0".equals(comair)) ? comair.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell55.setCellStyle(styleDetailTableNumber);
            HSSFCell cell5 = row.createCell(5);
            BigDecimal littlecom = null;
            if ("".equals(listTicketCommissionReceive.get(num).getLittlecom())) {
                littlecom = new BigDecimal(0);
            } else {
                littlecom = new BigDecimal(listTicketCommissionReceive.get(num).getLittlecom());
            }
            cell5.setCellValue((littlecom != null && !"0".equals(littlecom)) ? littlecom.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell5.setCellStyle(styleDetailTableNumber);
            HSSFCell cell6 = row.createCell(6);
            BigDecimal payagent = null;
            if ("".equals(listTicketCommissionReceive.get(num).getPayagent())) {
                payagent = new BigDecimal(0);
            } else {
                payagent = new BigDecimal(listTicketCommissionReceive.get(num).getPayagent());
            }
            cell6.setCellValue((payagent != null) ? payagent.doubleValue() : new BigDecimal("0").doubleValue());
            cell6.setCellStyle(styleDetailTableNumber);
            HSSFCell cell7 = row.createCell(7);
            BigDecimal rcagent = null;
            if ("".equals(listTicketCommissionReceive.get(num).getRcagent())) {
                rcagent = new BigDecimal(0);
            } else {
                rcagent = new BigDecimal(listTicketCommissionReceive.get(num).getRcagent());
            }
            cell7.setCellValue((rcagent != null) ? rcagent.doubleValue() : new BigDecimal("0").doubleValue());
            cell7.setCellStyle(styleDetailTableNumber);
            HSSFCell cell8 = row.createCell(8);
            BigDecimal payrefund = null;
            if ("".equals(listTicketCommissionReceive.get(num).getPayrefund())) {
                payrefund = new BigDecimal(0);
            } else {
                payrefund = new BigDecimal(listTicketCommissionReceive.get(num).getPayrefund());
            }
            cell8.setCellValue(
                    (payrefund != null) ? payrefund.doubleValue() : new BigDecimal("0").doubleValue());
            cell8.setCellStyle(styleDetailTableNumber);
            HSSFCell cell9 = row.createCell(9);
            BigDecimal comreceive = null;
            if ("".equals(listTicketCommissionReceive.get(num).getComreceive())) {
                comreceive = new BigDecimal(0);
            } else {
                comreceive = new BigDecimal(listTicketCommissionReceive.get(num).getComreceive());
            }
            cell9.setCellValue(
                    (comreceive != null) ? comreceive.doubleValue() : new BigDecimal("0").doubleValue());
            cell9.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(9);

            if ("I".equalsIgnoreCase(String.valueOf(listTicketCommissionReceive.get(num).getTyperounting()))) {
                interpax = interpax.add(pax);
                intercommairline = intercommairline.add(comair);
                interlittlecom = interlittlecom.add(littlecom);
                interpay = interpay.add(payagent);
                interrc = interrc.add(rcagent);
                interpayref = interpayref.add(payrefund);
                intercommrec = intercommrec.add(comreceive);
            } else if ("D"
                    .equalsIgnoreCase(String.valueOf(listTicketCommissionReceive.get(num).getTyperounting()))) {
                domesticpax = domesticpax.add(pax);
                domesticcommairline = domesticcommairline.add(comair);
                domesticlittlecom = domesticlittlecom.add(littlecom);
                domesticpay = domesticpay.add(payagent);
                domesticrc = domesticrc.add(rcagent);
                domesticpayref = domesticpayref.add(payrefund);
                domesticcommrec = domesticcommrec.add(comreceive);
            } else if ("C"
                    .equalsIgnoreCase(String.valueOf(listTicketCommissionReceive.get(num).getTyperounting()))) {
                cancelpax = cancelpax.add(pax);
                cancelcommairline = cancelcommairline.add(comair);
                cancellittlecom = cancellittlecom.add(littlecom);
                cancelpay = cancelpay.add(payagent);
                cancelrc = cancelrc.add(rcagent);
                cancelpayref = cancelpayref.add(payrefund);
                cancelcommrec = cancelcommrec.add(comreceive);
            }

            num++;
        }
        for (int i = 0; i < listTicketCommissionReceive.size(); i++) {
            sheet.autoSizeColumn(i);
        }
    }

    //        System.out.println(count);

    HSSFRow row = sheet.createRow(count);
    HSSFCell cell000Sum = row.createCell(0);
    cell000Sum.setCellValue("Total Inter");
    cell000Sum.setCellStyle(styleNameTotal);
    HSSFCell cell001Sum = row.createCell(1);
    cell001Sum.setCellValue("");
    cell001Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell002Sum = row.createCell(2);
    cell002Sum.setCellValue(interpax.doubleValue());
    cell002Sum.setCellStyle(styleTotalPax);
    HSSFCell cell003Sum = row.createCell(3);
    cell003Sum.setCellValue("");
    cell003Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell004Sum = row.createCell(4);
    cell004Sum.setCellValue(intercommairline.doubleValue());
    cell004Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell005Sum = row.createCell(5);
    cell005Sum.setCellValue(interlittlecom.doubleValue());
    cell005Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell006Sum = row.createCell(6);
    cell006Sum.setCellValue(interpay.doubleValue());
    cell006Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell007Sum = row.createCell(7);
    cell007Sum.setCellValue(interrc.doubleValue());
    cell007Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell008Sum = row.createCell(8);
    cell008Sum.setCellValue(interpayref.doubleValue());
    cell008Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell009Sum = row.createCell(9);
    cell009Sum.setCellValue(intercommrec.doubleValue());
    cell009Sum.setCellStyle(styleDetailTotal);

    row = sheet.createRow(count + 1);
    HSSFCell cell010Sum = row.createCell(0);
    cell010Sum.setCellValue("Total Domestic");
    cell010Sum.setCellStyle(styleNameTotal);
    HSSFCell cell011Sum = row.createCell(1);
    cell011Sum.setCellValue("");
    cell011Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell012Sum = row.createCell(2);
    cell012Sum.setCellValue(domesticpax.doubleValue());
    cell012Sum.setCellStyle(styleTotalPax);
    HSSFCell cell013Sum = row.createCell(3);
    cell013Sum.setCellValue("");
    cell013Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell014Sum = row.createCell(4);
    cell014Sum.setCellValue(domesticcommairline.doubleValue());
    cell014Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell015Sum = row.createCell(5);
    cell015Sum.setCellValue(domesticlittlecom.doubleValue());
    cell015Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell016Sum = row.createCell(6);
    cell016Sum.setCellValue(domesticpay.doubleValue());
    cell016Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell017Sum = row.createCell(7);
    cell017Sum.setCellValue(domesticrc.doubleValue());
    cell017Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell018Sum = row.createCell(8);
    cell018Sum.setCellValue(domesticpayref.doubleValue());
    cell018Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell019Sum = row.createCell(9);
    cell019Sum.setCellValue(domesticcommrec.doubleValue());
    cell019Sum.setCellStyle(styleDetailTotal);

    row = sheet.createRow(count + 2);
    HSSFCell cell020Sum = row.createCell(0);
    cell020Sum.setCellValue("Total Cancel");
    cell020Sum.setCellStyle(styleNameTotal);
    HSSFCell cell021Sum = row.createCell(1);
    cell021Sum.setCellValue("");
    cell021Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell022Sum = row.createCell(2);
    cell022Sum.setCellValue(cancelpax.doubleValue());
    cell022Sum.setCellStyle(styleTotalPax);
    HSSFCell cell023Sum = row.createCell(3);
    cell023Sum.setCellValue("");
    cell023Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell024Sum = row.createCell(4);
    cell024Sum.setCellValue(cancelcommairline.doubleValue());
    cell024Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell025Sum = row.createCell(5);
    cell025Sum.setCellValue(cancellittlecom.doubleValue());
    cell025Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell026Sum = row.createCell(6);
    cell026Sum.setCellValue(cancelpay.doubleValue());
    cell026Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell027Sum = row.createCell(7);
    cell027Sum.setCellValue(cancelrc.doubleValue());
    cell027Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell028Sum = row.createCell(8);
    cell028Sum.setCellValue(cancelpayref.doubleValue());
    cell028Sum.setCellStyle(styleDetailTotal);
    HSSFCell cell029Sum = row.createCell(9);
    cell029Sum.setCellValue(cancelcommrec.doubleValue());
    cell029Sum.setCellStyle(styleDetailTotal);

    String sumPax = "SUM(C" + 10 + ":C" + (count) + ")";
    String sumComair = "SUM(E" + 10 + ":E" + (count) + ")";
    String sumlitttlecom = "SUM(F" + 10 + ":F" + (count) + ")";
    String sumPayagent = "SUM(G" + 10 + ":G" + (count) + ")";
    String sumRcagent = "SUM(H" + 10 + ":H" + (count) + ")";
    String sumPayRefund = "SUM(I" + 10 + ":I" + (count) + ")";
    String sumComReceive = "SUM(J" + 10 + ":J" + (count) + ")";

    row = sheet.createRow(count + 3);
    HSSFCell cell60Sum = row.createCell(0);
    cell60Sum.setCellValue("Total");
    cell60Sum.setCellStyle(styleNameTotal);
    sheet.autoSizeColumn(0);
    HSSFCell cell6Sum = row.createCell(1);
    cell6Sum.setCellValue("");
    cell6Sum.setCellStyle(styleDetailTotal);
    sheet.autoSizeColumn(1);
    HSSFCell cell7Sum = row.createCell(2);
    cell7Sum.setCellFormula(sumPax);
    sheet.autoSizeColumn(2);
    cell7Sum.setCellStyle(styleTotalPax);
    HSSFCell cell8Sum = row.createCell(3);
    cell8Sum.setCellValue("");
    sheet.autoSizeColumn(3);
    cell8Sum.setCellStyle(styleDetailTableNumber);
    HSSFCell cell9Sum = row.createCell(4);
    cell9Sum.setCellFormula(sumComair);
    cell9Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(4);
    HSSFCell cell10Sum = row.createCell(5);
    cell10Sum.setCellFormula(sumlitttlecom);
    cell10Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(5);
    HSSFCell cell11Sum = row.createCell(6);
    cell11Sum.setCellFormula(sumPayagent);
    cell11Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(6);
    HSSFCell cell12Sum = row.createCell(7);
    cell12Sum.setCellFormula(sumRcagent);
    cell12Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(7);
    HSSFCell cell13Sum = row.createCell(8);
    cell13Sum.setCellFormula(sumPayRefund);
    cell13Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(8);
    HSSFCell cell14Sum = row.createCell(9);
    cell14Sum.setCellFormula(sumComReceive);
    cell14Sum.setCellStyle(styleDetailTableNumber);
    sheet.autoSizeColumn(9);

    HSSFRow rowLL = sheet.createRow(count + 4);
    rowLL.createCell(0).setCellStyle(styleBorderTop);
    rowLL.createCell(1).setCellStyle(styleBorderTop);
    rowLL.createCell(2).setCellStyle(styleBorderTop);
    rowLL.createCell(3).setCellStyle(styleBorderTop);
    rowLL.createCell(4).setCellStyle(styleBorderTop);
    rowLL.createCell(5).setCellStyle(styleBorderTop);
    rowLL.createCell(6).setCellStyle(styleBorderTop);
    rowLL.createCell(7).setCellStyle(styleBorderTop);
    rowLL.createCell(8).setCellStyle(styleBorderTop);
    rowLL.createCell(9).setCellStyle(styleBorderTop);

    // Sheet
    // set Header Report (Row 1)
    HSSFCellStyle styleC110Sum = wb.createCellStyle();
    HSSFRow row010 = sheet1.createRow(0);
    HSSFCell cell010 = row010.createCell(0);
    cell010.setCellValue("Summary Ticket Commission Receive");
    styleC110Sum.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell010.setCellStyle(styleC110Sum);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A1:H1"));

    // Set align Text
    HSSFCellStyle styleC212 = wb.createCellStyle();
    styleC212.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC222 = wb.createCellStyle();
    styleC222.setAlignment(styleC22.ALIGN_LEFT);

    List<TicketCommissionReceive> receiveSumTemp = listTotal.get(0).getTicketCommmissionReceiveSum();
    TicketCommissionReceive receiveSum = new TicketCommissionReceive();
    if (!receiveSumTemp.isEmpty()) {
        receiveSum = (TicketCommissionReceive) receiveSumTemp.get(0);
    }
    // Row 2
    HSSFRow row022 = sheet1.createRow(1);
    HSSFCell cell0212 = row022.createCell(0);
    cell0212.setCellValue("Invoice Date : ");
    cell0212.setCellStyle(styleC21);
    HSSFCell cell0222 = row022.createCell(1);
    cell0222.setCellValue(receiveSum.getInvoicedatePage());
    cell0222.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell0232 = row022.createCell(4);
    cell0232.setCellValue("Print : ");
    cell0232.setCellStyle(styleC21);
    HSSFCell cell0242 = row022.createCell(5);
    cell0242.setCellValue(receiveSum.getPrintbyPage());
    cell0242.setCellStyle(styleC22);

    // Row 3
    HSSFRow row032 = sheet1.createRow(2);
    HSSFCell cell0312 = row032.createCell(0);
    cell0312.setCellValue("Issue Date : ");
    cell0312.setCellStyle(styleC21);
    HSSFCell cell0322 = row032.createCell(1);
    cell0322.setCellValue(receiveSum.getIssuedatePage());
    cell0322.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell0332 = row032.createCell(4);
    cell0332.setCellValue("Page : ");
    cell0332.setCellStyle(styleC21);
    HSSFCell cell0342 = row032.createCell(5);
    cell0342.setCellValue("1");
    cell0342.setCellStyle(styleC22);

    // Row 4
    HSSFRow row042 = sheet1.createRow(3);
    HSSFCell cell0412 = row042.createCell(0);
    cell0412.setCellValue("Department : ");
    cell0412.setCellStyle(styleC21);
    HSSFCell cell0422 = row042.createCell(1);
    cell0422.setCellValue(receiveSum.getDepartmentPage());
    cell0422.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));

    // Row 5
    HSSFRow row052 = sheet1.createRow(4);
    HSSFCell cell0512 = row052.createCell(0);
    cell0512.setCellValue("Sale Staff : ");
    cell0512.setCellStyle(styleC21);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell0522 = row052.createCell(1);
    cell0522.setCellValue(receiveSum.getSalsestaffPage());
    cell0522.setCellStyle(styleC22);

    // Row 6
    HSSFRow row062 = sheet1.createRow(5);
    HSSFCell cell6112 = row062.createCell(0);
    cell6112.setCellValue("Term Pay : ");
    cell6112.setCellStyle(styleC21);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));
    HSSFCell cell6212 = row062.createCell(1);
    cell6212.setCellValue(receiveSum.getTermPayPage());
    cell6212.setCellStyle(styleC22);

    // Header Table
    HSSFRow row62 = sheet1.createRow(8);
    HSSFCell cell612 = row62.createCell(0);
    cell612.setCellValue("Type Pay");
    cell612.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(0);
    HSSFCell cell622 = row62.createCell(1);
    cell622.setCellValue("Type Route");
    cell622.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(1);
    HSSFCell cell632 = row62.createCell(2);
    cell632.setCellValue("Pax");
    sheet1.autoSizeColumn(2);
    cell632.setCellStyle(styleAlignRightBorderAllHeaderTable);
    //        HSSFCell cell652 = row62.createCell(3);
    //        cell652.setCellValue("Air");
    //        cell652.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(3);
    HSSFCell cell662 = row62.createCell(3);
    cell662.setCellValue("Comm Airline");
    cell662.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(5);
    HSSFCell cell672 = row62.createCell(4);
    cell672.setCellValue("Little Com");
    cell672.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(5);
    HSSFCell cell6722 = row62.createCell(5);
    cell6722.setCellValue("Pay [Agent]");
    cell6722.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(6);
    HSSFCell cell682 = row62.createCell(6);
    cell682.setCellValue("RC [Agent]");
    cell682.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(7);
    HSSFCell cell692 = row62.createCell(7);
    cell692.setCellValue("Pay Refund");
    cell692.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(8);
    HSSFCell cell712 = row62.createCell(8);
    cell712.setCellValue("Comm Receive");
    cell712.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(9);

    List<TicketCommissionReceive> listTicketCommissionReceiveSum = listTotal.get(0)
            .getTicketCommmissionReceiveSum();

    int count2 = 9 + listTicketCommissionReceiveSum.size();
    int start2 = 11;
    int end2 = 0;
    int num2 = 0;

    BigDecimal interpax2 = new BigDecimal(0);
    BigDecimal intercommairline2 = new BigDecimal(0);
    BigDecimal interlittlecom2 = new BigDecimal(0);
    BigDecimal interpay2 = new BigDecimal(0);
    BigDecimal interrc2 = new BigDecimal(0);
    BigDecimal interpayref2 = new BigDecimal(0);
    BigDecimal intercommrec2 = new BigDecimal(0);

    BigDecimal domesticpax2 = new BigDecimal(0);
    BigDecimal domesticcommairline2 = new BigDecimal(0);
    BigDecimal domesticlittlecom2 = new BigDecimal(0);
    BigDecimal domesticpay2 = new BigDecimal(0);
    BigDecimal domesticrc2 = new BigDecimal(0);
    BigDecimal domesticpayref2 = new BigDecimal(0);
    BigDecimal domesticcommrec2 = new BigDecimal(0);

    BigDecimal cancelpax2 = new BigDecimal(0);
    BigDecimal cancelcommairline2 = new BigDecimal(0);
    BigDecimal cancellittlecom2 = new BigDecimal(0);
    BigDecimal cancelpay2 = new BigDecimal(0);
    BigDecimal cancelrc2 = new BigDecimal(0);
    BigDecimal cancelpayref2 = new BigDecimal(0);
    BigDecimal cancelcommrec2 = new BigDecimal(0);
    //        System.out.println("Size : " + listTicketCommissionReceiveSum.size());
    for (int r = 9; r < count2; r++) {
        if (num2 < listTicketCommissionReceiveSum.size()) {
            HSSFRow row2 = sheet1.createRow(r);
            HSSFCell cell1 = row2.createCell(0);
            cell1.setCellValue(listTicketCommissionReceiveSum.get(num2).getTypepayment());
            cell1.setCellStyle(styleDetailTable);
            HSSFCell cell2 = row2.createCell(1);
            cell2.setCellValue(listTicketCommissionReceiveSum.get(num2).getTyperounting());
            cell2.setCellStyle(styleDetailTable);
            HSSFCell cell3 = row2.createCell(2);
            BigDecimal pax = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getPax());
            cell3.setCellValue((pax != null) ? pax.doubleValue() : new BigDecimal("0").doubleValue());
            cell3.setCellStyle(styleDetailPax);
            //                HSSFCell cell4 = row2.createCell(3);
            //                    cell4.setCellValue(listTicketCommissionReceiveSum.get(num2).getAir());
            //                    cell4.setCellStyle(styleDetailTable);
            HSSFCell cell55 = row2.createCell(3);
            BigDecimal comair = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getComairline())) {
                comair = new BigDecimal(0);
            } else {
                comair = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getComairline());
            }
            cell55.setCellValue((comair != null && !"0".equals(comair)) ? comair.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell55.setCellStyle(styleDetailTableNumber);
            HSSFCell cell5 = row2.createCell(4);
            BigDecimal littlecom = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getLittlecom())) {
                littlecom = new BigDecimal(0);
            } else {
                littlecom = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getLittlecom());
            }
            cell5.setCellValue((littlecom != null && !"0".equals(littlecom)) ? littlecom.doubleValue()
                    : new BigDecimal("0").doubleValue());
            cell5.setCellStyle(styleDetailTableNumber);
            HSSFCell cell6 = row2.createCell(5);
            BigDecimal payagent = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getPayagent())) {
                payagent = new BigDecimal(0);
            } else {
                payagent = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getPayagent());
            }
            cell6.setCellValue((payagent != null) ? payagent.doubleValue() : new BigDecimal("0").doubleValue());
            cell6.setCellStyle(styleDetailTableNumber);
            HSSFCell cell7 = row2.createCell(6);
            BigDecimal rcagent = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getRcagent())) {
                rcagent = new BigDecimal(0);
            } else {
                rcagent = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getRcagent());
            }
            cell7.setCellValue((rcagent != null) ? rcagent.doubleValue() : new BigDecimal("0").doubleValue());
            cell7.setCellStyle(styleDetailTableNumber);
            HSSFCell cell8 = row2.createCell(7);
            BigDecimal payrefund = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getPayrefund())) {
                payrefund = new BigDecimal(0);
            } else {
                payrefund = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getPayrefund());
            }
            cell8.setCellValue(
                    (payrefund != null) ? payrefund.doubleValue() : new BigDecimal("0").doubleValue());
            cell8.setCellStyle(styleDetailTableNumber);
            HSSFCell cell9 = row2.createCell(8);
            BigDecimal comreceive = null;
            if ("".equals(listTicketCommissionReceiveSum.get(num2).getComreceive())) {
                comreceive = new BigDecimal(0);
            } else {
                comreceive = new BigDecimal(listTicketCommissionReceiveSum.get(num2).getComreceive());
            }
            cell9.setCellValue(
                    (comreceive != null) ? comreceive.doubleValue() : new BigDecimal("0").doubleValue());
            cell9.setCellStyle(styleDetailTableNumber);
            sheet1.autoSizeColumn(8);

            if ("I".equalsIgnoreCase(
                    String.valueOf(listTicketCommissionReceiveSum.get(num2).getTyperounting()))) {
                interpax2 = interpax2.add(pax);
                intercommairline2 = intercommairline2.add(comair);
                interlittlecom2 = interlittlecom2.add(littlecom);
                interpay2 = interpay2.add(payagent);
                interrc2 = interrc2.add(rcagent);
                interpayref2 = interpayref2.add(payrefund);
                intercommrec2 = intercommrec2.add(comreceive);
            } else if ("D".equalsIgnoreCase(
                    String.valueOf(listTicketCommissionReceiveSum.get(num2).getTyperounting()))) {
                domesticpax2 = domesticpax2.add(pax);
                domesticcommairline2 = domesticcommairline2.add(comair);
                domesticlittlecom2 = domesticlittlecom2.add(littlecom);
                domesticpay2 = domesticpay2.add(payagent);
                domesticrc2 = domesticrc2.add(rcagent);
                domesticpayref2 = domesticpayref2.add(payrefund);
                domesticcommrec2 = domesticcommrec2.add(comreceive);
            } else if ("C".equalsIgnoreCase(
                    String.valueOf(listTicketCommissionReceiveSum.get(num2).getTyperounting()))) {
                cancelpax2 = cancelpax2.add(pax);
                cancelcommairline2 = cancelcommairline2.add(comair);
                cancellittlecom2 = cancellittlecom2.add(littlecom);
                cancelpay2 = cancelpay2.add(payagent);
                cancelrc2 = cancelrc2.add(rcagent);
                cancelpayref2 = cancelpayref2.add(payrefund);
                cancelcommrec2 = cancelcommrec2.add(comreceive);
            }

            num2++;
        }
        for (int i = 0; i < listTicketCommissionReceiveSum.size(); i++) {
            sheet1.autoSizeColumn(i);
        }
    }
    //        System.out.println(count2);
    //        HSSFRow rowL2 = sheet1.createRow(count2);
    //        rowL2.createCell(0).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(1).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(2).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(3).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(4).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(5).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(6).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(7).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(8).setCellStyle(styleDetailTableBorderBottomTop);
    //        rowL2.createCell(9).setCellStyle(styleDetailTableBorderBottomTop);
    HSSFRow rowS2 = sheet1.createRow(count2);
    HSSFCell s2cell000Sum = rowS2.createCell(0);
    s2cell000Sum.setCellValue("Total Inter");
    s2cell000Sum.setCellStyle(styleNameTotal);
    HSSFCell s2cell001Sum = rowS2.createCell(1);
    s2cell001Sum.setCellValue("");
    s2cell001Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell002Sum = rowS2.createCell(2);
    s2cell002Sum.setCellValue(interpax2.doubleValue());
    s2cell002Sum.setCellStyle(styleTotalPax);
    //        HSSFCell s2cell003Sum = rowS2.createCell(3);
    //        s2cell003Sum.setCellValue("");
    //        s2cell003Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell004Sum = rowS2.createCell(3);
    s2cell004Sum.setCellValue(intercommairline2.doubleValue());
    s2cell004Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell005Sum = rowS2.createCell(4);
    s2cell005Sum.setCellValue(interlittlecom2.doubleValue());
    s2cell005Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell006Sum = rowS2.createCell(5);
    s2cell006Sum.setCellValue(interpay2.doubleValue());
    s2cell006Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell007Sum = rowS2.createCell(6);
    s2cell007Sum.setCellValue(interrc2.doubleValue());
    s2cell007Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell008Sum = rowS2.createCell(7);
    s2cell008Sum.setCellValue(interpayref2.doubleValue());
    s2cell008Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell009Sum = rowS2.createCell(8);
    s2cell009Sum.setCellValue(intercommrec2.doubleValue());
    s2cell009Sum.setCellStyle(styleDetailTotal);

    rowS2 = sheet1.createRow(count2 + 1);
    HSSFCell s2cell010Sum = rowS2.createCell(0);
    s2cell010Sum.setCellValue("Total Domestic");
    s2cell010Sum.setCellStyle(styleNameTotal);
    HSSFCell s2cell011Sum = rowS2.createCell(1);
    s2cell011Sum.setCellValue("");
    s2cell011Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell012Sum = rowS2.createCell(2);
    s2cell012Sum.setCellValue(domesticpax2.doubleValue());
    s2cell012Sum.setCellStyle(styleTotalPax);
    //        HSSFCell s2cell013Sum = rowS2.createCell(3);
    //        s2cell013Sum.setCellValue("");
    //        s2cell013Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell014Sum = rowS2.createCell(3);
    s2cell014Sum.setCellValue(domesticcommairline2.doubleValue());
    s2cell014Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell015Sum = rowS2.createCell(4);
    s2cell015Sum.setCellValue(domesticlittlecom2.doubleValue());
    s2cell015Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell016Sum = rowS2.createCell(5);
    s2cell016Sum.setCellValue(domesticpay2.doubleValue());
    s2cell016Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell017Sum = rowS2.createCell(6);
    s2cell017Sum.setCellValue(domesticrc2.doubleValue());
    s2cell017Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell018Sum = rowS2.createCell(7);
    s2cell018Sum.setCellValue(domesticpayref2.doubleValue());
    s2cell018Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell019Sum = rowS2.createCell(8);
    s2cell019Sum.setCellValue(domesticcommrec2.doubleValue());
    s2cell019Sum.setCellStyle(styleDetailTotal);

    rowS2 = sheet1.createRow(count2 + 2);
    HSSFCell s2cell020Sum = rowS2.createCell(0);
    s2cell020Sum.setCellValue("Total Cancel");
    s2cell020Sum.setCellStyle(styleNameTotal);
    HSSFCell s2cell021Sum = rowS2.createCell(1);
    s2cell021Sum.setCellValue("");
    s2cell021Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell022Sum = rowS2.createCell(2);
    s2cell022Sum.setCellValue(cancelpax2.doubleValue());
    s2cell022Sum.setCellStyle(styleTotalPax);
    //        HSSFCell s2cell023Sum = rowS2.createCell(3);
    //        s2cell023Sum.setCellValue("");
    //        s2cell023Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell024Sum = rowS2.createCell(3);
    s2cell024Sum.setCellValue(cancelcommairline2.doubleValue());
    s2cell024Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell025Sum = rowS2.createCell(4);
    s2cell025Sum.setCellValue(cancellittlecom2.doubleValue());
    s2cell025Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell026Sum = rowS2.createCell(5);
    s2cell026Sum.setCellValue(cancelpay2.doubleValue());
    s2cell026Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell027Sum = rowS2.createCell(6);
    s2cell027Sum.setCellValue(cancelrc2.doubleValue());
    s2cell027Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell028Sum = rowS2.createCell(7);
    s2cell028Sum.setCellValue(cancelpayref2.doubleValue());
    s2cell028Sum.setCellStyle(styleDetailTotal);
    HSSFCell s2cell029Sum = rowS2.createCell(8);
    s2cell029Sum.setCellValue(cancelcommrec2.doubleValue());
    s2cell029Sum.setCellStyle(styleDetailTotal);

    String sumPax2 = "SUM(C" + 10 + ":C" + (count2) + ")";
    String sumComair2 = "SUM(D" + 10 + ":D" + (count2) + ")";
    String sumlitttlecom2 = "SUM(E" + 10 + ":E" + (count2) + ")";
    String sumPayagent2 = "SUM(F" + 10 + ":F" + (count2) + ")";
    String sumRcagent2 = "SUM(G" + 10 + ":G" + (count2) + ")";
    String sumPayRefund2 = "SUM(H" + 10 + ":H" + (count2) + ")";
    String sumComReceive2 = "SUM(I" + 10 + ":I" + (count2) + ")";

    HSSFRow row20 = sheet1.createRow(count2 + 3);
    HSSFCell cell60Sum2 = row20.createCell(0);
    cell60Sum2.setCellValue("Total");
    cell60Sum2.setCellStyle(styleNameTotal);
    sheet1.autoSizeColumn(0);
    HSSFCell cell6Sum2 = row20.createCell(1);
    cell6Sum2.setCellValue("");
    cell6Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(1);
    HSSFCell cell7Sum2 = row20.createCell(2);
    cell7Sum2.setCellFormula(sumPax2);
    sheet1.autoSizeColumn(2);
    cell7Sum2.setCellStyle(styleTotalPax);
    //        HSSFCell cell8Sum2 = row20.createCell(3);
    //            cell8Sum2.setCellValue("");
    //            sheet1.autoSizeColumn(3);
    //            cell8Sum2.setCellStyle(styleDetailTableNumber);
    HSSFCell cell9Sum2 = row20.createCell(3);
    cell9Sum2.setCellFormula(sumComair2);
    cell9Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(3);
    HSSFCell cell10Sum2 = row20.createCell(4);
    cell10Sum2.setCellFormula(sumlitttlecom2);
    cell10Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(4);
    HSSFCell cell11Sum2 = row20.createCell(5);
    cell11Sum2.setCellFormula(sumPayagent2);
    cell11Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(5);
    HSSFCell cell12Sum2 = row20.createCell(6);
    cell12Sum2.setCellFormula(sumRcagent2);
    cell12Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(6);
    HSSFCell cell13Sum2 = row20.createCell(7);
    cell13Sum2.setCellFormula(sumPayRefund2);
    cell13Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(7);
    HSSFCell cell14Sum2 = row20.createCell(8);
    cell14Sum2.setCellFormula(sumComReceive2);
    cell14Sum2.setCellStyle(styleDetailTableNumber);
    sheet1.autoSizeColumn(8);

    HSSFRow rowLL2 = sheet1.createRow(count2 + 4);
    rowLL2.createCell(0).setCellStyle(styleBorderTop);
    rowLL2.createCell(1).setCellStyle(styleBorderTop);
    rowLL2.createCell(2).setCellStyle(styleBorderTop);
    rowLL2.createCell(3).setCellStyle(styleBorderTop);
    rowLL2.createCell(4).setCellStyle(styleBorderTop);
    rowLL2.createCell(5).setCellStyle(styleBorderTop);
    rowLL2.createCell(6).setCellStyle(styleBorderTop);
    rowLL2.createCell(7).setCellStyle(styleBorderTop);
    rowLL2.createCell(8).setCellStyle(styleBorderTop);
    //        rowLL2.createCell(9).setCellStyle(styleBorderTop);

    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 1) + ":B" + (count2 + 1)));
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 2) + ":B" + (count2 + 2)));
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 3) + ":B" + (count2 + 3)));
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A" + (count2 + 4) + ":B" + (count2 + 4)));

    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 1) + ":B" + (count + 1)));
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 2) + ":B" + (count + 2)));
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 3) + ":B" + (count + 3)));
    sheet.addMergedRegion(CellRangeAddress.valueOf("A" + (count + 4) + ":B" + (count + 4)));
}

From source file:com.smi.travel.controller.excel.checking.airticket.RefundAirsummary.java

private void getRefundTicketDetail(HSSFWorkbook wb, List refundTicket) {
    String sheetName = "refund ticket detail";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    // set Header Report (Row 1)
    HSSFCellStyle styleC11 = wb.createCellStyle();
    HSSFRow row01 = sheet.createRow(0);/*from   ww w  .jav  a 2s.c om*/
    HSSFCell cell01 = row01.createCell(0);
    cell01.setCellValue("List Refund Ticket Detail");
    styleC11.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell01.setCellStyle(styleC11);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A1:G1"));

    // Set align Text
    HSSFDataFormat currency = wb.createDataFormat();
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);
    HSSFCellStyle styleAlignRightBorderAllHeaderTable = wb.createCellStyle();
    styleAlignRightBorderAllHeaderTable.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleAlignRightBorderAllHeaderTable.setAlignment(styleAlignRightBorderAllHeaderTable.ALIGN_CENTER);
    styleAlignRightBorderAllHeaderTable.setBorderTop(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderBottom(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderRight(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderLeft(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    HSSFCellStyle styleDetailTable = wb.createCellStyle();
    styleDetailTable.setAlignment(styleDetailTable.ALIGN_LEFT);
    styleDetailTable.setBorderLeft(styleDetailTable.BORDER_THIN);
    styleDetailTable.setBorderRight(styleDetailTable.BORDER_THIN);
    styleDetailTable.setWrapText(true);
    styleDetailTable.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    HSSFCellStyle styleDetailTableNumber = wb.createCellStyle();
    styleDetailTableNumber.setDataFormat(currency.getFormat("#,##0.00"));
    styleDetailTableNumber.setAlignment(styleDetailTableNumber.ALIGN_RIGHT);
    styleDetailTableNumber.setBorderLeft(styleDetailTableNumber.BORDER_THIN);
    styleDetailTableNumber.setBorderRight(styleDetailTableNumber.BORDER_THIN);
    styleDetailTableNumber.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    HSSFCellStyle styleBorderTop = wb.createCellStyle();
    styleBorderTop.setBorderTop(styleBorderTop.BORDER_THIN);

    HSSFCellStyle styletotal = wb.createCellStyle();
    styletotal.setDataFormat(currency.getFormat("#,##0.00"));
    styletotal.setAlignment(styletotal.ALIGN_RIGHT);
    styletotal.setBorderLeft(styletotal.BORDER_THIN);
    styletotal.setBorderRight(styletotal.BORDER_THIN);
    styletotal.setBorderTop(styletotal.BORDER_THIN);
    styletotal.setBorderBottom(styletotal.BORDER_THIN);

    List<RefundTicketView> list = null;

    if (refundTicket != null && refundTicket.size() != 0) {
        System.out.println("Size list : " + refundTicket.size());
        list = refundTicket;
    } else {
        list = null;
    }

    if (refundTicket != null && refundTicket.size() != 0) {
        RefundTicketView refund = new RefundTicketView();
        if (list != null && list.size() != 0) {
            System.out.println("Size list  refund : " + list.size());
            refund = (RefundTicketView) list.get(0);
        } else {
            refund = null;
        }

        // Row 2
        HSSFRow row02 = sheet.createRow(1);
        HSSFCell cell021 = row02.createCell(0);
        cell021.setCellValue("Refund Agent : ");
        cell021.setCellStyle(styleC21);
        HSSFCell cell022 = row02.createCell(1);
        cell022.setCellValue(refund.getRefundagentPage());
        cell022.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
        HSSFCell cell023 = row02.createCell(4);
        cell023.setCellValue("Print By : ");
        cell023.setCellStyle(styleC21);
        HSSFCell cell024 = row02.createCell(5);
        cell024.setCellValue(refund.getPrintbyPage());
        cell024.setCellStyle(styleC22);

        // Row 3
        HSSFRow row03 = sheet.createRow(2);
        HSSFCell cell031 = row03.createCell(0);
        cell031.setCellValue("Refund By : ");
        cell031.setCellStyle(styleC21);
        HSSFCell cell032 = row03.createCell(1);
        cell032.setCellValue(refund.getRefundbyPage());
        cell032.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
        HSSFCell cell033 = row03.createCell(4);
        cell033.setCellValue("Receive : ");
        cell033.setCellStyle(styleC21);
        HSSFCell cell034 = row03.createCell(5);
        cell034.setCellValue(refund.getReceivePage());
        cell034.setCellStyle(styleC22);

        // Row 4
        HSSFRow row04 = sheet.createRow(3);
        HSSFCell cell041 = row04.createCell(0);
        cell041.setCellValue("Passenger : ");
        cell041.setCellStyle(styleC21);
        HSSFCell cell042 = row04.createCell(1);
        cell042.setCellValue(refund.getPassengerPage());
        cell042.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
        HSSFCell cell043 = row04.createCell(4);
        cell043.setCellValue("Paid : ");
        cell043.setCellStyle(styleC21);
        HSSFCell cell044 = row04.createCell(5);
        cell044.setCellValue(refund.getPaidPage());
        cell044.setCellStyle(styleC22);

        // Row 5
        HSSFRow row05 = sheet.createRow(4);
        HSSFCell cell051 = row05.createCell(0);
        cell051.setCellValue("Selector To Be Refund : ");
        cell051.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
        HSSFCell cell052 = row05.createCell(1);
        cell052.setCellValue(refund.getSelectorrefundPage());
        cell052.setCellStyle(styleC22);
        HSSFCell cell053 = row05.createCell(4);
        cell053.setCellValue("Type Print : ");
        cell053.setCellStyle(styleC21);
        sheet.autoSizeColumn(4);
        HSSFCell cell054 = row05.createCell(5);
        cell054.setCellValue(refund.getTypeprintPage());
        cell054.setCellStyle(styleC22);

        // Row 6
        HSSFRow row06 = sheet.createRow(5);
        HSSFCell cell611 = row06.createCell(0);
        cell611.setCellValue("Print on : ");
        cell611.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));
        HSSFCell cell621 = row06.createCell(1);
        cell621.setCellValue(refund.getPrintondatePage());
        cell621.setCellStyle(styleC22);
        HSSFCell cell063 = row06.createCell(4);
        cell063.setCellValue("Page : ");
        cell063.setCellStyle(styleC21);
        HSSFCell cell064 = row06.createCell(5);
        cell064.setCellValue("1 ");
        cell064.setCellStyle(styleC22);

        // Header Table
        HSSFRow row6 = sheet.createRow(8);
        HSSFCell cell61 = row6.createCell(0);
        cell61.setCellValue("Refund No");
        cell61.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(0);
        HSSFCell cell62 = row6.createCell(1);
        cell62.setCellValue("Refund Date");
        cell62.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(1);
        HSSFCell cell63 = row6.createCell(2);
        cell63.setCellValue("Air");
        sheet.autoSizeColumn(2);
        cell63.setCellStyle(styleAlignRightBorderAllHeaderTable);
        HSSFCell cell65 = row6.createCell(3);
        cell65.setCellValue("Doc No");
        cell65.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(3);
        HSSFCell cell66 = row6.createCell(4);
        cell66.setCellValue("Airline Agent");
        cell66.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(5);
        HSSFCell cell67 = row6.createCell(5);
        cell67.setCellValue("Agent");
        cell67.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(5);
        HSSFCell cell677 = row6.createCell(6);
        cell677.setCellValue("Passenger");
        cell677.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(6);
        HSSFCell cell68 = row6.createCell(7);
        cell68.setCellValue("Sector Refund");
        cell68.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(7);
        HSSFCell cell69 = row6.createCell(8);
        cell69.setCellValue("Receive Airline");
        cell69.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(8);
        HSSFCell cell71 = row6.createCell(9);
        cell71.setCellValue("Receive Date");
        cell71.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(9);
        HSSFCell cell72 = row6.createCell(10);
        cell72.setCellValue("Pay No");
        cell72.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(10);
        HSSFCell cell73 = row6.createCell(11);
        cell73.setCellValue("Export");
        cell73.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(11);
        HSSFCell cell74 = row6.createCell(12);
        cell74.setCellValue("Pay Date");
        cell74.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(12);
        HSSFCell cell75 = row6.createCell(13);
        cell75.setCellValue("Pay Customer");
        cell75.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(13);
        HSSFCell cell76 = row6.createCell(14);
        cell76.setCellValue("Airline Comm");
        cell76.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(14);
        HSSFCell cell77 = row6.createCell(15);
        cell77.setCellValue("Profit");
        cell77.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(15);
        HSSFCell cell78 = row6.createCell(16);
        cell78.setCellValue("Invoice");
        cell78.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(16);
        HSSFCell cell79 = row6.createCell(17);
        cell79.setCellValue("Receipt");
        cell79.setCellStyle(styleAlignRightBorderAllHeaderTable);
        sheet.autoSizeColumn(17);

        List<RefundTicketView> listRefund = refundTicket;

        for (int r = 0; r < listRefund.size(); r++) {
            System.out.println("Refund No: " + listRefund.get(r).getRefundno());
        }

        int count = 9 + listRefund.size();
        int startSum = 1;
        int endSum = 1;
        int numSum = 0;

        for (int r = 9; r < count; r++) {
            HSSFRow row = sheet.createRow(r);
            HSSFCell cell1 = row.createCell(0);
            cell1.setCellValue(listRefund.get(r - 9).getRefundno());
            cell1.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(0);
            HSSFCell cell2 = row.createCell(1);
            cell2.setCellValue(listRefund.get(r - 9).getRefunddate());
            cell2.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(1);
            HSSFCell cell3 = row.createCell(2);
            cell3.setCellValue(listRefund.get(r - 9).getAir());
            cell3.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(2);
            HSSFCell cell4 = row.createCell(3);
            cell4.setCellValue(listRefund.get(r - 9).getDocno());
            cell4.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(3);
            HSSFCell cell55 = row.createCell(4);
            cell55.setCellValue(listRefund.get(r - 9).getAirlineagentname());
            cell55.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(4);
            HSSFCell cell5 = row.createCell(5);
            cell5.setCellValue(listRefund.get(r - 9).getAgent());
            cell5.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(5);
            HSSFCell cell6 = row.createCell(6);
            cell6.setCellValue(listRefund.get(r - 9).getPassenger());
            cell6.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(6);
            HSSFCell cell7 = row.createCell(7);
            cell7.setCellValue(listRefund.get(r - 9).getSectorrefund());
            cell7.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(7);
            HSSFCell cell8 = row.createCell(8);
            System.out.println(
                    "(listRefund.get(r-9).getReceiveairline() : " + listRefund.get(r - 9).getReceiveairline());
            BigDecimal cancel = new BigDecimal((listRefund.get(r - 9).getReceiveairline() == null)
                    || ("".equalsIgnoreCase(listRefund.get(r - 9).getReceiveairline())) ? "0"
                            : listRefund.get(r - 9).getReceiveairline());
            cell8.setCellValue((cancel != null) ? cancel.doubleValue() : new BigDecimal("0").doubleValue());
            cell8.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(8);
            HSSFCell cell9 = row.createCell(9);
            cell9.setCellValue(listRefund.get(r - 9).getReceivedate());
            cell9.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(9);
            HSSFCell cell10 = row.createCell(10);
            cell10.setCellValue(listRefund.get(r - 9).getPayno());
            cell10.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(10);
            HSSFCell cell11 = row.createCell(11);
            cell11.setCellValue(listRefund.get(r - 9).getExport());
            cell11.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(11);
            HSSFCell cell12 = row.createCell(12);
            cell12.setCellValue(listRefund.get(r - 9).getPaydate());
            cell12.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(12);
            HSSFCell cell13 = row.createCell(13);
            BigDecimal payc = new BigDecimal(listRefund.get(r - 9).getPaycustomer());
            cell13.setCellValue((payc != null) ? payc.doubleValue() : new BigDecimal("0").doubleValue());
            cell13.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(13);
            HSSFCell cell14 = row.createCell(14);
            BigDecimal wait = new BigDecimal(listRefund.get(r - 9).getAirlinecomm());
            cell14.setCellValue((wait != null) ? wait.doubleValue() : new BigDecimal("0").doubleValue());
            cell14.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(14);
            HSSFCell cell15 = row.createCell(15);
            BigDecimal profit = new BigDecimal(listRefund.get(r - 9).getProfit());
            cell15.setCellValue((profit != null) ? profit.doubleValue() : new BigDecimal("0").doubleValue());
            cell15.setCellStyle(styleDetailTableNumber);
            sheet.autoSizeColumn(15);
            HSSFCell cell16 = row.createCell(16);
            cell16.setCellValue(listRefund.get(r - 9).getInvoice());
            cell16.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(16);
            HSSFCell cell17 = row.createCell(17);
            cell17.setCellValue(listRefund.get(r - 9).getReceipt());
            cell17.setCellStyle(styleDetailTable);
            sheet.autoSizeColumn(17);

            if (r == (count - 1)) {
                HSSFRow rows = sheet.createRow(r + 1);

                String totalRec = "SUM(I" + 10 + ":I" + (count) + ")";
                String totalPay = "SUM(N" + 10 + ":N" + (count) + ")";
                String totalCom = "SUM(O" + 10 + ":O" + (count) + ")";
                String totalPro = "SUM(P" + 10 + ":P" + (count) + ")";

                HSSFCellStyle styletotalword = wb.createCellStyle();
                styletotalword.setAlignment(styletotal.ALIGN_CENTER);
                styletotalword.setBorderTop(styletotal.BORDER_THIN);
                styletotalword.setBorderBottom(styletotal.BORDER_THIN);

                HSSFCell celldatas01 = rows.createCell(7);
                celldatas01.setCellValue("Total");
                celldatas01.setCellStyle(styletotalword);
                HSSFCell celldatas02 = rows.createCell(8);
                celldatas02.setCellFormula(totalRec);
                celldatas02.setCellStyle(styletotal);
                HSSFCell celldatas03 = rows.createCell(13);
                celldatas03.setCellFormula(totalPay);
                celldatas03.setCellStyle(styletotal);
                HSSFCell celldatas04 = rows.createCell(14);
                celldatas04.setCellFormula(totalCom);
                celldatas04.setCellStyle(styletotal);
                HSSFCell celldatas05 = rows.createCell(15);
                celldatas05.setCellFormula(totalPro);
                celldatas05.setCellStyle(styletotal);

                rows.createCell(0).setCellStyle(styleBorderTop);
                rows.createCell(1).setCellStyle(styleBorderTop);
                rows.createCell(2).setCellStyle(styleBorderTop);
                rows.createCell(3).setCellStyle(styleBorderTop);
                rows.createCell(4).setCellStyle(styleBorderTop);
                rows.createCell(5).setCellStyle(styleBorderTop);
                rows.createCell(6).setCellStyle(styleBorderTop);

                rows.createCell(9).setCellStyle(styleBorderTop);
                rows.createCell(10).setCellStyle(styleBorderTop);
                rows.createCell(11).setCellStyle(styleBorderTop);
                rows.createCell(12).setCellStyle(styleBorderTop);
                rows.createCell(16).setCellStyle(styleBorderTop);
                rows.createCell(17).setCellStyle(styletotal);

                HSSFRow rowL = sheet.createRow(r + 2);
                rowL.createCell(0).setCellStyle(styleBorderTop);
                rowL.createCell(1).setCellStyle(styleBorderTop);
                rowL.createCell(2).setCellStyle(styleBorderTop);
                rowL.createCell(3).setCellStyle(styleBorderTop);
                rowL.createCell(4).setCellStyle(styleBorderTop);
                rowL.createCell(5).setCellStyle(styleBorderTop);
                rowL.createCell(6).setCellStyle(styleBorderTop);
                rowL.createCell(9).setCellStyle(styleBorderTop);
                rowL.createCell(10).setCellStyle(styleBorderTop);
                rowL.createCell(11).setCellStyle(styleBorderTop);
                rowL.createCell(12).setCellStyle(styleBorderTop);
                rowL.createCell(16).setCellStyle(styleBorderTop);
                rowL.createCell(17).setCellStyle(styleBorderTop);
            }
        }
    } else {
        HSSFRow row02_2 = sheet.createRow(1);
        HSSFCell cell021 = row02_2.createCell(0);
        cell021.setCellValue("No Data");
        cell021.setCellStyle(styleC21);
        sheet.autoSizeColumn(0);
    }
}

From source file:com.smi.travel.controller.excel.checking.airticket.TicketFareSummary.java

public void genTicketFareAirlineReport(HSSFWorkbook wb, List TicketFare) {
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    String sheetName = "Sheet1";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);
    HSSFDataFormat currency = wb.createDataFormat();

    TicketFareReport dataheader = new TicketFareReport();

    if ((TicketFare != null) && (TicketFare.size() != 0)) {
        dataheader = (TicketFareReport) TicketFare.get(0);
    }//from  w w  w.ja  v  a  2  s.  c  o m

    // set Header Report (Row 1)
    HSSFCellStyle styleC1 = wb.createCellStyle();
    HSSFRow row1 = sheet.createRow(0);
    HSSFCell cellStart = row1.createCell(0);
    cellStart.setCellValue("List Ticket Fare Airline");
    styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cellStart.setCellStyle(styleC1);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A1:F1"));

    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    // Row 2
    HSSFRow row2 = sheet.createRow(1);
    HSSFCell cell21 = row2.createCell(0);
    cell21.setCellValue("Print By : ");
    cell21.setCellStyle(styleC21);
    HSSFCell cell22 = row2.createCell(1);
    cell22.setCellValue(dataheader.getPrintby());
    cell22.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell23 = row2.createCell(4);
    cell23.setCellValue("Air Line : ");
    cell23.setCellStyle(styleC21);
    HSSFCell cell24 = row2.createCell(5);
    cell24.setCellValue(dataheader.getAirline());
    cell24.setCellStyle(styleC22);

    // Row 3
    HSSFRow row3 = sheet.createRow(2);
    HSSFCell cell31 = row3.createCell(0);
    cell31.setCellValue("Department : ");
    cell31.setCellStyle(styleC21);
    HSSFCell cell32 = row3.createCell(1);
    cell32.setCellValue(dataheader.getHeaddepartment());
    cell32.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell33 = row3.createCell(4);
    cell33.setCellValue("Ticket Buy : ");
    cell33.setCellStyle(styleC21);
    HSSFCell cell34 = row3.createCell(5);
    cell34.setCellValue(dataheader.getTickettype());
    cell34.setCellStyle(styleC22);

    // Row 4
    HSSFRow row4 = sheet.createRow(3);
    HSSFCell cell41 = row4.createCell(0);
    cell41.setCellValue("Term Pay : ");
    cell41.setCellStyle(styleC21);
    HSSFCell cell42 = row4.createCell(1);
    cell42.setCellValue(dataheader.getHeadtermpay());
    cell42.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
    HSSFCell cell43 = row4.createCell(4);
    cell43.setCellValue("Ticket Type : ");
    cell43.setCellStyle(styleC21);
    HSSFCell cell44 = row4.createCell(5);
    cell44.setCellValue(dataheader.getTicketbuy());
    cell44.setCellStyle(styleC22);

    // Row 5
    HSSFRow row5 = sheet.createRow(4);
    HSSFCell cell51 = row5.createCell(0);
    cell51.setCellValue("Sale Staff : ");
    cell51.setCellStyle(styleC21);
    HSSFCell cell52 = row5.createCell(1);
    cell52.setCellValue(dataheader.getHeadstaff());
    cell52.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell53 = row5.createCell(4);
    cell53.setCellValue("Invoice Date : ");
    cell53.setCellStyle(styleC21);
    HSSFCell cell54 = row5.createCell(5);
    cell54.setCellValue(dataheader.getInvoicedatefrom() + " to " + dataheader.getInvoicedateto());
    cell54.setCellStyle(styleC22);

    // Row 6
    HSSFRow row06 = sheet.createRow(5);
    HSSFCell cell061 = row06.createCell(0);
    cell061.setCellValue("Report of : ");
    cell061.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A6:D6"));
    HSSFCell cell062 = row06.createCell(4);
    if (!"".equalsIgnoreCase(dataheader.getFrom())) {
        cell062.setCellValue(dataheader.getFrom());
        cell062.setCellStyle(styleC22);
    }
    HSSFCell cell063 = row06.createCell(5);
    if (!"".equalsIgnoreCase(dataheader.getTo())) {
        cell063.setCellValue("to  " + dataheader.getTo());
        cell063.setCellStyle(styleC22);
    }

    // Row 7
    HSSFRow row07 = sheet.createRow(6);
    HSSFCell cell071 = row07.createCell(0);
    cell071.setCellValue("Print on : ");
    cell071.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A7:D7"));
    HSSFCell cell072 = row07.createCell(4);
    cell072.setCellValue(dataheader.getPrintondate());
    cell072.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("E7:F7"));

    // Header Table
    HSSFCellStyle styleC3Center = wb.createCellStyle();
    styleC3Center.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3Center.setAlignment(styleC3Center.ALIGN_CENTER);
    styleC3Center.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFRow row6 = sheet.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Air");
    cell61.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Document Number");
    cell62.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(1);
    HSSFCell cell622 = row6.createCell(2);
    cell622.setCellValue("Ref No");
    cell622.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(2);
    HSSFCell cell63 = row6.createCell(3);
    cell63.setCellValue("Issue Date");
    sheet.autoSizeColumn(3);
    cell63.setCellStyle(styleC3Center);
    HSSFCell cell64 = row6.createCell(4);
    cell64.setCellValue("Department");
    cell64.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(4);
    HSSFCell cell65 = row6.createCell(5);
    cell65.setCellValue("Staff");
    cell65.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(5);
    HSSFCell cell66 = row6.createCell(6);
    cell66.setCellValue("Term Pay");
    cell66.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(6);

    HSSFCellStyle styleC3Right = wb.createCellStyle();
    styleC3Right.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3Right.setAlignment(styleC3Right.ALIGN_RIGHT);
    styleC3Right.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFCell cell67 = row6.createCell(7);
    cell67.setCellValue("Tax");
    cell67.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(7);
    HSSFCell cell68 = row6.createCell(8);
    cell68.setCellValue("Actual Commission");
    cell68.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(8);
    HSSFCell cell69 = row6.createCell(9);
    cell69.setCellValue("Insurance");
    cell69.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(9);
    HSSFCell cell70 = row6.createCell(10);
    cell70.setCellValue("Net Sales");
    cell70.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(10);

    HSSFCell cell71 = row6.createCell(11);
    cell71.setCellValue("Vat");
    cell71.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(11);

    HSSFCell cell711 = row6.createCell(12);
    cell711.setCellValue("Wht");
    cell711.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(12);

    HSSFCell cell72 = row6.createCell(13);
    cell72.setCellValue("Invoice No.");
    cell72.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(13);

    HSSFCell cell73 = row6.createCell(14);
    cell73.setCellValue("Invoice Amount");
    cell73.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(14);
    HSSFCell cell74 = row6.createCell(15);
    cell74.setCellValue("Balance Payable");
    cell74.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(15);

    //Detail of Table
    int count = 9;
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC22.ALIGN_CENTER);
    styleC23.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC23.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC24 = wb.createCellStyle();
    styleC24.setAlignment(styleC24.ALIGN_LEFT);
    styleC24.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC24.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setAlignment(styleC25.ALIGN_RIGHT);
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));
    for (int i = 0; i < TicketFare.size(); i++) {

        //            System.out.println("get size : "+ i);
        TicketFareReport data = (TicketFareReport) TicketFare.get(i);
        HSSFRow row = sheet.createRow(count + i);
        HSSFCell cell0 = row.createCell(0);
        cell0.setCellValue(data.getAir());
        cell0.setCellStyle(styleC24);
        HSSFCell cell1 = row.createCell(1);
        cell1.setCellValue(data.getDocno());
        cell1.setCellStyle(styleC24);
        HSSFCell cell13 = row.createCell(2);
        cell13.setCellValue(data.getRefno());
        cell13.setCellStyle(styleC24);
        HSSFCell cell2 = row.createCell(3);
        cell2.setCellValue(data.getIssuedate());
        cell2.setCellStyle(styleC23);
        HSSFCell cell3 = row.createCell(4);
        cell3.setCellValue(data.getDepartment());
        cell3.setCellStyle(styleC24);
        HSSFCell cell4 = row.createCell(5);
        cell4.setCellValue(data.getStaff());
        cell4.setCellStyle(styleC24);
        HSSFCell cell5 = row.createCell(6);
        cell5.setCellValue(data.getTermpay());
        cell5.setCellStyle(styleC24);
        HSSFCell cell6 = row.createCell(7);
        cell6.setCellValue(
                !"".equalsIgnoreCase(data.getTax()) ? new BigDecimal(data.getTax()).doubleValue() : 0);
        cell6.setCellStyle(styleC25);
        HSSFCell cell7 = row.createCell(8);
        cell7.setCellValue(
                !"".equalsIgnoreCase(data.getTicketcom()) ? new BigDecimal(data.getTicketcom()).doubleValue()
                        : 0);
        cell7.setCellStyle(styleC25);
        HSSFCell cell8 = row.createCell(9);
        cell8.setCellValue(
                !"".equalsIgnoreCase(data.getIns()) ? new BigDecimal(data.getIns()).doubleValue() : 0);
        cell8.setCellStyle(styleC25);
        HSSFCell cell9 = row.createCell(10);
        cell9.setCellValue(
                !"".equalsIgnoreCase(data.getNetsale()) ? new BigDecimal(data.getNetsale()).doubleValue() : 0);
        cell9.setCellStyle(styleC25);
        HSSFCell cell10 = row.createCell(11);
        cell10.setCellValue(
                !"".equalsIgnoreCase(data.getVat()) ? new BigDecimal(data.getVat()).doubleValue() : 0);
        cell10.setCellStyle(styleC25);
        HSSFCell cell14 = row.createCell(12);
        cell14.setCellValue(
                !"".equalsIgnoreCase(data.getWht()) ? new BigDecimal(data.getWht()).doubleValue() : 0);
        cell14.setCellStyle(styleC25);
        HSSFCell cell11 = row.createCell(13);
        cell11.setCellValue(data.getInvno());
        cell11.setCellStyle(styleC24);
        HSSFCell cell12 = row.createCell(14);
        cell12.setCellValue(
                !"".equalsIgnoreCase(data.getInvamount()) ? new BigDecimal(data.getInvamount()).doubleValue()
                        : 0);
        cell12.setCellStyle(styleC25);
        HSSFCell cell15 = row.createCell(15);
        cell15.setCellValue(
                !"".equalsIgnoreCase(data.getBalance()) ? new BigDecimal(data.getBalance()).doubleValue() : 0);
        cell15.setCellStyle(styleC25);
        if (i == (TicketFare.size() - 1)) {
            row = sheet.createRow(count + i + 1);
            for (int k = 0; k < 8; k++) {
                HSSFCellStyle styleSum = wb.createCellStyle();
                styleSum.setAlignment(styleC24.ALIGN_RIGHT);
                styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
                styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
                HSSFCell cellSum = row.createCell(k);
                if (k == 0) {
                    styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
                }
                cellSum.setCellStyle(styleSum);
            }
            HSSFCellStyle styleSum = wb.createCellStyle();
            styleSum.setAlignment(styleSum.ALIGN_RIGHT);
            styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderRight(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            styleSum.setDataFormat(currency.getFormat("#,##0.00"));

            String sumTax = "SUM(H" + 10 + ":H" + (count + i + 1) + ")";
            String sumActComm = "SUM(I" + 10 + ":I" + (count + i + 1) + ")";
            String sumInsurance = "SUM(J" + 10 + ":J" + (count + i + 1) + ")";
            String sumNetSales = "SUM(K" + 10 + ":K" + (count + i + 1) + ")";
            String sumVat = "SUM(L" + 10 + ":L" + (count + i + 1) + ")";
            String sumWht = "SUM(M" + 10 + ":M" + (count + i + 1) + ")";
            String sumInvAmount = "SUM(O" + 10 + ":O" + (count + i + 1) + ")";
            String sumBalance = "SUM(P" + 10 + ":P" + (count + i + 1) + ")";

            HSSFCell cell5Sum = row.createCell(5);
            cell5Sum.setCellValue("Total");
            cell5Sum.setCellStyle(styleSum);
            HSSFCell cell111Sum = row.createCell(6);
            cell111Sum.setCellStyle(styleSum);
            HSSFCell cell6Sum = row.createCell(7);
            cell6Sum.setCellFormula(sumTax);
            cell6Sum.setCellStyle(styleSum);
            HSSFCell cell7Sum = row.createCell(8);
            cell7Sum.setCellFormula(sumActComm);
            cell7Sum.setCellStyle(styleSum);
            HSSFCell cell8Sum = row.createCell(9);
            cell8Sum.setCellFormula(sumInsurance);
            cell8Sum.setCellStyle(styleSum);
            HSSFCell cell9Sum = row.createCell(10);
            cell9Sum.setCellFormula(sumNetSales);
            cell9Sum.setCellStyle(styleSum);
            HSSFCell cell10Sum = row.createCell(11);
            cell10Sum.setCellFormula(sumVat);
            cell10Sum.setCellStyle(styleSum);
            HSSFCell cell101Sum = row.createCell(12);
            cell101Sum.setCellFormula(sumWht);
            cell101Sum.setCellStyle(styleSum);
            HSSFCell cell11Sum = row.createCell(13);
            cell11Sum.setCellStyle(styleSum);
            HSSFCell cell12Sum = row.createCell(14);
            cell12Sum.setCellFormula(sumInvAmount);
            cell12Sum.setCellStyle(styleSum);
            HSSFCell cell13Sum = row.createCell(15);
            cell13Sum.setCellFormula(sumBalance);
            cell13Sum.setCellStyle(styleSum);
        }

    }
    for (int j = 0; j < 15; j++) {
        sheet.autoSizeColumn(j);
    }

}

From source file:com.smi.travel.controller.excel.checking.airticket.TicketFareSummary.java

public void genTicketFareInvoiceReport(HSSFWorkbook wb, List TicketFare) {
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    String sheetName = "Sheet1";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);
    TicketFareReport dataheader = new TicketFareReport();

    HSSFDataFormat currency = wb.createDataFormat();
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    styleC21.setDataFormat(currency.getFormat("#,##0.00"));
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    if (!TicketFare.isEmpty()) {
        dataheader = (TicketFareReport) TicketFare.get(0);

        // set Header Report (Row 1)
        HSSFCellStyle styleC1 = wb.createCellStyle();
        HSSFRow row1 = sheet.createRow(0);
        HSSFCell cell1 = row1.createCell(0);
        cell1.setCellValue("List Ticket Fare Invoice");
        styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
        cell1.setCellStyle(styleC1);/*from w w  w.  j a v  a  2  s .  com*/
        sheet.addMergedRegion(CellRangeAddress.valueOf("A1:F1"));

        // Row 2
        HSSFRow row2 = sheet.createRow(1);
        HSSFCell cell21 = row2.createCell(0);
        cell21.setCellValue("Print By : ");
        cell21.setCellStyle(styleC21);
        HSSFCell cell22 = row2.createCell(1);
        cell22.setCellValue(dataheader.getPrintby());
        cell22.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
        HSSFCell cell23 = row2.createCell(4);
        cell23.setCellValue("Airline : ");
        cell23.setCellStyle(styleC21);
        HSSFCell cell24 = row2.createCell(5);
        cell24.setCellValue(dataheader.getAirline());
        cell24.setCellStyle(styleC22);

        // Row 3
        HSSFRow row3 = sheet.createRow(2);
        HSSFCell cell31 = row3.createCell(0);
        cell31.setCellValue("Department : ");
        cell31.setCellStyle(styleC21);
        HSSFCell cell32 = row3.createCell(1);
        cell32.setCellValue(dataheader.getHeaddepartment());
        cell32.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
        HSSFCell cell33 = row3.createCell(4);
        cell33.setCellValue("Ticket Type : ");
        cell33.setCellStyle(styleC21);
        HSSFCell cell34 = row3.createCell(5);
        cell34.setCellValue(dataheader.getTickettype());
        cell34.setCellStyle(styleC22);

        // Row 4
        HSSFRow row4 = sheet.createRow(3);
        HSSFCell cell41 = row4.createCell(0);
        cell41.setCellValue("Term Pay : ");
        cell41.setCellStyle(styleC21);
        HSSFCell cell42 = row4.createCell(1);
        cell42.setCellValue(dataheader.getHeadtermpay());
        cell42.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
        HSSFCell cell43 = row4.createCell(4);
        cell43.setCellValue("Ticket Buy : ");
        cell43.setCellStyle(styleC21);
        HSSFCell cell44 = row4.createCell(5);
        cell44.setCellValue(dataheader.getTicketbuy());
        cell44.setCellStyle(styleC22);

        // Row 5
        HSSFRow row5 = sheet.createRow(4);
        HSSFCell cell51 = row5.createCell(0);
        cell51.setCellValue("Sale Staff : ");
        cell51.setCellStyle(styleC21);
        HSSFCell cell52 = row5.createCell(1);
        cell52.setCellValue(dataheader.getHeadstaff());
        cell52.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
        HSSFCell cell53 = row5.createCell(4);
        cell53.setCellValue("Invoice Date : ");
        cell53.setCellStyle(styleC21);
        HSSFCell cell54 = row5.createCell(5);
        cell54.setCellValue(dataheader.getInvoicedatefrom() + " to " + dataheader.getInvoicedateto());
        cell54.setCellStyle(styleC22);

        // Row 6
        HSSFRow row06 = sheet.createRow(5);
        HSSFCell cell061 = row06.createCell(0);
        cell061.setCellValue("Report of : ");
        cell061.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A6:D6"));
        HSSFCell cell062 = row06.createCell(4);
        if (!"".equalsIgnoreCase(dataheader.getFrom())) {
            cell062.setCellValue(dataheader.getFrom());
            cell062.setCellStyle(styleC22);
        }
        HSSFCell cell063 = row06.createCell(5);
        if (!"".equalsIgnoreCase(dataheader.getTo())) {
            cell063.setCellValue("to  " + dataheader.getTo());
            cell063.setCellStyle(styleC22);
        }

        // Row 7
        HSSFRow row07 = sheet.createRow(6);
        HSSFCell cell071 = row07.createCell(0);
        cell071.setCellValue("Print on : ");
        cell071.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A7:D7"));
        HSSFCell cell072 = row07.createCell(4);
        cell072.setCellValue(dataheader.getPrintondate());
        cell072.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("E7:F7"));

    }
    // Header Table
    HSSFCellStyle styleC3 = wb.createCellStyle();
    styleC3.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3.setAlignment(styleC3.ALIGN_CENTER);
    styleC3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFRow row6 = sheet.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Inv. No.");
    cell61.setCellStyle(styleC3);
    sheet.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Inv. Date");
    cell62.setCellStyle(styleC3);
    sheet.autoSizeColumn(1);
    HSSFCell cell63 = row6.createCell(2);
    cell63.setCellValue("Department");
    sheet.autoSizeColumn(2);
    cell63.setCellStyle(styleC3);
    HSSFCell cell64 = row6.createCell(3);
    cell64.setCellValue("Staff");
    cell64.setCellStyle(styleC3);
    sheet.autoSizeColumn(3);
    HSSFCell cell65 = row6.createCell(4);
    cell65.setCellValue("Term Pay");
    cell65.setCellStyle(styleC3);
    sheet.autoSizeColumn(4);
    HSSFCell cell66 = row6.createCell(5);
    cell66.setCellValue("Passenger");
    cell66.setCellStyle(styleC3);
    sheet.autoSizeColumn(5);
    HSSFCell cell67 = row6.createCell(6);
    cell67.setCellValue("Air");
    cell67.setCellStyle(styleC3);
    sheet.autoSizeColumn(6);
    HSSFCell cell68 = row6.createCell(7);
    cell68.setCellValue("Document Number");
    cell68.setCellStyle(styleC3);
    sheet.autoSizeColumn(7);
    HSSFCell cell688 = row6.createCell(8);
    cell688.setCellValue("Ref No");
    cell688.setCellStyle(styleC3);
    sheet.autoSizeColumn(8);
    HSSFCell cell69 = row6.createCell(9);
    cell69.setCellValue("Issue Date");
    cell69.setCellStyle(styleC3);
    sheet.autoSizeColumn(9);
    HSSFCell cell70 = row6.createCell(10);
    cell70.setCellValue("Net Sales");
    cell70.setCellStyle(styleC3);
    sheet.autoSizeColumn(10);
    HSSFCell cell71 = row6.createCell(11);
    cell71.setCellValue("Tax");
    cell71.setCellStyle(styleC3);
    sheet.autoSizeColumn(11);
    HSSFCell cell72 = row6.createCell(12);
    cell72.setCellValue("Insurance");
    cell72.setCellStyle(styleC3);
    sheet.autoSizeColumn(12);
    HSSFCell cell73 = row6.createCell(13);
    cell73.setCellValue("Actual Commission");
    cell73.setCellStyle(styleC3);
    sheet.autoSizeColumn(13);
    HSSFCell cell733 = row6.createCell(14);
    cell733.setCellValue("Wht");
    cell733.setCellStyle(styleC3);
    sheet.autoSizeColumn(14);
    HSSFCell cell74 = row6.createCell(15);
    cell74.setCellValue("Inv. Amount");
    cell74.setCellStyle(styleC3);
    sheet.autoSizeColumn(15);

    //Detail of Table
    int count = 9;
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC23.ALIGN_CENTER);
    styleC23.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC23.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC24 = wb.createCellStyle();
    styleC24.setAlignment(styleC24.ALIGN_LEFT);
    styleC24.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC24.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setAlignment(styleC25.ALIGN_RIGHT);
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));
    for (int i = 0; i < TicketFare.size(); i++) {
        TicketFareReport data = (TicketFareReport) TicketFare.get(i);
        HSSFRow row = sheet.createRow(count + i);

        HSSFCell celldata0 = row.createCell(0);
        celldata0.setCellValue(data.getInvno());
        celldata0.setCellStyle(styleC24);

        HSSFCell celldata1 = row.createCell(1);
        celldata1.setCellValue(data.getInvdate());
        celldata1.setCellStyle(styleC24);

        HSSFCell celldata2 = row.createCell(2);
        celldata2.setCellValue(data.getDepartment());
        celldata2.setCellStyle(styleC24);

        HSSFCell celldata3 = row.createCell(3);
        celldata3.setCellValue(data.getStaff());
        celldata3.setCellStyle(styleC24);

        HSSFCell celldata4 = row.createCell(4);
        celldata4.setCellValue(data.getTermpay());
        celldata4.setCellStyle(styleC24);

        HSSFCell celldata5 = row.createCell(5);
        celldata5.setCellValue(data.getPassenger());
        celldata5.setCellStyle(styleC24);

        HSSFCell celldata6 = row.createCell(6);
        celldata6.setCellValue(data.getAir());
        celldata6.setCellStyle(styleC24);

        HSSFCell celldata7 = row.createCell(7);
        celldata7.setCellValue(data.getDocno());
        celldata7.setCellStyle(styleC24);

        HSSFCell celldata14 = row.createCell(8);
        celldata14.setCellValue(data.getRefno());
        celldata14.setCellStyle(styleC24);

        //set data 
        HSSFCell celldata8 = row.createCell(9);
        celldata8.setCellValue(data.getIssuedate());
        celldata8.setCellStyle(styleC23);

        HSSFCell celldata9 = row.createCell(10);
        celldata9.setCellValue("".equalsIgnoreCase(String.valueOf(data.getNetsale())) ? 0
                : new BigDecimal(data.getNetsale()).doubleValue());
        celldata9.setCellStyle(styleC25);

        HSSFCell celldata10 = row.createCell(11);
        celldata10.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTax())) ? 0
                : new BigDecimal(data.getTax()).doubleValue());
        celldata10.setCellStyle(styleC25);

        HSSFCell celldata11 = row.createCell(12);
        celldata11.setCellValue("".equalsIgnoreCase(String.valueOf(data.getIns())) ? 0
                : new BigDecimal(data.getIns()).doubleValue());
        celldata11.setCellStyle(styleC25);

        HSSFCell celldata12 = row.createCell(13);
        celldata12.setCellValue("".equalsIgnoreCase(String.valueOf(data.getActcom())) ? 0
                : new BigDecimal(data.getActcom()).doubleValue());
        celldata12.setCellStyle(styleC25);

        HSSFCell celldata15 = row.createCell(14);
        celldata15.setCellValue("".equalsIgnoreCase(String.valueOf(data.getWht())) ? 0
                : new BigDecimal(data.getWht()).doubleValue());
        celldata15.setCellStyle(styleC25);

        HSSFCell celldata13 = row.createCell(15);
        celldata13.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvamount())) ? 0
                : new BigDecimal(data.getInvamount()).doubleValue());
        celldata13.setCellStyle(styleC25);

        if (i == (TicketFare.size() - 1)) {
            row = sheet.createRow(count + i + 1);
            for (int k = 0; k < 10; k++) {
                HSSFCellStyle styleSum = wb.createCellStyle();
                styleSum.setAlignment(styleC24.ALIGN_RIGHT);
                styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
                styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
                HSSFCell cellSum = row.createCell(k);
                if (k == 0) {
                    styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
                }
                cellSum.setCellStyle(styleSum);
            }
            HSSFCellStyle styleSum = wb.createCellStyle();
            styleSum.setAlignment(styleSum.ALIGN_RIGHT);
            styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderRight(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            styleSum.setDataFormat(currency.getFormat("#,##0.00"));

            String netsalesTotal = "SUM(K" + 10 + ":K" + (count + i + 1) + ")";
            String taxTotal = "SUM(L" + 10 + ":L" + (count + i + 1) + ")";
            String insTotal = "SUM(M" + 10 + ":M" + (count + i + 1) + ")";
            String actcommTotal = "SUM(N" + 10 + ":N" + (count + i + 1) + ")";
            String sumWht = "SUM(O" + 10 + ":O" + (count + i + 1) + ")";
            String invamountTotal = "SUM(P" + 10 + ":P" + (count + i + 1) + ")";

            HSSFCell cellTotal00 = row.createCell(9);
            cellTotal00.setCellValue("Total");
            cellTotal00.setCellStyle(styleSum);
            HSSFCell cellTotal01 = row.createCell(10);
            cellTotal01.setCellFormula(netsalesTotal);
            cellTotal01.setCellStyle(styleSum);
            HSSFCell cellTotal02 = row.createCell(11);
            cellTotal02.setCellFormula(taxTotal);
            cellTotal02.setCellStyle(styleSum);
            HSSFCell cellTotal03 = row.createCell(12);
            cellTotal03.setCellFormula(insTotal);
            cellTotal03.setCellStyle(styleSum);
            HSSFCell cellTotal04 = row.createCell(13);
            cellTotal04.setCellFormula(actcommTotal);
            cellTotal04.setCellStyle(styleSum);
            HSSFCell cellTotal06 = row.createCell(14);
            cellTotal06.setCellFormula(sumWht);
            cellTotal06.setCellStyle(styleSum);
            HSSFCell cellTotal05 = row.createCell(15);
            cellTotal05.setCellFormula(invamountTotal);
            cellTotal05.setCellStyle(styleSum);
        }
    }
    for (int j = 0; j < 15; j++) {
        sheet.autoSizeColumn(j);
    }
}

From source file:com.smi.travel.controller.excel.checking.airticket.TicketFareSummary.java

private void genTicketFareAgentReport(HSSFWorkbook wb, List TicketAgent) {
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    String sheetName = "Sheet1";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);

    TicketFareReport dataheader = new TicketFareReport();

    HSSFDataFormat currency = wb.createDataFormat();
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    if (TicketAgent.size() > 0) {
        dataheader = (TicketFareReport) TicketAgent.get(0);
    }/*ww  w .j  av  a 2  s .  c  o  m*/

    // set Header Report (Row 1)
    HSSFCellStyle styleC1 = wb.createCellStyle();
    HSSFRow row1 = sheet.createRow(0);
    HSSFCell cellStart = row1.createCell(0);
    cellStart.setCellValue("List Ticket Payment Agent");
    styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cellStart.setCellStyle(styleC1);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A1:F1"));

    // Row 2
    HSSFRow row2 = sheet.createRow(1);
    HSSFCell cell21 = row2.createCell(0);
    cell21.setCellValue("Print By : ");
    cell21.setCellStyle(styleC21);
    HSSFCell cell22 = row2.createCell(1);
    cell22.setCellValue(dataheader.getPrintby());
    cell22.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell23 = row2.createCell(4);
    cell23.setCellValue("Air Line : ");
    cell23.setCellStyle(styleC21);
    HSSFCell cell24 = row2.createCell(5);
    cell24.setCellValue(dataheader.getAirline());
    cell24.setCellStyle(styleC22);

    // Row 3
    HSSFRow row3 = sheet.createRow(2);
    HSSFCell cell31 = row3.createCell(0);
    cell31.setCellValue("Department : ");
    cell31.setCellStyle(styleC21);
    HSSFCell cell32 = row3.createCell(1);
    cell32.setCellValue(dataheader.getHeaddepartment());
    cell32.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell33 = row3.createCell(4);
    cell33.setCellValue("Ticket Type : ");
    cell33.setCellStyle(styleC21);
    HSSFCell cell34 = row3.createCell(5);
    cell34.setCellValue(dataheader.getTickettype());
    cell34.setCellStyle(styleC22);

    // Row 4
    HSSFRow row4 = sheet.createRow(3);
    HSSFCell cell41 = row4.createCell(0);
    cell41.setCellValue("Term Pay : ");
    cell41.setCellStyle(styleC21);
    HSSFCell cell42 = row4.createCell(1);
    cell42.setCellValue(dataheader.getHeadtermpay());
    cell42.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
    HSSFCell cell43 = row4.createCell(4);
    cell43.setCellValue("Ticket Buy : ");
    cell43.setCellStyle(styleC21);
    HSSFCell cell44 = row4.createCell(5);
    cell44.setCellValue(dataheader.getTicketbuy());
    cell44.setCellStyle(styleC22);

    // Row 5
    HSSFRow row5 = sheet.createRow(4);
    HSSFCell cell51 = row5.createCell(0);
    cell51.setCellValue("Sale Staff : ");
    cell51.setCellStyle(styleC21);
    HSSFCell cell52 = row5.createCell(1);
    cell52.setCellValue(dataheader.getHeadstaff());
    cell52.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell53 = row5.createCell(4);
    cell53.setCellValue("Invoice Date : ");
    cell53.setCellStyle(styleC21);
    HSSFCell cell54 = row5.createCell(5);
    cell54.setCellValue(dataheader.getInvoicedatefrom() + " to " + dataheader.getInvoicedateto());
    cell54.setCellStyle(styleC22);

    // Row 6
    HSSFRow row06 = sheet.createRow(5);
    HSSFCell cell061 = row06.createCell(0);
    cell061.setCellValue("Report of : ");
    cell061.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A6:D6"));
    HSSFCell cell062 = row06.createCell(4);
    if (!"".equalsIgnoreCase(dataheader.getFrom())) {
        cell062.setCellValue(dataheader.getFrom());
        cell062.setCellStyle(styleC22);
    }
    HSSFCell cell063 = row06.createCell(5);
    if (!"".equalsIgnoreCase(dataheader.getTo())) {
        cell063.setCellValue("to  " + dataheader.getTo());
        cell063.setCellStyle(styleC22);
    }

    // Row 7
    HSSFRow row07 = sheet.createRow(6);
    HSSFCell cell071 = row07.createCell(0);
    cell071.setCellValue("Print on : ");
    cell071.setCellStyle(styleC21);
    sheet.addMergedRegion(CellRangeAddress.valueOf("A7:D7"));
    HSSFCell cell072 = row07.createCell(4);
    cell072.setCellValue(dataheader.getPrintondate());
    cell072.setCellStyle(styleC22);
    sheet.addMergedRegion(CellRangeAddress.valueOf("E7:F7"));

    // Header Table
    HSSFCellStyle styleC3Center = wb.createCellStyle();
    styleC3Center.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3Center.setAlignment(styleC3Center.ALIGN_CENTER);
    styleC3Center.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3Center.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFRow row6 = sheet.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Invoice No.");
    cell61.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Issue Date");
    cell62.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(1);
    HSSFCell cell63 = row6.createCell(2);
    cell63.setCellValue("Agent");
    cell63.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(2);
    HSSFCell cell631 = row6.createCell(3);
    cell631.setCellValue("Air");
    cell631.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(3);
    HSSFCell cell632 = row6.createCell(4);
    cell632.setCellValue("Doc No");
    cell632.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(4);
    HSSFCell cell633 = row6.createCell(5);
    cell633.setCellValue("Ref No");
    cell633.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(5);
    cell63.setCellStyle(styleC3Center);
    HSSFCell cell65 = row6.createCell(6);
    cell65.setCellValue("Department");
    cell65.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(6);
    HSSFCell cell66 = row6.createCell(7);
    cell66.setCellValue("Staff");
    cell66.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(7);
    HSSFCell cell67 = row6.createCell(8);
    cell67.setCellValue("Term Pay");
    cell67.setCellStyle(styleC3Center);
    sheet.autoSizeColumn(8);

    HSSFCellStyle styleC3Right = wb.createCellStyle();
    styleC3Right.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3Right.setAlignment(styleC3Right.ALIGN_RIGHT);
    styleC3Right.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3Right.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFCell cell68 = row6.createCell(9);
    cell68.setCellValue("Inv. Amount");
    cell68.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(9);
    HSSFCell cell661 = row6.createCell(10);
    cell661.setCellValue("Cost");
    cell661.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(10);
    HSSFCell cell69 = row6.createCell(11);
    cell69.setCellValue("Ticket Comm");
    cell69.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(11);
    HSSFCell cell70 = row6.createCell(12);
    cell70.setCellValue("Sale Price");
    cell70.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(12);
    HSSFCell cell71 = row6.createCell(13);
    cell71.setCellValue("Agent Comm");
    cell71.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(13);
    HSSFCell cell72 = row6.createCell(14);
    cell72.setCellValue("Profit");
    cell72.setCellStyle(styleC3Right);
    sheet.autoSizeColumn(14);

    //Detail of Table
    int count = 9;
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC22.ALIGN_CENTER);
    styleC23.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC23.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC24 = wb.createCellStyle();
    styleC24.setAlignment(styleC24.ALIGN_LEFT);
    styleC24.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC24.setBorderRight(HSSFCellStyle.BORDER_THIN);
    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setAlignment(styleC25.ALIGN_RIGHT);
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));
    for (int i = 0; i < TicketAgent.size(); i++) {
        TicketFareReport data = (TicketFareReport) TicketAgent.get(i);
        HSSFRow row = sheet.createRow(count + i);
        HSSFCell cell0 = row.createCell(0);
        cell0.setCellValue(data.getInvno());
        cell0.setCellStyle(styleC24);
        HSSFCell cell1 = row.createCell(1);
        cell1.setCellValue(data.getIssuedate());
        cell1.setCellStyle(styleC23);
        HSSFCell cell2 = row.createCell(2);
        cell2.setCellValue(data.getAgent());
        cell2.setCellStyle(styleC24);
        HSSFCell cell3 = row.createCell(3);
        cell3.setCellValue(data.getAir());
        cell3.setCellStyle(styleC23);
        HSSFCell cell14 = row.createCell(4);
        cell14.setCellValue(data.getDocno());
        cell14.setCellStyle(styleC24);
        HSSFCell cell15 = row.createCell(5);
        cell15.setCellValue(data.getRefno());
        cell15.setCellStyle(styleC24);
        HSSFCell cell4 = row.createCell(6);
        cell4.setCellValue(data.getDepartment());
        cell4.setCellStyle(styleC24);
        HSSFCell cell5 = row.createCell(7);
        cell5.setCellValue(data.getStaff());
        cell5.setCellStyle(styleC24);
        HSSFCell cell6 = row.createCell(8);
        cell6.setCellValue(data.getTermpay());
        cell6.setCellStyle(styleC24);
        HSSFCell cell7 = row.createCell(9);
        cell7.setCellValue(
                !"".equalsIgnoreCase(data.getInvamount()) ? new BigDecimal(data.getInvamount()).doubleValue()
                        : 0);
        cell7.setCellStyle(styleC25);
        HSSFCell cell16 = row.createCell(10);
        cell16.setCellValue(
                !"".equalsIgnoreCase(data.getCost()) ? new BigDecimal(data.getCost()).doubleValue() : 0);
        cell16.setCellStyle(styleC25);
        HSSFCell cell8 = row.createCell(11);
        cell8.setCellValue(
                !"".equalsIgnoreCase(data.getTicketcom()) ? new BigDecimal(data.getTicketcom()).doubleValue()
                        : 0);
        cell8.setCellStyle(styleC25);
        HSSFCell cell9 = row.createCell(12);
        cell9.setCellValue(
                !"".equalsIgnoreCase(data.getSaleprice()) ? new BigDecimal(data.getSaleprice()).doubleValue()
                        : 0);
        cell9.setCellStyle(styleC25);
        HSSFCell cell10 = row.createCell(13);
        cell10.setCellValue(
                !"".equalsIgnoreCase(data.getAgentcom()) ? new BigDecimal(data.getAgentcom()).doubleValue()
                        : 0);
        cell10.setCellStyle(styleC25);
        HSSFCell cell11 = row.createCell(14);
        cell11.setCellValue(
                !"".equalsIgnoreCase(data.getProfit()) ? new BigDecimal(data.getProfit()).doubleValue() : 0);
        cell11.setCellStyle(styleC25);
        sheet.autoSizeColumn(14);
        if (i == (TicketAgent.size() - 1)) {
            row = sheet.createRow(count + i + 1);
            for (int k = 0; k < 10; k++) {
                HSSFCellStyle styleSum = wb.createCellStyle();
                styleSum.setAlignment(styleC24.ALIGN_RIGHT);
                styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
                styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
                HSSFCell cellSum = row.createCell(k);
                if (k == 0) {
                    styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
                }
                cellSum.setCellStyle(styleSum);
            }
            HSSFCellStyle styleSum = wb.createCellStyle();
            styleSum.setAlignment(styleSum.ALIGN_RIGHT);
            styleSum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderRight(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderTop(HSSFCellStyle.BORDER_THIN);
            styleSum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            styleSum.setDataFormat(currency.getFormat("#,##0.00"));

            String sumInvAmount = "SUM(J" + 10 + ":J" + (count + i + 1) + ")";
            String sumCost = "SUM(K" + 10 + ":K" + (count + i + 1) + ")";
            String sumTicketComm = "SUM(L" + 10 + ":L" + (count + i + 1) + ")";
            String sumSalePrice = "SUM(M" + 10 + ":M" + (count + i + 1) + ")";
            String sumAgentComm = "SUM(N" + 10 + ":N" + (count + i + 1) + ")";
            String sumProfit = "SUM(O" + 10 + ":O" + (count + i + 1) + ")";

            HSSFCell cell6Sum = row.createCell(8);
            cell6Sum.setCellValue("Total");
            cell6Sum.setCellStyle(styleSum);
            HSSFCell cell7Sum = row.createCell(9);
            cell7Sum.setCellFormula(sumInvAmount);
            cell7Sum.setCellStyle(styleSum);
            HSSFCell cell71Sum = row.createCell(10);
            cell71Sum.setCellFormula(sumCost);
            cell71Sum.setCellStyle(styleSum);
            HSSFCell cell8Sum = row.createCell(11);
            cell8Sum.setCellFormula(sumTicketComm);
            cell8Sum.setCellStyle(styleSum);
            HSSFCell cell9Sum = row.createCell(12);
            cell9Sum.setCellFormula(sumSalePrice);
            cell9Sum.setCellStyle(styleSum);
            HSSFCell cell10Sum = row.createCell(13);
            cell10Sum.setCellFormula(sumAgentComm);
            cell10Sum.setCellStyle(styleSum);
            HSSFCell cell11Sum = row.createCell(14);
            cell11Sum.setCellFormula(sumProfit);
            cell11Sum.setCellStyle(styleSum);
            sheet.autoSizeColumn(14);
        }
    }
    for (int j = 0; j < 15; j++) {
        sheet.autoSizeColumn(j);
    }
}

From source file:com.smi.travel.controller.excel.checking.airticket.TicketFareSummary.java

public void genTicketFareSummaryByStaff(HSSFWorkbook wb, List ticketSumByStaff) {
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    String sheetName = "Sheet1";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);
    TicketFareSummaryByAgentStaff dataheader = new TicketFareSummaryByAgentStaff();

    HSSFDataFormat currency = wb.createDataFormat();
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    styleC21.setDataFormat(currency.getFormat("#,##0"));
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC23.ALIGN_CENTER);

    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC26 = wb.createCellStyle();
    styleC26.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC26.setDataFormat(currency.getFormat("#,##0"));
    styleC26.setAlignment(styleC22.ALIGN_CENTER);

    HSSFCellStyle styleC27 = wb.createCellStyle();
    styleC27.setAlignment(styleC27.ALIGN_RIGHT);
    styleC27.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC28 = wb.createCellStyle();
    styleC28.setAlignment(styleC28.ALIGN_CENTER);
    styleC28.setDataFormat(currency.getFormat("#,##0"));

    HSSFCellStyle styleC29 = wb.createCellStyle();
    styleC29.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderBottom(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle styleC30 = wb.createCellStyle();
    styleC30.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC30.setAlignment(styleC22.ALIGN_CENTER);

    if (!ticketSumByStaff.isEmpty()) {
        dataheader = (TicketFareSummaryByAgentStaff) ticketSumByStaff.get(0);

        // set Header Report (Row 1)
        HSSFCellStyle styleC1 = wb.createCellStyle();
        HSSFRow row1 = sheet.createRow(0);
        HSSFCell cell1 = row1.createCell(0);
        cell1.setCellValue("List Ticket Summary By Staff");
        styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
        cell1.setCellStyle(styleC1);/*from   w w w  . jav  a 2  s.co  m*/
        sheet.addMergedRegion(CellRangeAddress.valueOf("A1:G1"));

        // Row 2
        HSSFRow row2 = sheet.createRow(1);
        HSSFCell cell21 = row2.createCell(0);
        cell21.setCellValue("Print By : ");
        cell21.setCellStyle(styleC21);
        HSSFCell cell22 = row2.createCell(1);
        cell22.setCellValue(dataheader.getPrintby());
        cell22.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
        HSSFCell cell23 = row2.createCell(4);
        cell23.setCellValue("Air Line Code : ");
        cell23.setCellStyle(styleC21);
        HSSFCell cell24 = row2.createCell(5);
        cell24.setCellValue(dataheader.getAirline());
        cell24.setCellStyle(styleC22);

        // Row 3
        HSSFRow row3 = sheet.createRow(2);
        HSSFCell cell31 = row3.createCell(0);
        cell31.setCellValue("Department : ");
        cell31.setCellStyle(styleC21);
        HSSFCell cell32 = row3.createCell(1);
        cell32.setCellValue(dataheader.getHeaddepartment());
        cell32.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
        HSSFCell cell33 = row3.createCell(4);
        cell33.setCellValue("Ticket Type : ");
        cell33.setCellStyle(styleC21);
        HSSFCell cell34 = row3.createCell(5);
        cell34.setCellValue(dataheader.getHeadtickettype());
        cell34.setCellStyle(styleC22);

        // Row 4
        HSSFRow row4 = sheet.createRow(3);
        HSSFCell cell41 = row4.createCell(0);
        cell41.setCellValue("Term Pay : ");
        cell41.setCellStyle(styleC21);
        HSSFCell cell42 = row4.createCell(1);
        cell42.setCellValue(dataheader.getTermpay());
        cell42.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
        HSSFCell cell43 = row4.createCell(4);
        cell43.setCellValue("Ticket Buy : ");
        cell43.setCellStyle(styleC21);
        HSSFCell cell44 = row4.createCell(5);
        cell44.setCellValue(dataheader.getHeadticketbuy());
        cell44.setCellStyle(styleC22);

        // Row 5
        HSSFRow row5 = sheet.createRow(4);
        HSSFCell cell51 = row5.createCell(0);
        cell51.setCellValue("Airline : ");
        cell51.setCellStyle(styleC21);
        HSSFCell cell52 = row5.createCell(1);
        cell52.setCellValue(dataheader.getHeaderairline());
        cell52.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
        HSSFCell cell53 = row5.createCell(4);
        cell53.setCellValue("Sale Staff : ");
        cell53.setCellStyle(styleC21);
        HSSFCell cell54 = row5.createCell(5);
        cell54.setCellValue(dataheader.getHeadsale());
        cell54.setCellStyle(styleC22);

        // Row 6
        HSSFRow row6 = sheet.createRow(5);
        HSSFCell cell61 = row6.createCell(0);
        cell61.setCellValue("Issue Date : ");
        cell61.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A6:D6"));
        HSSFCell cell62 = row6.createCell(4);
        if (!"".equalsIgnoreCase(dataheader.getIssuefrom())) {
            cell62.setCellValue(dataheader.getIssuefrom());
            cell62.setCellStyle(styleC22);
        }
        HSSFCell cell63 = row6.createCell(5);
        if (!"".equalsIgnoreCase(dataheader.getIssueto())) {
            cell63.setCellValue("to  " + dataheader.getIssueto());
            cell63.setCellStyle(styleC22);
        }

        // Row 7
        HSSFRow row7 = sheet.createRow(6);
        HSSFCell cell71 = row7.createCell(0);
        cell71.setCellValue("Invoice Date : ");
        cell71.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A7:D7"));
        HSSFCell cell72 = row7.createCell(4);
        if (!"".equalsIgnoreCase(dataheader.getInvdatefrom())) {
            cell72.setCellValue(dataheader.getInvdatefrom());
            cell72.setCellStyle(styleC22);
        }
        HSSFCell cell73 = row7.createCell(5);
        if (!"".equalsIgnoreCase(dataheader.getInvdateto())) {
            cell73.setCellValue("to  " + dataheader.getInvdateto());
            cell73.setCellStyle(styleC22);
        }

        // Row 8
        HSSFRow row8 = sheet.createRow(7);
        HSSFCell cell81 = row8.createCell(0);
        cell81.setCellValue("Print on : ");
        cell81.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A8:D8"));
        HSSFCell cell82 = row8.createCell(4);
        cell82.setCellValue(dataheader.getPrinton());
        cell82.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("E8:F8"));
    }
    // Header Table
    HSSFCellStyle styleC3 = wb.createCellStyle();
    styleC3.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3.setAlignment(styleC3.ALIGN_CENTER);

    // Detail of Table
    String temp = "XXXXXXXX";
    int count = 9;
    int ktemp = 12;
    //Total Outbound
    int totalPaxOut = 0;
    BigDecimal totalInvAmountOut = new BigDecimal("0.00");
    BigDecimal totalTiccomOut = new BigDecimal("0.00");
    BigDecimal totalSalePriceOut = new BigDecimal("0.00");
    BigDecimal totalAgentCommOut = new BigDecimal("0.00");
    BigDecimal totalProfitOut = new BigDecimal("0.00");
    BigDecimal totalCostOut = new BigDecimal("0.00");
    //        Total Wendy
    int totalPaxWendy = 0;
    BigDecimal totalInvAmountWendy = new BigDecimal("0.00");
    BigDecimal totalTiccomWendy = new BigDecimal("0.00");
    BigDecimal totalSalePriceWendy = new BigDecimal("0.00");
    BigDecimal totalAgentCommWendy = new BigDecimal("0.00");
    BigDecimal totalProfitWendy = new BigDecimal("0.00");
    BigDecimal totalCostWendy = new BigDecimal("0.00");
    for (int i = 0; i < ticketSumByStaff.size(); i++) {
        TicketFareSummaryByAgentStaff data = (TicketFareSummaryByAgentStaff) ticketSumByStaff.get(i);

        if (!temp.equalsIgnoreCase(data.getOwner())) {
            if (!"XXXXXXXX".equalsIgnoreCase(temp)) {
                HSSFRow row = sheet.createRow(count + i);
                String totalPax = "SUM(C" + ktemp + ":C" + (count + i) + ")";
                String totalInvAmount = "SUM(D" + ktemp + ":D" + (count + i) + ")";
                String totalSalePrice = "SUM(E" + ktemp + ":E" + (count + i) + ")";
                String totalCost = "SUM(F" + ktemp + ":F" + (count + i) + ")";
                String totalTiccom = "SUM(G" + ktemp + ":G" + (count + i) + ")";
                String totalAgentComm = "SUM(H" + ktemp + ":H" + (count + i) + ")";
                String totalProfit = "SUM(I" + ktemp + ":I" + (count + i) + ")";
                // Set align Text
                HSSFCell cellTotal0 = row.createCell(0);
                cellTotal0.setCellStyle(styleC29);
                HSSFCell cellTotal = row.createCell(1);
                cellTotal.setCellValue("Total");
                cellTotal.setCellStyle(styleC30);
                HSSFCell cellTotal02 = row.createCell(2);
                cellTotal02.setCellFormula(totalPax);
                cellTotal02.setCellStyle(styleC26);
                HSSFCell cellTotal03 = row.createCell(3);
                cellTotal03.setCellFormula(totalInvAmount);
                cellTotal03.setCellStyle(styleC25);
                HSSFCell cellTotal04 = row.createCell(4);
                cellTotal04.setCellFormula(totalSalePrice);
                cellTotal04.setCellStyle(styleC25);
                HSSFCell cellTotal05 = row.createCell(5);
                cellTotal05.setCellFormula(totalCost);
                cellTotal05.setCellStyle(styleC25);
                HSSFCell cellTotal06 = row.createCell(6);
                cellTotal06.setCellFormula(totalTiccom);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = row.createCell(7);
                cellTotal07.setCellFormula(totalAgentComm);
                cellTotal07.setCellStyle(styleC25);
                HSSFCell cellTotal08 = row.createCell(8);
                cellTotal08.setCellFormula(totalProfit);
                cellTotal08.setCellStyle(styleC25);
                count = count + 2;
                ktemp = count + 3 + i;
            }

            int counts = count + i;
            int countss = count + 1 + i;

            // Row Agent Name
            HSSFRow row008 = sheet.createRow(counts);
            HSSFCell cell0081 = row008.createCell(1);
            cell0081.setCellValue("Staff name ");
            cell0081.setCellStyle(styleC23);
            HSSFCell cell0082 = row008.createCell(2);
            cell0082.setCellValue(data.getOwner());
            cell0082.setCellStyle(styleC22);
            temp = data.getOwner();

            // Header Table
            HSSFRow row09 = sheet.createRow(countss);
            HSSFCell cell091 = row09.createCell(0);
            cell091.setCellValue("Agent");
            cell091.setCellStyle(styleC3);
            sheet.autoSizeColumn(0);
            HSSFCell cell092 = row09.createCell(1);
            cell092.setCellValue("Department");
            cell092.setCellStyle(styleC3);
            sheet.autoSizeColumn(1);
            HSSFCell cell093 = row09.createCell(2);
            cell093.setCellValue("Pax");
            sheet.autoSizeColumn(2);
            cell093.setCellStyle(styleC3);
            HSSFCell cell094 = row09.createCell(3);
            cell094.setCellValue("Invoice Amount");
            cell094.setCellStyle(styleC3);
            sheet.autoSizeColumn(3);
            HSSFCell cell095 = row09.createCell(4);
            cell095.setCellValue("Sales Price");
            cell095.setCellStyle(styleC3);
            sheet.autoSizeColumn(4);
            HSSFCell cell096 = row09.createCell(5);
            cell096.setCellValue("Cost");
            cell096.setCellStyle(styleC3);
            sheet.autoSizeColumn(5);
            HSSFCell cell097 = row09.createCell(6);
            cell097.setCellValue("Ticket Comm");
            cell097.setCellStyle(styleC3);
            sheet.autoSizeColumn(6);
            HSSFCell cell098 = row09.createCell(7);
            cell098.setCellValue("Agent Comm");
            cell098.setCellStyle(styleC3);
            sheet.autoSizeColumn(7);
            HSSFCell cell099 = row09.createCell(8);
            cell099.setCellValue("Profit");
            cell099.setCellStyle(styleC3);
            sheet.autoSizeColumn(8);
            count = count + 2;
        }
        //set data 
        HSSFRow row = sheet.createRow(count + i);
        HSSFCell celldata01 = row.createCell(0);
        celldata01.setCellValue(data.getAgentname());
        celldata01.setCellStyle(styleC29);
        HSSFCell celldata02 = row.createCell(1);
        celldata02.setCellValue(data.getDepartment());
        celldata02.setCellStyle(styleC29);
        HSSFCell celldata03 = row.createCell(2);
        celldata03.setCellValue("".equalsIgnoreCase(String.valueOf(data.getPax())) ? 0
                : new BigDecimal(data.getPax()).doubleValue());
        celldata03.setCellStyle(styleC26);
        HSSFCell celldata04 = row.createCell(3);
        celldata04.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvamount())) ? 0
                : new BigDecimal(data.getInvamount()).doubleValue());
        celldata04.setCellStyle(styleC25);
        HSSFCell celldata05 = row.createCell(4);
        celldata05.setCellValue("".equalsIgnoreCase(String.valueOf(data.getSaleprice())) ? 0
                : new BigDecimal(data.getSaleprice()).doubleValue());
        celldata05.setCellStyle(styleC25);
        HSSFCell celldata06 = row.createCell(5);
        celldata06.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCost())) ? 0
                : new BigDecimal(data.getCost()).doubleValue());
        celldata06.setCellStyle(styleC25);
        HSSFCell celldata07 = row.createCell(6);
        celldata07.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTiccom())) ? 0
                : new BigDecimal(data.getTiccom()).doubleValue());
        celldata07.setCellStyle(styleC25);
        HSSFCell celldata08 = row.createCell(7);
        celldata08.setCellValue("".equalsIgnoreCase(String.valueOf(data.getAgentcom())) ? 0
                : new BigDecimal(data.getAgentcom()).doubleValue());
        celldata08.setCellStyle(styleC25);
        HSSFCell celldata09 = row.createCell(8);
        celldata09.setCellValue("".equalsIgnoreCase(String.valueOf(data.getProfit())) ? 0
                : new BigDecimal(data.getProfit()).doubleValue());
        celldata09.setCellStyle(styleC25);

        if ("outbound".equalsIgnoreCase(data.getDepartment())) {
            TicketFareSummaryByAgentStaff sum = (TicketFareSummaryByAgentStaff) ticketSumByStaff.get(i);
            int pax = (!"".equalsIgnoreCase(sum.getPax()) ? Integer.parseInt(sum.getPax()) : 0);
            BigDecimal invamount = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getInvamount()) ? sum.getInvamount() : "0.00");
            BigDecimal ticcom = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getTiccom()) ? sum.getTiccom() : "0.00");
            BigDecimal saleprice = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getSaleprice()) ? sum.getSaleprice() : "0.00");
            BigDecimal agentcomm = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getAgentcom()) ? sum.getAgentcom() : "0.00");
            BigDecimal profit = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getProfit()) ? sum.getProfit() : "0.00");
            BigDecimal cost = new BigDecimal(!"".equalsIgnoreCase(sum.getCost()) ? sum.getCost() : "0.00");
            totalPaxOut = totalPaxOut + pax;
            totalInvAmountOut = totalInvAmountOut.add(invamount);
            totalTiccomOut = totalTiccomOut.add(ticcom);
            totalSalePriceOut = totalSalePriceOut.add(saleprice);
            totalAgentCommOut = totalAgentCommOut.add(agentcomm);
            totalProfitOut = totalProfitOut.add(profit);
            totalCostOut = totalCostOut.add(cost);
        }
        if ("wendy".equalsIgnoreCase(data.getDepartment())) {
            TicketFareSummaryByAgentStaff sum = (TicketFareSummaryByAgentStaff) ticketSumByStaff.get(i);
            int pax = (!"".equalsIgnoreCase(sum.getPax()) ? Integer.parseInt(sum.getPax()) : 0);
            BigDecimal invamount = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getInvamount()) ? sum.getInvamount() : "0.00");
            BigDecimal ticcom = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getTiccom()) ? sum.getTiccom() : "0.00");
            BigDecimal saleprice = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getSaleprice()) ? sum.getSaleprice() : "0.00");
            BigDecimal agentcomm = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getAgentcom()) ? sum.getAgentcom() : "0.00");
            BigDecimal profit = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getProfit()) ? sum.getProfit() : "0.00");
            BigDecimal cost = new BigDecimal(!"".equalsIgnoreCase(sum.getCost()) ? sum.getCost() : "0.00");
            totalPaxWendy = totalPaxWendy + pax;
            totalInvAmountWendy = totalInvAmountWendy.add(invamount);
            totalTiccomWendy = totalTiccomWendy.add(ticcom);
            totalSalePriceWendy = totalSalePriceWendy.add(saleprice);
            totalAgentCommWendy = totalAgentCommWendy.add(agentcomm);
            totalProfitWendy = totalProfitWendy.add(profit);
            totalCostWendy = totalCostWendy.add(cost);
        }

        // set total last row
        if (i == (ticketSumByStaff.size() - 1)) {
            HSSFRow rows = sheet.createRow(count + 1 + i);

            String totalPax = "SUM(C" + ktemp + ":C" + (count + i + 1) + ")";
            String totalInvAmount = "SUM(D" + ktemp + ":D" + (count + i + 1) + ")";
            String totalSalePrice = "SUM(E" + ktemp + ":E" + (count + i + 1) + ")";
            String totalCost = "SUM(F" + ktemp + ":F" + (count + i + 1) + ")";
            String totalTiccom = "SUM(G" + ktemp + ":G" + (count + i + 1) + ")";
            String totalAgentComm = "SUM(H" + ktemp + ":H" + (count + i + 1) + ")";
            String totalProfit = "SUM(I" + ktemp + ":I" + (count + i + 1) + ")";

            //                int totalPax = 0;
            //                BigDecimal totalInvAmount = new BigDecimal("0.00");
            //                BigDecimal totalTiccom = new BigDecimal("0.00");
            //                BigDecimal totalSalePrice = new BigDecimal("0.00");
            //                BigDecimal totalAgentComm = new BigDecimal("0.00");
            //                BigDecimal totalProfit = new BigDecimal("0.00");
            //                for(int k=ktemp;k<ticketSumByStaff.size();k++){
            //                    TicketFareSummaryByAgentStaff sum = (TicketFareSummaryByAgentStaff)ticketSumByStaff.get(k);
            //                    int pax = (!"".equalsIgnoreCase(sum.getPax()) ? Integer.parseInt(sum.getPax()) : 0);
            //                    BigDecimal invamount = new BigDecimal(!"".equalsIgnoreCase(sum.getInvamount()) ? sum.getInvamount() : "0.00");
            //                    BigDecimal ticcom = new BigDecimal(!"".equalsIgnoreCase(sum.getTiccom()) ? sum.getTiccom() : "0.00");
            //                    BigDecimal saleprice = new BigDecimal(!"".equalsIgnoreCase(sum.getSaleprice()) ? sum.getSaleprice() : "0.00");
            //                    BigDecimal agentcomm = new BigDecimal(!"".equalsIgnoreCase(sum.getAgentcom()) ? sum.getAgentcom() : "0.00");
            //                    BigDecimal profit = new BigDecimal(!"".equalsIgnoreCase(sum.getProfit()) ? sum.getProfit() : "0.00");
            //                    totalPax = totalPax+pax;
            //                    totalInvAmount = totalInvAmount.add(invamount);
            //                    totalTiccom = totalTiccom.add(ticcom);
            //                    totalSalePrice = totalSalePrice.add(saleprice);
            //                    totalAgentComm = totalAgentComm.add(agentcomm);
            //                    totalProfit = totalProfit.add(profit);
            //                }
            HSSFCell celldatas0 = rows.createCell(0);
            celldatas0.setCellStyle(styleC29);
            HSSFCell celldatas01 = rows.createCell(1);
            celldatas01.setCellValue("Total");
            celldatas01.setCellStyle(styleC30);
            HSSFCell celldatas02 = rows.createCell(2);
            celldatas02.setCellFormula(totalPax);
            celldatas02.setCellStyle(styleC26);
            HSSFCell celldatas03 = rows.createCell(3);
            celldatas03.setCellFormula(totalInvAmount);
            celldatas03.setCellStyle(styleC25);
            HSSFCell celldatas04 = rows.createCell(4);
            celldatas04.setCellFormula(totalSalePrice);
            celldatas04.setCellStyle(styleC25);
            HSSFCell celldatas05 = rows.createCell(5);
            celldatas05.setCellFormula(totalCost);
            celldatas05.setCellStyle(styleC25);
            HSSFCell celldatas06 = rows.createCell(6);
            celldatas06.setCellFormula(totalTiccom);
            celldatas06.setCellStyle(styleC25);
            HSSFCell celldatas07 = rows.createCell(7);
            celldatas07.setCellFormula(totalAgentComm);
            celldatas07.setCellStyle(styleC25);
            HSSFCell celldatas08 = rows.createCell(8);
            celldatas08.setCellFormula(totalProfit);
            celldatas08.setCellStyle(styleC25);
            count = count + 3;

            rows = sheet.createRow(count + i);
            HSSFCell celldataOut01 = rows.createCell(1);
            celldataOut01.setCellValue("Summary Outbound");
            celldataOut01.setCellStyle(styleC22);
            HSSFCell celldataOut02 = rows.createCell(2);
            celldataOut02.setCellValue("".equalsIgnoreCase(String.valueOf(totalPaxOut)) ? 0
                    : new BigDecimal(totalPaxOut).doubleValue());
            celldataOut02.setCellStyle(styleC28);
            HSSFCell celldataOut03 = rows.createCell(3);
            celldataOut03.setCellValue("".equalsIgnoreCase(String.valueOf(totalInvAmountOut)) ? 0
                    : totalInvAmountOut.doubleValue());
            celldataOut03.setCellStyle(styleC27);
            HSSFCell celldataOut04 = rows.createCell(4);
            celldataOut04.setCellValue("".equalsIgnoreCase(String.valueOf(totalSalePriceOut)) ? 0
                    : totalSalePriceOut.doubleValue());
            celldataOut04.setCellStyle(styleC27);
            HSSFCell celldataOut05 = rows.createCell(5);
            celldataOut05.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalCostOut)) ? 0 : totalCostOut.doubleValue());
            celldataOut05.setCellStyle(styleC27);
            HSSFCell celldataOut06 = rows.createCell(6);
            celldataOut06.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalTiccomOut)) ? 0 : totalTiccomOut.doubleValue());
            celldataOut06.setCellStyle(styleC27);
            HSSFCell celldataOut07 = rows.createCell(7);
            celldataOut07.setCellValue("".equalsIgnoreCase(String.valueOf(totalAgentCommOut)) ? 0
                    : totalAgentCommOut.doubleValue());
            celldataOut07.setCellStyle(styleC27);
            HSSFCell celldataOut08 = rows.createCell(8);
            celldataOut08.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalProfitOut)) ? 0 : totalProfitOut.doubleValue());
            celldataOut08.setCellStyle(styleC27);

            rows = sheet.createRow(count + 1 + i);
            HSSFCell celldataWen01 = rows.createCell(1);
            celldataWen01.setCellValue("Summary Wendy");
            celldataWen01.setCellStyle(styleC22);
            HSSFCell celldataWen02 = rows.createCell(2);
            celldataWen02.setCellValue("".equalsIgnoreCase(String.valueOf(totalPaxWendy)) ? 0
                    : new BigDecimal(totalPaxWendy).doubleValue());
            celldataWen02.setCellStyle(styleC28);
            HSSFCell celldataWen03 = rows.createCell(3);
            celldataWen03.setCellValue("".equalsIgnoreCase(String.valueOf(totalInvAmountWendy)) ? 0
                    : totalInvAmountWendy.doubleValue());
            celldataWen03.setCellStyle(styleC27);
            HSSFCell celldataWen04 = rows.createCell(4);
            celldataWen04.setCellValue("".equalsIgnoreCase(String.valueOf(totalSalePriceWendy)) ? 0
                    : totalSalePriceWendy.doubleValue());
            celldataWen04.setCellStyle(styleC27);
            HSSFCell celldataWen05 = rows.createCell(5);
            celldataWen05.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalCostWendy)) ? 0 : totalCostWendy.doubleValue());
            celldataWen05.setCellStyle(styleC27);
            HSSFCell celldataWen06 = rows.createCell(6);
            celldataWen06.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalTiccomWendy)) ? 0 : totalTiccomWendy.doubleValue());
            celldataWen06.setCellStyle(styleC27);
            HSSFCell celldataWen07 = rows.createCell(7);
            celldataWen07.setCellValue("".equalsIgnoreCase(String.valueOf(totalAgentCommWendy)) ? 0
                    : totalAgentCommWendy.doubleValue());
            celldataWen07.setCellStyle(styleC27);
            HSSFCell celldataWen08 = rows.createCell(8);
            celldataWen08.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalProfitWendy)) ? 0 : totalProfitWendy.doubleValue());
            celldataWen08.setCellStyle(styleC27);

            //                int totalPaxWI = 0;
            //                BigDecimal totalInvAmountWI = new BigDecimal("0.00");
            //                BigDecimal totalTiccomWI = new BigDecimal("0.00");
            //                BigDecimal totalSalePriceWI = new BigDecimal("0.00");
            //                BigDecimal totalAgentCommWI = new BigDecimal("0.00");
            //                BigDecimal totalProfitWI = new BigDecimal("0.00");
            //                totalPaxWI = totalPaxOut+totalPaxWendy;
            //                totalInvAmountWI = totalInvAmountOut.add(totalInvAmountWendy);
            //                totalTiccomWI = totalTiccomOut.add(totalTiccomWendy);
            //                totalSalePriceWI = totalSalePriceOut.add(totalSalePriceWendy);         
            //                totalAgentCommWI = totalAgentCommOut.add(totalAgentCommWendy);    
            //                totalProfitWI = totalProfitOut.add(totalProfitWendy);

            rows = sheet.createRow(count + 2 + i);
            String totalPaxWI = "SUM(C" + (count + i + 1) + ":C" + (count + i + 2) + ")";
            String totalInvAmountWI = "SUM(D" + (count + i + 1) + ":D" + (count + i + 2) + ")";
            String totalSalePriceWI = "SUM(E" + (count + i + 1) + ":E" + (count + i + 2) + ")";
            String totalCostWI = "SUM(F" + (count + i + 1) + ":F" + (count + i + 2) + ")";
            String totalTiccomWI = "SUM(G" + (count + i + 1) + ":G" + (count + i + 2) + ")";
            String totalAgentCommWI = "SUM(H" + (count + i + 1) + ":H" + (count + i + 2) + ")";
            String totalProfitWI = "SUM(I" + (count + i + 1) + ":I" + (count + i + 2) + ")";

            HSSFCell celldataWI01 = rows.createCell(1);
            celldataWI01.setCellValue("Total");
            celldataWI01.setCellStyle(styleC22);
            HSSFCell celldataWI02 = rows.createCell(2);
            celldataWI02.setCellFormula(totalPaxWI);
            celldataWI02.setCellStyle(styleC28);
            HSSFCell celldataWI03 = rows.createCell(3);
            celldataWI03.setCellFormula(totalInvAmountWI);
            celldataWI03.setCellStyle(styleC27);
            HSSFCell celldataWI04 = rows.createCell(4);
            celldataWI04.setCellFormula(totalSalePriceWI);
            celldataWI04.setCellStyle(styleC27);
            HSSFCell celldataWI05 = rows.createCell(5);
            celldataWI05.setCellFormula(totalCostWI);
            celldataWI05.setCellStyle(styleC27);
            HSSFCell celldataWI06 = rows.createCell(6);
            celldataWI06.setCellFormula(totalTiccomWI);
            celldataWI06.setCellStyle(styleC27);
            HSSFCell celldataWI07 = rows.createCell(7);
            celldataWI07.setCellFormula(totalAgentCommWI);
            celldataWI07.setCellStyle(styleC27);
            HSSFCell celldataWI08 = rows.createCell(8);
            celldataWI08.setCellFormula(totalProfitWI);
            celldataWI08.setCellStyle(styleC27);

        }
    }
    for (int j = 0; j < 8; j++) {
        sheet.autoSizeColumn(j);
    }
}

From source file:com.smi.travel.controller.excel.checking.airticket.TicketFareSummary.java

public void genTicketFareSummaryByAgent(HSSFWorkbook wb, List ticketSumByAgent) {
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    String sheetName = "Sheet1";// name of sheet
    HSSFSheet sheet = wb.createSheet(sheetName);
    TicketFareSummaryByAgentStaff dataheader = new TicketFareSummaryByAgentStaff();

    HSSFDataFormat currency = wb.createDataFormat();
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);
    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC23.ALIGN_CENTER);

    HSSFCellStyle styleC25 = wb.createCellStyle();
    styleC25.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC25.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC25.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC26 = wb.createCellStyle();
    styleC26.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC26.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC26.setDataFormat(currency.getFormat("#,##0"));
    styleC26.setAlignment(styleC22.ALIGN_CENTER);

    HSSFCellStyle styleC27 = wb.createCellStyle();
    styleC27.setAlignment(styleC27.ALIGN_RIGHT);
    styleC27.setDataFormat(currency.getFormat("#,##0.00"));

    HSSFCellStyle styleC28 = wb.createCellStyle();
    styleC28.setAlignment(styleC28.ALIGN_CENTER);
    styleC28.setDataFormat(currency.getFormat("#,##0"));

    HSSFCellStyle styleC29 = wb.createCellStyle();
    styleC29.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC29.setBorderBottom(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle styleC30 = wb.createCellStyle();
    styleC30.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC30.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC30.setAlignment(styleC22.ALIGN_CENTER);

    if (!ticketSumByAgent.isEmpty()) {
        dataheader = (TicketFareSummaryByAgentStaff) ticketSumByAgent.get(0);

        // set Header Report (Row 1)
        HSSFCellStyle styleC1 = wb.createCellStyle();
        HSSFRow row1 = sheet.createRow(0);
        HSSFCell cell1 = row1.createCell(0);
        cell1.setCellValue("List Ticket Summary By Agent");
        styleC1.setFont(excelFunction.getHeaderFont(wb.createFont()));
        cell1.setCellStyle(styleC1);// w  w w. j  av a  2 s.c  o m
        sheet.addMergedRegion(CellRangeAddress.valueOf("A1:G1"));

        // Row 2
        HSSFRow row2 = sheet.createRow(1);
        HSSFCell cell21 = row2.createCell(0);
        cell21.setCellValue("Print By : ");
        cell21.setCellStyle(styleC21);
        HSSFCell cell22 = row2.createCell(1);
        cell22.setCellValue(dataheader.getPrintby());
        cell22.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
        HSSFCell cell23 = row2.createCell(4);
        cell23.setCellValue("Airline Code : ");
        cell23.setCellStyle(styleC21);
        HSSFCell cell24 = row2.createCell(5);
        cell24.setCellValue(dataheader.getAirline());
        cell24.setCellStyle(styleC22);

        // Row 3
        HSSFRow row3 = sheet.createRow(2);
        HSSFCell cell31 = row3.createCell(0);
        cell31.setCellValue("Department : ");
        cell31.setCellStyle(styleC21);
        HSSFCell cell32 = row3.createCell(1);
        cell32.setCellValue(dataheader.getHeaddepartment());
        cell32.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
        HSSFCell cell33 = row3.createCell(4);
        cell33.setCellValue("Ticket Type : ");
        cell33.setCellStyle(styleC21);
        HSSFCell cell34 = row3.createCell(5);
        cell34.setCellValue(dataheader.getHeadtickettype());
        cell34.setCellStyle(styleC22);

        // Row 4
        HSSFRow row4 = sheet.createRow(3);
        HSSFCell cell41 = row4.createCell(0);
        cell41.setCellValue("Term Pay : ");
        cell41.setCellStyle(styleC21);
        HSSFCell cell42 = row4.createCell(1);
        cell42.setCellValue(dataheader.getTermpay());
        cell42.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
        HSSFCell cell43 = row4.createCell(4);
        cell43.setCellValue("Ticket Buy : ");
        cell43.setCellStyle(styleC21);
        HSSFCell cell44 = row4.createCell(5);
        cell44.setCellValue(dataheader.getHeadticketbuy());
        cell44.setCellStyle(styleC22);

        // Row 5
        HSSFRow row5 = sheet.createRow(4);
        HSSFCell cell51 = row5.createCell(0);
        cell51.setCellValue("Airline : ");
        cell51.setCellStyle(styleC21);
        HSSFCell cell52 = row5.createCell(1);
        cell52.setCellValue(dataheader.getHeaderairline());
        cell52.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
        HSSFCell cell53 = row5.createCell(4);
        cell53.setCellValue("Sale Staff : ");
        cell53.setCellStyle(styleC21);
        HSSFCell cell54 = row5.createCell(5);
        cell54.setCellValue(dataheader.getHeadsale());
        cell54.setCellStyle(styleC22);

        // Row 6
        HSSFRow row6 = sheet.createRow(5);
        HSSFCell cell61 = row6.createCell(0);
        cell61.setCellValue("Issue Date : ");
        cell61.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A6:D6"));
        HSSFCell cell62 = row6.createCell(4);
        if (!"".equalsIgnoreCase(dataheader.getIssuefrom())) {
            cell62.setCellValue(dataheader.getIssuefrom());
            cell62.setCellStyle(styleC22);
        }
        HSSFCell cell63 = row6.createCell(5);
        if (!"".equalsIgnoreCase(dataheader.getIssueto())) {
            cell63.setCellValue("to  " + dataheader.getIssueto());
            cell63.setCellStyle(styleC22);
        }

        // Row 7
        HSSFRow row7 = sheet.createRow(6);
        HSSFCell cell71 = row7.createCell(0);
        cell71.setCellValue("Invoice Date : ");
        cell71.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A7:D7"));
        HSSFCell cell72 = row7.createCell(4);
        if (!"".equalsIgnoreCase(dataheader.getInvdatefrom())) {
            cell72.setCellValue(dataheader.getInvdatefrom());
            cell72.setCellStyle(styleC22);
        }
        HSSFCell cell73 = row7.createCell(5);
        if (!"".equalsIgnoreCase(dataheader.getInvdateto())) {
            cell73.setCellValue("to  " + dataheader.getInvdateto());
            cell73.setCellStyle(styleC22);
        }

        // Row 8
        HSSFRow row8 = sheet.createRow(7);
        HSSFCell cell81 = row8.createCell(0);
        cell81.setCellValue("Print on : ");
        cell81.setCellStyle(styleC21);
        sheet.addMergedRegion(CellRangeAddress.valueOf("A8:D8"));
        HSSFCell cell82 = row8.createCell(4);
        cell82.setCellValue(dataheader.getPrinton());
        cell82.setCellStyle(styleC22);
        sheet.addMergedRegion(CellRangeAddress.valueOf("E8:F8"));
    }

    // Header Table style
    HSSFCellStyle styleC3 = wb.createCellStyle();
    styleC3.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleC3.setAlignment(styleC3.ALIGN_CENTER);
    styleC3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    // Detail of Table
    String temp = "";
    int count = 9;
    int ktemp = 12;
    //Total Outbound
    int totalPaxOut = 0;
    BigDecimal totalInvAmountOut = new BigDecimal("0.00");
    BigDecimal totalTiccomOut = new BigDecimal("0.00");
    BigDecimal totalSalePriceOut = new BigDecimal("0.00");
    BigDecimal totalAgentCommOut = new BigDecimal("0.00");
    BigDecimal totalProfitOut = new BigDecimal("0.00");
    BigDecimal totalCostOut = new BigDecimal("0.00");
    //Total Wendy
    int totalPaxWendy = 0;
    BigDecimal totalInvAmountWendy = new BigDecimal("0.00");
    BigDecimal totalTiccomWendy = new BigDecimal("0.00");
    BigDecimal totalSalePriceWendy = new BigDecimal("0.00");
    BigDecimal totalAgentCommWendy = new BigDecimal("0.00");
    BigDecimal totalProfitWendy = new BigDecimal("0.00");
    BigDecimal totalCostWendy = new BigDecimal("0.00");
    for (int i = 0; i < ticketSumByAgent.size(); i++) {
        TicketFareSummaryByAgentStaff data = (TicketFareSummaryByAgentStaff) ticketSumByAgent.get(i);
        if (!temp.equalsIgnoreCase(data.getAgentname())) {
            if (!"".equalsIgnoreCase(temp)) {
                HSSFRow row = sheet.createRow(count + i);
                String totalPax = "SUM(C" + ktemp + ":C" + (count + i) + ")";
                String totalInvAmount = "SUM(D" + ktemp + ":D" + (count + i) + ")";
                String totalSalePrice = "SUM(E" + ktemp + ":E" + (count + i) + ")";
                String totalCost = "SUM(F" + ktemp + ":F" + (count + i) + ")";
                String totalTiccom = "SUM(G" + ktemp + ":G" + (count + i) + ")";
                String totalAgentComm = "SUM(H" + ktemp + ":H" + (count + i) + ")";
                String totalProfit = "SUM(I" + ktemp + ":I" + (count + i) + ")";
                // Set align Text
                HSSFCell cellTotal0 = row.createCell(0);
                cellTotal0.setCellStyle(styleC29);
                HSSFCell cellTotal = row.createCell(1);
                cellTotal.setCellValue("Total");
                cellTotal.setCellStyle(styleC30);
                HSSFCell cellTotal02 = row.createCell(2);
                cellTotal02.setCellFormula(totalPax);
                cellTotal02.setCellStyle(styleC26);
                HSSFCell cellTotal03 = row.createCell(3);
                cellTotal03.setCellFormula(totalInvAmount);
                cellTotal03.setCellStyle(styleC25);
                HSSFCell cellTotal04 = row.createCell(4);
                cellTotal04.setCellFormula(totalSalePrice);
                cellTotal04.setCellStyle(styleC25);
                HSSFCell cellTotal05 = row.createCell(5);
                cellTotal05.setCellFormula(totalCost);
                cellTotal05.setCellStyle(styleC25);
                HSSFCell cellTotal06 = row.createCell(6);
                cellTotal06.setCellFormula(totalTiccom);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = row.createCell(7);
                cellTotal07.setCellFormula(totalAgentComm);
                cellTotal07.setCellStyle(styleC25);
                HSSFCell cellTotal08 = row.createCell(8);
                cellTotal08.setCellFormula(totalProfit);
                cellTotal08.setCellStyle(styleC25);
                count = count + 2;
                ktemp = count + 3 + i;
            }

            int counts = count + i;
            int countss = count + 1 + i;

            // Row Agent Name
            HSSFRow row008 = sheet.createRow(counts);
            HSSFCell cell0081 = row008.createCell(1);
            cell0081.setCellValue("Agent name ");
            cell0081.setCellStyle(styleC23);
            HSSFCell cell0082 = row008.createCell(2);
            cell0082.setCellValue(data.getAgentname());
            cell0082.setCellStyle(styleC22);
            temp = data.getAgentname();

            // Header Table
            HSSFRow row09 = sheet.createRow(countss);
            HSSFCell cell091 = row09.createCell(0);
            cell091.setCellValue("Staff");
            cell091.setCellStyle(styleC3);
            sheet.autoSizeColumn(0);
            HSSFCell cell092 = row09.createCell(1);
            cell092.setCellValue("Department");
            cell092.setCellStyle(styleC3);
            sheet.autoSizeColumn(1);
            HSSFCell cell093 = row09.createCell(2);
            cell093.setCellValue("Pax");
            sheet.autoSizeColumn(2);
            cell093.setCellStyle(styleC3);
            HSSFCell cell094 = row09.createCell(3);
            cell094.setCellValue("Invoice Amount");
            cell094.setCellStyle(styleC3);
            sheet.autoSizeColumn(3);
            HSSFCell cell095 = row09.createCell(4);
            cell095.setCellValue("Sales Price");
            cell095.setCellStyle(styleC3);
            sheet.autoSizeColumn(4);
            HSSFCell cell096 = row09.createCell(5);
            cell096.setCellValue("Cost");
            cell096.setCellStyle(styleC3);
            sheet.autoSizeColumn(5);
            HSSFCell cell097 = row09.createCell(6);
            cell097.setCellValue("Ticket Comm");
            cell097.setCellStyle(styleC3);
            sheet.autoSizeColumn(6);
            HSSFCell cell098 = row09.createCell(7);
            cell098.setCellValue("Agent Comm");
            cell098.setCellStyle(styleC3);
            sheet.autoSizeColumn(7);
            HSSFCell cell099 = row09.createCell(8);
            cell099.setCellValue("Profit");
            cell099.setCellStyle(styleC3);
            sheet.autoSizeColumn(8);
            count = count + 2;
        }
        //set data 
        HSSFRow row = sheet.createRow(count + i);
        HSSFCell celldata01 = row.createCell(0);
        celldata01.setCellValue(data.getOwner());
        celldata01.setCellStyle(styleC29);
        HSSFCell celldata02 = row.createCell(1);
        celldata02.setCellValue(data.getDepartment());
        celldata02.setCellStyle(styleC29);
        HSSFCell celldata03 = row.createCell(2);
        celldata03.setCellValue("".equalsIgnoreCase(String.valueOf(data.getPax())) ? 0
                : new BigDecimal(data.getPax()).doubleValue());
        celldata03.setCellStyle(styleC26);
        HSSFCell celldata04 = row.createCell(3);
        celldata04.setCellValue("".equalsIgnoreCase(String.valueOf(data.getInvamount())) ? 0
                : new BigDecimal(data.getInvamount()).doubleValue());
        celldata04.setCellStyle(styleC25);
        HSSFCell celldata05 = row.createCell(4);
        celldata05.setCellValue("".equalsIgnoreCase(String.valueOf(data.getSaleprice())) ? 0
                : new BigDecimal(data.getSaleprice()).doubleValue());
        celldata05.setCellStyle(styleC25);
        HSSFCell celldata06 = row.createCell(5);
        celldata06.setCellValue("".equalsIgnoreCase(String.valueOf(data.getCost())) ? 0
                : new BigDecimal(data.getCost()).doubleValue());
        celldata06.setCellStyle(styleC25);
        HSSFCell celldata07 = row.createCell(6);
        celldata07.setCellValue("".equalsIgnoreCase(String.valueOf(data.getTiccom())) ? 0
                : new BigDecimal(data.getTiccom()).doubleValue());
        celldata07.setCellStyle(styleC25);
        HSSFCell celldata08 = row.createCell(7);
        celldata08.setCellValue("".equalsIgnoreCase(String.valueOf(data.getAgentcom())) ? 0
                : new BigDecimal(data.getAgentcom()).doubleValue());
        celldata08.setCellStyle(styleC25);
        HSSFCell celldata09 = row.createCell(8);
        celldata09.setCellValue("".equalsIgnoreCase(String.valueOf(data.getProfit())) ? 0
                : new BigDecimal(data.getProfit()).doubleValue());
        celldata09.setCellStyle(styleC25);

        if ("outbound".equalsIgnoreCase(data.getDepartment())) {
            TicketFareSummaryByAgentStaff sum = (TicketFareSummaryByAgentStaff) ticketSumByAgent.get(i);
            int pax = (!"".equalsIgnoreCase(sum.getPax()) ? Integer.parseInt(sum.getPax()) : 0);
            BigDecimal invamount = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getInvamount()) ? sum.getInvamount() : "0.00");
            BigDecimal ticcom = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getTiccom()) ? sum.getTiccom() : "0.00");
            BigDecimal saleprice = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getSaleprice()) ? sum.getSaleprice() : "0.00");
            BigDecimal agentcomm = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getAgentcom()) ? sum.getAgentcom() : "0.00");
            BigDecimal profit = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getProfit()) ? sum.getProfit() : "0.00");
            BigDecimal cost = new BigDecimal(!"".equalsIgnoreCase(sum.getCost()) ? sum.getCost() : "0.00");
            totalPaxOut = totalPaxOut + pax;
            totalInvAmountOut = totalInvAmountOut.add(invamount);
            totalTiccomOut = totalTiccomOut.add(ticcom);
            totalSalePriceOut = totalSalePriceOut.add(saleprice);
            totalAgentCommOut = totalAgentCommOut.add(agentcomm);
            totalProfitOut = totalProfitOut.add(profit);
            totalCostOut = totalCostOut.add(cost);
        }
        if ("wendy".equalsIgnoreCase(data.getDepartment())) {
            TicketFareSummaryByAgentStaff sum = (TicketFareSummaryByAgentStaff) ticketSumByAgent.get(i);
            int pax = (!"".equalsIgnoreCase(sum.getPax()) ? Integer.parseInt(sum.getPax()) : 0);
            BigDecimal invamount = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getInvamount()) ? sum.getInvamount() : "0.00");
            BigDecimal ticcom = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getTiccom()) ? sum.getTiccom() : "0.00");
            BigDecimal saleprice = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getSaleprice()) ? sum.getSaleprice() : "0.00");
            BigDecimal agentcomm = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getAgentcom()) ? sum.getAgentcom() : "0.00");
            BigDecimal profit = new BigDecimal(
                    !"".equalsIgnoreCase(sum.getProfit()) ? sum.getProfit() : "0.00");
            BigDecimal cost = new BigDecimal(!"".equalsIgnoreCase(sum.getCost()) ? sum.getCost() : "0.00");
            totalPaxWendy = totalPaxWendy + pax;
            totalInvAmountWendy = totalInvAmountWendy.add(invamount);
            totalTiccomWendy = totalTiccomWendy.add(ticcom);
            totalSalePriceWendy = totalSalePriceWendy.add(saleprice);
            totalAgentCommWendy = totalAgentCommWendy.add(agentcomm);
            totalProfitWendy = totalProfitWendy.add(profit);
            totalCostWendy = totalCostWendy.add(cost);
        }

        // set total last row
        if (i == (ticketSumByAgent.size() - 1)) {
            HSSFRow rows = sheet.createRow(count + 1 + i);

            String totalPax = "SUM(C" + ktemp + ":C" + (count + i + 1) + ")";
            String totalInvAmount = "SUM(D" + ktemp + ":D" + (count + i + 1) + ")";
            String totalSalePrice = "SUM(E" + ktemp + ":E" + (count + i + 1) + ")";
            String totalCost = "SUM(F" + ktemp + ":F" + (count + i + 1) + ")";
            String totalTiccom = "SUM(G" + ktemp + ":G" + (count + i + 1) + ")";
            String totalAgentComm = "SUM(H" + ktemp + ":H" + (count + i + 1) + ")";
            String totalProfit = "SUM(I" + ktemp + ":I" + (count + i + 1) + ")";

            HSSFCell celldatas0 = rows.createCell(0);
            celldatas0.setCellStyle(styleC29);
            HSSFCell celldatas01 = rows.createCell(1);
            celldatas01.setCellValue("Total");
            celldatas01.setCellStyle(styleC30);
            HSSFCell celldatas02 = rows.createCell(2);
            celldatas02.setCellFormula(totalPax);
            celldatas02.setCellStyle(styleC26);
            HSSFCell celldatas03 = rows.createCell(3);
            celldatas03.setCellFormula(totalInvAmount);
            celldatas03.setCellStyle(styleC25);
            HSSFCell celldatas04 = rows.createCell(4);
            celldatas04.setCellFormula(totalSalePrice);
            celldatas04.setCellStyle(styleC25);
            HSSFCell celldatas05 = rows.createCell(5);
            celldatas05.setCellFormula(totalCost);
            celldatas05.setCellStyle(styleC25);
            HSSFCell celldatas06 = rows.createCell(6);
            celldatas06.setCellFormula(totalTiccom);
            celldatas06.setCellStyle(styleC25);
            HSSFCell celldatas07 = rows.createCell(7);
            celldatas07.setCellFormula(totalAgentComm);
            celldatas07.setCellStyle(styleC25);
            HSSFCell celldatas08 = rows.createCell(8);
            celldatas08.setCellFormula(totalProfit);
            celldatas08.setCellStyle(styleC25);
            count = count + 3;

            rows = sheet.createRow(count + i);
            HSSFCell celldataOut01 = rows.createCell(1);
            celldataOut01.setCellValue("Summary Outbound");
            celldataOut01.setCellStyle(styleC22);
            HSSFCell celldataOut02 = rows.createCell(2);
            celldataOut02.setCellValue("".equalsIgnoreCase(String.valueOf(totalPaxOut)) ? 0
                    : new BigDecimal(totalPaxOut).doubleValue());
            celldataOut02.setCellStyle(styleC28);
            HSSFCell celldataOut03 = rows.createCell(3);
            celldataOut03.setCellValue("".equalsIgnoreCase(String.valueOf(totalInvAmountOut)) ? 0
                    : totalInvAmountOut.doubleValue());
            celldataOut03.setCellStyle(styleC27);
            HSSFCell celldataOut04 = rows.createCell(4);
            celldataOut04.setCellValue("".equalsIgnoreCase(String.valueOf(totalSalePriceOut)) ? 0
                    : totalSalePriceOut.doubleValue());
            celldataOut04.setCellStyle(styleC27);
            HSSFCell celldataOut05 = rows.createCell(5);
            celldataOut05.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalCostOut)) ? 0 : totalCostOut.doubleValue());
            celldataOut05.setCellStyle(styleC27);
            HSSFCell celldataOut06 = rows.createCell(6);
            celldataOut06.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalTiccomOut)) ? 0 : totalTiccomOut.doubleValue());
            celldataOut06.setCellStyle(styleC27);
            HSSFCell celldataOut07 = rows.createCell(7);
            celldataOut07.setCellValue("".equalsIgnoreCase(String.valueOf(totalAgentCommOut)) ? 0
                    : totalAgentCommOut.doubleValue());
            celldataOut07.setCellStyle(styleC27);
            HSSFCell celldataOut08 = rows.createCell(8);
            celldataOut08.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalProfitOut)) ? 0 : totalProfitOut.doubleValue());
            celldataOut08.setCellStyle(styleC27);

            rows = sheet.createRow(count + 1 + i);
            HSSFCell celldataWen01 = rows.createCell(1);
            celldataWen01.setCellValue("Summary Wendy");
            celldataWen01.setCellStyle(styleC22);
            HSSFCell celldataWen02 = rows.createCell(2);
            celldataWen02.setCellValue("".equalsIgnoreCase(String.valueOf(totalPaxWendy)) ? 0
                    : new BigDecimal(totalPaxWendy).doubleValue());
            celldataWen02.setCellStyle(styleC28);
            HSSFCell celldataWen03 = rows.createCell(3);
            celldataWen03.setCellValue("".equalsIgnoreCase(String.valueOf(totalInvAmountWendy)) ? 0
                    : totalInvAmountWendy.doubleValue());
            celldataWen03.setCellStyle(styleC27);
            HSSFCell celldataWen04 = rows.createCell(4);
            celldataWen04.setCellValue("".equalsIgnoreCase(String.valueOf(totalSalePriceWendy)) ? 0
                    : totalSalePriceWendy.doubleValue());
            celldataWen04.setCellStyle(styleC27);
            HSSFCell celldataWen05 = rows.createCell(5);
            celldataWen05.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalCostWendy)) ? 0 : totalCostWendy.doubleValue());
            celldataWen05.setCellStyle(styleC27);
            HSSFCell celldataWen06 = rows.createCell(6);
            celldataWen06.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalTiccomWendy)) ? 0 : totalTiccomWendy.doubleValue());
            celldataWen06.setCellStyle(styleC27);
            HSSFCell celldataWen07 = rows.createCell(7);
            celldataWen07.setCellValue("".equalsIgnoreCase(String.valueOf(totalAgentCommWendy)) ? 0
                    : totalAgentCommWendy.doubleValue());
            celldataWen07.setCellStyle(styleC27);
            HSSFCell celldataWen08 = rows.createCell(8);
            celldataWen08.setCellValue(
                    "".equalsIgnoreCase(String.valueOf(totalProfitWendy)) ? 0 : totalProfitWendy.doubleValue());
            celldataWen08.setCellStyle(styleC27);

            rows = sheet.createRow(count + 2 + i);
            String totalPaxWI = "SUM(C" + (count + i + 1) + ":C" + (count + i + 2) + ")";
            String totalInvAmountWI = "SUM(D" + (count + i + 1) + ":D" + (count + i + 2) + ")";
            String totalSalePriceWI = "SUM(E" + (count + i + 1) + ":E" + (count + i + 2) + ")";
            String totalCostWI = "SUM(F" + (count + i + 1) + ":F" + (count + i + 2) + ")";
            String totalTiccomWI = "SUM(G" + (count + i + 1) + ":G" + (count + i + 2) + ")";
            String totalAgentCommWI = "SUM(H" + (count + i + 1) + ":H" + (count + i + 2) + ")";
            String totalProfitWI = "SUM(I" + (count + i + 1) + ":I" + (count + i + 2) + ")";

            HSSFCell celldataWI01 = rows.createCell(1);
            celldataWI01.setCellValue("Total");
            celldataWI01.setCellStyle(styleC22);
            HSSFCell celldataWI02 = rows.createCell(2);
            celldataWI02.setCellFormula(totalPaxWI);
            celldataWI02.setCellStyle(styleC28);
            HSSFCell celldataWI03 = rows.createCell(3);
            celldataWI03.setCellFormula(totalInvAmountWI);
            celldataWI03.setCellStyle(styleC27);
            HSSFCell celldataWI04 = rows.createCell(4);
            celldataWI04.setCellFormula(totalSalePriceWI);
            celldataWI04.setCellStyle(styleC27);
            HSSFCell celldataWI05 = rows.createCell(5);
            celldataWI05.setCellFormula(totalCostWI);
            celldataWI05.setCellStyle(styleC27);
            HSSFCell celldataWI06 = rows.createCell(6);
            celldataWI06.setCellFormula(totalTiccomWI);
            celldataWI06.setCellStyle(styleC27);
            HSSFCell celldataWI07 = rows.createCell(7);
            celldataWI07.setCellFormula(totalAgentCommWI);
            celldataWI07.setCellStyle(styleC27);
            HSSFCell celldataWI08 = rows.createCell(8);
            celldataWI08.setCellFormula(totalProfitWI);
            celldataWI08.setCellStyle(styleC27);

        }
    }
    for (int j = 0; j < 8; j++) {
        sheet.autoSizeColumn(j);
    }
}

From source file:com.smi.travel.controller.excel.checking.OverdueSummaryExcel.java

private void getOverdueSummary(HSSFWorkbook wb, List refundTicket) {
    String sheetName = "overdueSummary";// name of sheet
    HSSFSheet sheet1 = wb.createSheet(sheetName);
    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    HSSFDataFormat currency = wb.createDataFormat();
    HSSFCellStyle styleAlignRightBorderAllHeaderTable = wb.createCellStyle();
    styleAlignRightBorderAllHeaderTable.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleAlignRightBorderAllHeaderTable.setAlignment(styleAlignRightBorderAllHeaderTable.ALIGN_CENTER);
    styleAlignRightBorderAllHeaderTable.setBorderTop(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderBottom(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderRight(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    styleAlignRightBorderAllHeaderTable.setBorderLeft(styleAlignRightBorderAllHeaderTable.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderAllNumber = wb.createCellStyle();
    styleAlignRightBorderAllNumber.setAlignment(styleAlignRightBorderAllNumber.ALIGN_RIGHT);
    styleAlignRightBorderAllNumber.setDataFormat(currency.getFormat("#,##0.00"));
    styleAlignRightBorderAllNumber.setBorderTop(styleAlignRightBorderAllNumber.BORDER_THIN);
    styleAlignRightBorderAllNumber.setBorderBottom(styleAlignRightBorderAllNumber.BORDER_THIN);
    styleAlignRightBorderAllNumber.setBorderRight(styleAlignRightBorderAllNumber.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderAll = wb.createCellStyle();
    styleAlignRightBorderAll.setAlignment(styleAlignRightBorderAll.ALIGN_LEFT);
    styleAlignRightBorderAll.setBorderTop(styleAlignRightBorderAll.BORDER_THIN);
    styleAlignRightBorderAll.setBorderBottom(styleAlignRightBorderAll.BORDER_THIN);
    styleAlignRightBorderAll.setBorderRight(styleAlignRightBorderAll.BORDER_THIN);
    styleAlignRightBorderAll.setBorderLeft(styleAlignRightBorderAll.BORDER_THIN);
    HSSFCellStyle styleNumber = wb.createCellStyle();
    styleNumber.setAlignment(styleNumber.ALIGN_RIGHT);
    styleNumber.setDataFormat(currency.getFormat("#,##0.00"));
    HSSFCellStyle styleNumberBorderRight = wb.createCellStyle();
    styleNumberBorderRight.setAlignment(styleNumberBorderRight.ALIGN_RIGHT);
    styleNumberBorderRight.setDataFormat(currency.getFormat("#,##0.00"));
    styleNumberBorderRight.setBorderRight(styleNumberBorderRight.BORDER_THIN);
    HSSFCellStyle styleBorderBottom = wb.createCellStyle(); //use
    styleBorderBottom.setBorderBottom(styleBorderBottom.BORDER_THIN);
    styleAlignRightBorderAllNumber.setBorderLeft(styleAlignRightBorderAllNumber.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderBottomRight = wb.createCellStyle();//use
    styleAlignRightBorderBottomRight.setAlignment(styleAlignRightBorderBottomRight.ALIGN_LEFT);
    styleAlignRightBorderBottomRight.setBorderBottom(styleAlignRightBorderBottomRight.BORDER_THIN);
    styleAlignRightBorderBottomRight.setBorderRight(styleAlignRightBorderBottomRight.BORDER_THIN);
    HSSFCellStyle styleAlignRightBorderAllColor = wb.createCellStyle();
    styleAlignRightBorderAllColor.setFont(excelFunction.getHeaderTable(wb.createFont()));
    styleAlignRightBorderAllColor.setAlignment(styleAlignRightBorderAllColor.ALIGN_LEFT);
    styleAlignRightBorderAllColor.setBorderTop(styleAlignRightBorderAllColor.BORDER_THIN);
    styleAlignRightBorderAllColor.setBorderBottom(styleAlignRightBorderAllColor.BORDER_THIN);
    styleAlignRightBorderAllColor.setBorderRight(styleAlignRightBorderAllColor.BORDER_THIN);
    styleAlignRightBorderAllColor.setBorderLeft(styleAlignRightBorderAllColor.BORDER_THIN);
    styleAlignRightBorderAllColor.setFillBackgroundColor(IndexedColors.YELLOW.getIndex());

    HSSFCellStyle styleAlignRightBorderAllDetailTable = wb.createCellStyle();
    styleAlignRightBorderAllDetailTable.setFont(excelFunction.getHeadDetailBoldFont(wb.createFont()));
    styleAlignRightBorderAllDetailTable.setAlignment(styleAlignRightBorderAllDetailTable.ALIGN_LEFT);
    styleAlignRightBorderAllDetailTable.setBorderTop(styleAlignRightBorderAllDetailTable.BORDER_THIN);
    styleAlignRightBorderAllDetailTable.setBorderBottom(styleAlignRightBorderAllDetailTable.BORDER_THIN);
    styleAlignRightBorderAllDetailTable.setBorderRight(styleAlignRightBorderAllDetailTable.BORDER_THIN);
    styleAlignRightBorderAllDetailTable.setBorderLeft(styleAlignRightBorderAllDetailTable.BORDER_THIN);

    HSSFCellStyle total = wb.createCellStyle();
    total.setFont(excelFunction.getHeadDetailBoldFont(wb.createFont()));
    total.setAlignment(total.ALIGN_CENTER);
    total.setBorderTop(total.BORDER_THIN);
    total.setBorderBottom(total.BORDER_THIN);
    total.setBorderRight(total.BORDER_THIN);
    total.setBorderLeft(total.BORDER_THIN);

    // set Header Report (Row 1)
    HSSFCellStyle styleC11 = wb.createCellStyle();
    HSSFRow row01 = sheet1.createRow(0);
    HSSFCell cell01 = row01.createCell(0);
    cell01.setCellValue("Overdue Summary");
    styleC11.setFont(excelFunction.getHeaderFont(wb.createFont()));
    cell01.setCellStyle(styleC11);//from  w  w w .j av  a 2  s .  c  o  m
    sheet1.addMergedRegion(CellRangeAddress.valueOf("A1:G1"));

    List<OverdueSummartExcel> listOver = new ArrayList<OverdueSummartExcel>();
    if (refundTicket != null && refundTicket.size() != 0) {
        listOver = refundTicket;
    } else {
        listOver = null;
    }
    OverdueSummartExcel over = new OverdueSummartExcel();
    if ((refundTicket != null) && (refundTicket.size() != 0)) {
        over = (OverdueSummartExcel) refundTicket.get(0);
    }
    // Set align Text
    HSSFCellStyle styleC21 = wb.createCellStyle();
    styleC21.setAlignment(styleC21.ALIGN_RIGHT);
    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);

    // Row 2
    HSSFRow row02 = sheet1.createRow(1);
    HSSFCell cell021 = row02.createCell(0);
    cell021.setCellValue("Client : ");
    cell021.setCellStyle(styleC21);
    HSSFCell cell022 = row02.createCell(1);
    cell022.setCellValue(over.getClientname_page());
    cell022.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B2:D2"));
    HSSFCell cell023 = row02.createCell(4);
    cell023.setCellValue("Agent : ");
    cell023.setCellStyle(styleC21);
    HSSFCell cell024 = row02.createCell(5);
    cell024.setCellValue(over.getStaffname_page());
    cell024.setCellStyle(styleC22);

    // Row 3
    HSSFRow row03 = sheet1.createRow(2);
    HSSFCell cell031 = row03.createCell(0);
    cell031.setCellValue("Date : ");
    cell031.setCellStyle(styleC21);
    HSSFCell cell032 = row03.createCell(1);
    cell032.setCellValue(over.getFrom_page());
    cell032.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B3:D3"));
    HSSFCell cell033 = row03.createCell(4);
    cell033.setCellValue("Vat Type : ");
    cell033.setCellStyle(styleC21);
    HSSFCell cell034 = row03.createCell(5);
    cell034.setCellValue(over.getVattype_page());
    cell034.setCellStyle(styleC22);

    // Row 4
    HSSFRow row04 = sheet1.createRow(3);
    HSSFCell cell041 = row04.createCell(0);
    cell041.setCellValue("Department : ");
    cell041.setCellStyle(styleC21);
    HSSFCell cell042 = row04.createCell(1);
    cell042.setCellValue(over.getDepart_page());
    cell042.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B4:D4"));
    HSSFCell cell043 = row04.createCell(4);
    cell043.setCellValue("View : ");
    cell043.setCellStyle(styleC21);
    HSSFCell cell044 = row04.createCell(5);
    cell044.setCellValue(over.getView_page());
    cell044.setCellStyle(styleC22);

    // Row 5
    HSSFRow row05 = sheet1.createRow(4);
    HSSFCell cell051 = row05.createCell(0);
    cell051.setCellValue("Group : ");
    cell051.setCellStyle(styleC21);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B5:D5"));
    HSSFCell cell052 = row05.createCell(1);
    cell052.setCellValue(over.getGroup_page());
    cell052.setCellStyle(styleC22);
    HSSFCell cell053 = row05.createCell(4);
    cell053.setCellValue("Print By : ");
    cell053.setCellStyle(styleC21);
    HSSFCell cell054 = row05.createCell(5);
    cell054.setCellValue(over.getPrintby_page());
    cell054.setCellStyle(styleC22);

    // Row 3
    HSSFRow row06 = sheet1.createRow(5);
    HSSFCell cell061 = row06.createCell(0);
    cell061.setCellValue("Print Date : ");
    cell061.setCellStyle(styleC21);
    HSSFCell cell062 = row06.createCell(1);
    cell062.setCellValue(over.getPrintdate_page());
    cell062.setCellStyle(styleC22);
    sheet1.addMergedRegion(CellRangeAddress.valueOf("B6:D6"));

    // Header Table
    HSSFRow row6 = sheet1.createRow(8);
    HSSFCell cell61 = row6.createCell(0);
    cell61.setCellValue("Invoice No.");
    cell61.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(0);
    HSSFCell cell62 = row6.createCell(1);
    cell62.setCellValue("Date");
    cell62.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(1);
    HSSFCell cell63 = row6.createCell(2);
    cell63.setCellValue("Detail");
    sheet1.autoSizeColumn(2);
    cell63.setCellStyle(styleAlignRightBorderAllHeaderTable);
    HSSFCell cell64 = row6.createCell(3);
    cell64.setCellValue("Baht");
    cell64.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(3);
    HSSFCell cell65 = row6.createCell(4);
    cell65.setCellValue("JPY");
    cell65.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(4);
    HSSFCell cell66 = row6.createCell(5);
    cell66.setCellValue("USD");
    cell66.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(5);
    HSSFCell cell67 = row6.createCell(6);
    cell67.setCellValue("Rec No");
    cell67.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(6);
    HSSFCell cell68 = row6.createCell(7);
    cell68.setCellValue("Rec Amt");
    cell68.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(7);
    HSSFCell cell69 = row6.createCell(8);
    cell69.setCellValue("Department");
    cell69.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(8);
    HSSFCell cell70 = row6.createCell(9);
    cell70.setCellValue("Credit");
    cell70.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(9);
    HSSFCell cell71 = row6.createCell(10);
    cell71.setCellValue("Ref No");
    cell71.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(10);
    HSSFCell cell72 = row6.createCell(11);
    cell72.setCellValue("Due Date");
    cell72.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(11);
    HSSFCell cell73 = row6.createCell(12);
    cell73.setCellValue("Overdue Status");
    cell73.setCellStyle(styleAlignRightBorderAllHeaderTable);
    sheet1.autoSizeColumn(12);

    int start = 11;
    int end = 0;
    int num = 0;
    int count = 9;
    String temp = "";
    //        String sumThbAll = "";
    //        String sumJpyAll = "";
    //        String sumUsdAll = "";
    //        String sumRecAmtAll = "";
    BigDecimal bahtTotalAll = new BigDecimal(BigInteger.ZERO);
    BigDecimal jpyTotalAll = new BigDecimal(BigInteger.ZERO);
    BigDecimal usdTotalAll = new BigDecimal(BigInteger.ZERO);
    BigDecimal recamtTotalAll = new BigDecimal(BigInteger.ZERO);

    if (listOver != null && listOver.size() != 0) {
        for (int r = 0; r < listOver.size(); r++) {
            if (r != 0) {
                if ("Agent".equals(listOver.get(r).getGroup())) {
                    bahtTotalAll = bahtTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getBath())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getBath())));
                    jpyTotalAll = jpyTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getJpy())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getJpy())));
                    usdTotalAll = usdTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getUsd())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getUsd())));
                    recamtTotalAll = recamtTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getRecamt())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getRecamt())));

                    if (temp.equals(listOver.get(r).getInvto())) { // equal type   
                        if (r != (listOver.size() - 1)) { // check not last row
                            HSSFRow row = sheet1.createRow(r + count);
                            createCell(row, listOver, r, styleAlignRightBorderAllNumber,
                                    styleAlignRightBorderAll);
                            sheet1.autoSizeColumn(13);
                        } else {
                            HSSFRow row = sheet1.createRow(r + count);
                            createCell(row, listOver, r, styleAlignRightBorderAllNumber,
                                    styleAlignRightBorderAll);
                            sheet1.autoSizeColumn(13);
                        }
                    } else { // not equal type
                             // Start New Row (Group)
                        String totalthb = "SUM(D" + start + ":D" + (r + count) + ")";
                        String totaljpy = "SUM(E" + start + ":E" + (r + count) + ")";
                        String totalusd = "SUM(F" + start + ":F" + (r + count) + ")";
                        String totalrecamt = "SUM(H" + start + ":H" + (r + count) + ")";
                        //                                sumThbAll += ",D"+(count+r+1);
                        //                                sumJpyAll += ",E"+(count+r+1);
                        //                                sumUsdAll += ",F"+(count+r+1);
                        //                                sumRecAmtAll += ",H"+(count+r+1);
                        start = count + r + 3;
                        HSSFRow row00 = sheet1.createRow(r + count);
                        HSSFCell cell00 = row00.createCell(0);
                        cell00.setCellValue("");
                        cell00.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell001 = row00.createCell(1);
                        cell001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell002 = row00.createCell(2);
                        cell002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 1) + ":C" + (count + r + 1) + ""));
                        HSSFCell cell003 = row00.createCell(3);
                        cell003.setCellFormula(totalthb);
                        cell003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell004 = row00.createCell(4);
                        cell004.setCellFormula(totaljpy);
                        cell004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell005 = row00.createCell(5);
                        cell005.setCellFormula(totalusd);
                        cell005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell006 = row00.createCell(6);
                        cell006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell007 = row00.createCell(7);
                        cell007.setCellFormula(totalrecamt);
                        cell007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cell008 = row00.createCell(k);
                            cell008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 1) + ":M" + (count + r + 1) + ""));
                        HSSFRow row0 = sheet1.createRow(r + count + 1);
                        HSSFCell cell = row0.createCell(0);
                        cell.setCellValue(listOver.get(r).getInvto());
                        cell.setCellStyle(styleAlignRightBorderAllDetailTable);
                        String add = "A" + (r + count + 2) + ":M" + (r + count + 2) + "";
                        sheet1.addMergedRegion(CellRangeAddress.valueOf(add));
                        row0.createCell(12).setCellStyle(styleAlignRightBorderAllColor);
                        HSSFRow row122 = sheet1.createRow(r + count + 2);
                        createCell(row122, listOver, r, styleAlignRightBorderAllNumber,
                                styleAlignRightBorderAll);
                        sheet1.autoSizeColumn(13);
                        count = count + 2;
                    }
                    temp = listOver.get(r).getInvto();
                    if (r == (listOver.size() - 1)) {
                        String totalthb = "SUM(D" + start + ":D" + (count + r + 1) + ")";
                        String totaljpy = "SUM(E" + start + ":E" + (count + r + 1) + ")";
                        String totalusd = "SUM(F" + start + ":F" + (count + r + 1) + ")";
                        String totalrecamt = "SUM(H" + start + ":H" + (count + r + 1) + ")";
                        //                            sumThbAll += ",D"+(count+r+2);
                        //                            sumJpyAll += ",E"+(count+r+2);
                        //                            sumUsdAll += ",F"+(count+r+2);
                        //                            sumRecAmtAll += ",H"+(count+r+2);
                        HSSFRow row00 = sheet1.createRow(count + r + 1);
                        HSSFCell cell00 = row00.createCell(0);
                        cell00.setCellValue("");
                        cell00.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell001 = row00.createCell(1);
                        cell001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell002 = row00.createCell(2);
                        cell002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 2) + ":C" + (count + r + 2) + ""));
                        HSSFCell cell003 = row00.createCell(3);
                        cell003.setCellFormula(totalthb);
                        cell003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell004 = row00.createCell(4);
                        cell004.setCellFormula(totaljpy);
                        cell004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell005 = row00.createCell(5);
                        cell005.setCellFormula(totalusd);
                        cell005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell006 = row00.createCell(6);
                        cell006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell007 = row00.createCell(7);
                        cell007.setCellFormula(totalrecamt);
                        cell007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cell008 = row00.createCell(k);
                            cell008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 2) + ":M" + (count + r + 2) + ""));

                        HSSFRow rowTotalAll = sheet1.createRow(count + r + 2);
                        HSSFCell cellTotal00 = rowTotalAll.createCell(0);
                        cellTotal00.setCellValue("Total");
                        cellTotal00.setCellStyle(total);
                        HSSFCell cellTotal001 = rowTotalAll.createCell(1);
                        cellTotal001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cellTotal002 = rowTotalAll.createCell(2);
                        cellTotal002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 3) + ":C" + (count + r + 3) + ""));
                        HSSFCell cellTotal003 = rowTotalAll.createCell(3);
                        cellTotal003.setCellValue(bahtTotalAll.doubleValue());
                        cellTotal003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal004 = rowTotalAll.createCell(4);
                        cellTotal004.setCellValue(jpyTotalAll.doubleValue());
                        cellTotal004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal005 = rowTotalAll.createCell(5);
                        cellTotal005.setCellValue(usdTotalAll.doubleValue());
                        cellTotal005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal006 = rowTotalAll.createCell(6);
                        cellTotal006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal007 = rowTotalAll.createCell(7);
                        cellTotal007.setCellValue(recamtTotalAll.doubleValue());
                        cellTotal007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cellTotal008 = rowTotalAll.createCell(k);
                            cellTotal008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 3) + ":M" + (count + r + 3) + ""));
                    }
                } else if ("Owner".equals(listOver.get(r).getGroup())) {
                    bahtTotalAll = bahtTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getBath())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getBath())));
                    jpyTotalAll = jpyTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getJpy())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getJpy())));
                    usdTotalAll = usdTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getUsd())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getUsd())));
                    recamtTotalAll = recamtTotalAll.add(
                            "".equalsIgnoreCase(String.valueOf(listOver.get(r).getRecamt())) ? new BigDecimal(0)
                                    : (new BigDecimal(listOver.get(r).getRecamt())));

                    if (temp.equals(listOver.get(r).getOwnername())) { // equal type   
                        if (r != (listOver.size() - 1)) { // check not last row
                            HSSFRow row = sheet1.createRow(r + count);
                            createCell(row, listOver, r, styleAlignRightBorderAllNumber,
                                    styleAlignRightBorderAll);
                            sheet1.autoSizeColumn(13);
                        } else {
                            HSSFRow row = sheet1.createRow(r + count);
                            createCell(row, listOver, r, styleAlignRightBorderAllNumber,
                                    styleAlignRightBorderAll);
                            sheet1.autoSizeColumn(13);
                        }
                    } else { // not equal type
                             // Start New Row (Group)
                        String totalthb = "SUM(D" + start + ":D" + (r + count) + ")";
                        String totaljpy = "SUM(E" + start + ":E" + (r + count) + ")";
                        String totalusd = "SUM(F" + start + ":F" + (r + count) + ")";
                        String totalrecamt = "SUM(H" + start + ":H" + (r + count) + ")";
                        //                            sumThbAll += ",D"+(count+r+1);
                        //                            sumJpyAll += ",E"+(count+r+1);
                        //                            sumUsdAll += ",F"+(count+r+1);
                        //                            sumRecAmtAll += ",H"+(count+r+1);
                        start = count + r + 3;
                        HSSFRow row00 = sheet1.createRow(r + count);
                        HSSFCell cell00 = row00.createCell(0);
                        cell00.setCellValue("");
                        cell00.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell001 = row00.createCell(1);
                        cell001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell002 = row00.createCell(2);
                        cell002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 1) + ":C" + (count + r + 1) + ""));
                        HSSFCell cell003 = row00.createCell(3);
                        cell003.setCellFormula(totalthb);
                        cell003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell004 = row00.createCell(4);
                        cell004.setCellFormula(totaljpy);
                        cell004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell005 = row00.createCell(5);
                        cell005.setCellFormula(totalusd);
                        cell005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell006 = row00.createCell(6);
                        cell006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell007 = row00.createCell(7);
                        cell007.setCellFormula(totalrecamt);
                        cell007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cell008 = row00.createCell(k);
                            cell008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 1) + ":M" + (count + r + 1) + ""));
                        HSSFRow row0 = sheet1.createRow(r + count + 1);
                        HSSFCell cell = row0.createCell(0);
                        cell.setCellValue(listOver.get(r).getOwnername());
                        cell.setCellStyle(styleAlignRightBorderAllDetailTable);
                        String add = "A" + (r + count + 2) + ":M" + (r + count + 2) + "";
                        sheet1.addMergedRegion(CellRangeAddress.valueOf(add));
                        row0.createCell(12).setCellStyle(styleAlignRightBorderAllColor);
                        HSSFRow row122 = sheet1.createRow(r + count + 2);
                        createCell(row122, listOver, r, styleAlignRightBorderAllNumber,
                                styleAlignRightBorderAll);
                        sheet1.autoSizeColumn(13);
                        count = count + 2;
                    }
                    temp = listOver.get(r).getOwnername();
                    if (r == (listOver.size() - 1)) {
                        String totalthb = "SUM(D" + start + ":D" + (count + r + 1) + ")";
                        String totaljpy = "SUM(E" + start + ":E" + (count + r + 1) + ")";
                        String totalusd = "SUM(F" + start + ":F" + (count + r + 1) + ")";
                        String totalrecamt = "SUM(H" + start + ":H" + (count + r + 1) + ")";
                        //                            sumThbAll += ",D"+(count+r+2);
                        //                            sumJpyAll += ",E"+(count+r+2);
                        //                            sumUsdAll += ",F"+(count+r+2);
                        //                            sumRecAmtAll += ",H"+(count+r+2);
                        HSSFRow row00 = sheet1.createRow(count + r + 1);
                        HSSFCell cell00 = row00.createCell(0);
                        cell00.setCellValue("");
                        cell00.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell001 = row00.createCell(1);
                        cell001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cell002 = row00.createCell(2);
                        cell002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 2) + ":C" + (count + r + 2) + ""));
                        HSSFCell cell003 = row00.createCell(3);
                        cell003.setCellFormula(totalthb);
                        cell003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell004 = row00.createCell(4);
                        cell004.setCellFormula(totaljpy);
                        cell004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell005 = row00.createCell(5);
                        cell005.setCellFormula(totalusd);
                        cell005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell006 = row00.createCell(6);
                        cell006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cell007 = row00.createCell(7);
                        cell007.setCellFormula(totalrecamt);
                        cell007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cell008 = row00.createCell(k);
                            cell008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 2) + ":M" + (count + r + 2) + ""));

                        HSSFRow rowTotalAll = sheet1.createRow(count + r + 2);
                        HSSFCell cellTotal00 = rowTotalAll.createCell(0);
                        cellTotal00.setCellValue("Total");
                        cellTotal00.setCellStyle(total);
                        HSSFCell cellTotal001 = rowTotalAll.createCell(1);
                        cellTotal001.setCellStyle(styleAlignRightBorderAllDetailTable);
                        HSSFCell cellTotal002 = rowTotalAll.createCell(2);
                        cellTotal002.setCellStyle(styleAlignRightBorderAllDetailTable);
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("A" + (count + r + 3) + ":C" + (count + r + 3) + ""));
                        HSSFCell cellTotal003 = rowTotalAll.createCell(3);
                        cellTotal003.setCellValue(bahtTotalAll.doubleValue());
                        cellTotal003.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal004 = rowTotalAll.createCell(4);
                        cellTotal004.setCellValue(jpyTotalAll.doubleValue());
                        cellTotal004.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal005 = rowTotalAll.createCell(5);
                        cellTotal005.setCellValue(usdTotalAll.doubleValue());
                        cellTotal005.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal006 = rowTotalAll.createCell(6);
                        cellTotal006.setCellStyle(styleAlignRightBorderAllNumber);
                        HSSFCell cellTotal007 = rowTotalAll.createCell(7);
                        cellTotal007.setCellValue(recamtTotalAll.doubleValue());
                        cellTotal007.setCellStyle(styleAlignRightBorderAllNumber);
                        for (int k = 8; k < 13; k++) {
                            HSSFCell cellTotal008 = rowTotalAll.createCell(k);
                            cellTotal008.setCellStyle(styleAlignRightBorderAllNumber);
                        }
                        sheet1.addMergedRegion(
                                CellRangeAddress.valueOf("I" + (count + r + 3) + ":M" + (count + r + 3) + ""));
                    }
                }
            } else {
                bahtTotalAll = bahtTotalAll
                        .add("".equalsIgnoreCase(String.valueOf(listOver.get(r).getBath())) ? new BigDecimal(0)
                                : (new BigDecimal(listOver.get(r).getBath())));
                jpyTotalAll = jpyTotalAll
                        .add("".equalsIgnoreCase(String.valueOf(listOver.get(r).getJpy())) ? new BigDecimal(0)
                                : (new BigDecimal(listOver.get(r).getJpy())));
                usdTotalAll = usdTotalAll
                        .add("".equalsIgnoreCase(String.valueOf(listOver.get(r).getUsd())) ? new BigDecimal(0)
                                : (new BigDecimal(listOver.get(r).getUsd())));
                recamtTotalAll = recamtTotalAll.add(
                        "".equalsIgnoreCase(String.valueOf(listOver.get(r).getRecamt())) ? new BigDecimal(0)
                                : (new BigDecimal(listOver.get(r).getRecamt())));

                HSSFRow row0 = sheet1.createRow(count + r);
                if ("Owner".equals(listOver.get(r).getGroup())) {
                    HSSFCell cell = row0.createCell(0);
                    cell.setCellValue(listOver.get(r).getOwnername());
                    cell.setCellStyle(styleAlignRightBorderAllDetailTable);
                } else if ("Agent".equals(listOver.get(r).getGroup())) {
                    HSSFCell cell = row0.createCell(0);
                    cell.setCellValue(listOver.get(r).getInvto());
                    cell.setCellStyle(styleAlignRightBorderAllDetailTable);
                }
                String add = "A" + (count + r + 1) + ":M" + (count + r + 1) + "";
                sheet1.addMergedRegion(CellRangeAddress.valueOf(add));
                row0.createCell(12).setCellStyle(styleAlignRightBorderAllColor);
                HSSFRow row = sheet1.createRow(count + r + 1);
                createCell(row, listOver, num, styleAlignRightBorderAllNumber, styleAlignRightBorderAll);
                sheet1.autoSizeColumn(13);
                count = count + 1;
            }
        }
        for (int i = 0; i < 30; i++) {
            sheet1.autoSizeColumn(i);
        }
    }
}