Example usage for org.apache.poi.hssf.usermodel HSSFSheet getPrintSetup

List of usage examples for org.apache.poi.hssf.usermodel HSSFSheet getPrintSetup

Introduction

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

Prototype

@Override
public HSSFPrintSetup getPrintSetup() 

Source Link

Document

Gets the print setup object.

Usage

From source file:Clavis.Windows.WShedule.java

public void createXLSDocument(String nome, String[][] valores) {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet(nome);
    HSSFRow row;//from   w w w. j  a v a2  s  . c om
    HSSFCell cell;
    for (int i = 0; i < valores.length; i++) {
        row = sheet.createRow(i);
        for (int j = 0; j < valores[i].length; j++) {
            cell = row.createCell(j);
            cell.setCellValue(valores[i][j]);
            if (valores[i][j] != null) {
                sheet.setColumnWidth(j, 255 * valores[i][j].length() + 4);
                CellUtil.setAlignment(cell, wb, CellStyle.ALIGN_CENTER);
            }
        }
    }
    wb.setPrintArea(0, 0, valores[0].length, 0, valores.length);
    sheet.getPrintSetup().setPaperSize(XSSFPrintSetup.A4_PAPERSIZE);
    FileOutputStream out;
    String sfile = new File("").getAbsolutePath() + System.getProperty("file.separator") + nome;
    File file = new File(sfile);
    if (!file.exists()) {
        try {
            file.createNewFile();
        } catch (IOException ex) {
            Logger.getLogger(WShedule.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    if (file.canWrite()) {
        try {
            out = new FileOutputStream(file);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(WShedule.class.getName()).log(Level.SEVERE, null, ex);
            out = null;
        }
        if (out != null) {
            try {
                wb.write(out);
                out.close();
                if (Desktop.isDesktopSupported()) {
                    Desktop.getDesktop().open(file);
                } else {
                    Components.MessagePane mensagem = new Components.MessagePane(this,
                            Components.MessagePane.INFORMACAO, painelcor, lingua.translate("Nota"), 400, 200,
                            lingua.translate("O documento \"doc.xls\" foi criado na pasta raiz do programa")
                                    + ".",
                            new String[] { lingua.translate("Voltar") });
                    mensagem.showMessage();
                }
            } catch (IOException ex) {
                Logger.getLogger(WShedule.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}

From source file:com.openitech.util.HSSFWrapper.java

License:Apache License

public static final HSSFWorkbook getWorkbook(JTable source, boolean countRows) {
    HSSFWorkbook xls_workbook = new HSSFWorkbook();
    HSSFSheet xls_sheet = xls_workbook.createSheet("Pregled podatkov");
    HSSFPrintSetup xls_sheet_printsetup = xls_sheet.getPrintSetup();
    xls_sheet_printsetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
    xls_sheet_printsetup.setFitWidth((short) 1);

    TableColumnModel columnModel = source.getColumnModel();
    Enumeration<TableColumn> columns = columnModel.getColumns();

    HSSFRow xls_row = xls_sheet.createRow(0);
    short cell = 1;
    HSSFCellStyle xls_header_cell_style = xls_workbook.createCellStyle();
    HSSFFont xls_header_font = xls_workbook.createFont();

    xls_header_font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

    xls_header_cell_style.setFont(xls_header_font);
    xls_header_cell_style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    xls_header_cell_style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    xls_header_cell_style.setFillForegroundColor(new HSSFColor.GREY_25_PERCENT().getIndex());
    //xls_header_cell_style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);

    java.util.Map<String, HSSFCellStyle> cellStyles = new java.util.HashMap<String, HSSFCellStyle>();

    HSSFDataFormat xls_data_format = xls_workbook.createDataFormat();

    HSSFCellStyle xls_date_cell_style = xls_workbook.createCellStyle();
    xls_date_cell_style.setDataFormat(xls_data_format.getFormat("d.m.yyyy"));
    cellStyles.put("d.m.yyyy", xls_date_cell_style);

    HSSFCellStyle xls_double_cell_style = xls_workbook.createCellStyle();
    xls_double_cell_style.setDataFormat(xls_data_format.getFormat("#,##0.00"));
    cellStyles.put("#,##0.00", xls_double_cell_style);

    while (columns.hasMoreElements()) {
        TableColumn column = columns.nextElement();

        HSSFCell xls_cell = xls_row.createCell(cell++);
        xls_cell.setCellValue(new HSSFRichTextString(column.getHeaderValue().toString()));
        xls_cell.setCellStyle(xls_header_cell_style);
    }//from   ww  w. j ava 2s  .com

    TableModel tableModel = source.getModel();
    DbTableModel dbTableModel = (tableModel instanceof DbTableModel) ? (DbTableModel) tableModel : null;
    Integer fetchSize = null;

    if (dbTableModel != null) {
        try {
            fetchSize = dbTableModel.getDataSource().getFetchSize();
            dbTableModel.getDataSource().setFetchSize(2000);
        } catch (SQLException ex) {
            Logger.getLogger(HSSFWrapper.class.getName()).log(Level.WARNING, null, ex);
            fetchSize = null;
        }
    }

    short row = 1;

    JWProgressMonitor progress = new JWProgressMonitor((java.awt.Frame) null);

    progress.setTitle("Izvoz podatkov v Excel");
    progress.setMax(tableModel.getRowCount());

    progress.setVisible(true);

    try {
        while (row <= tableModel.getRowCount()) {
            xls_row = xls_sheet.createRow(row);
            cell = 0;

            HSSFCell xls_cell = xls_row.createCell(cell++);
            if (countRows) {
                xls_cell.setCellValue(new HSSFRichTextString(Short.toString(row)));
            }

            while (cell <= columnModel.getColumnCount()) {
                Object value = tableModel.getValueAt(source.convertRowIndexToModel(row - 1),
                        source.convertColumnIndexToModel(cell - 1));
                if (value != null) {
                    if (value instanceof DbTableModel.ColumnDescriptor.ValueMethod) {
                        DbTableModel.ColumnDescriptor.ValueMethod vm = (DbTableModel.ColumnDescriptor.ValueMethod) value;

                        if (vm.getColumnNames().size() == 1) {
                            java.util.List<Object> values = vm.getValues();
                            java.util.List<String> cellFormats = vm.getCellFormats();

                            for (String cellFormat : cellFormats) {
                                if (cellFormat != null) {
                                    if (!cellStyles.containsKey(cellFormat)) {
                                        HSSFCellStyle xls_cell_style = xls_workbook.createCellStyle();
                                        xls_cell_style.setDataFormat(xls_data_format.getFormat(cellFormat));
                                        cellStyles.put(cellFormat, xls_cell_style);
                                    }
                                }
                            }

                            Object vm_value = values.get(0);
                            HSSFCellStyle xls_cell_style = cellFormats.get(0) == null ? null
                                    : cellStyles.get(cellFormats.get(0));

                            if (vm_value != null) {
                                xls_cell = xls_row.createCell(cell);

                                if (vm_value instanceof java.util.Date) {
                                    xls_cell.setCellValue((java.util.Date) vm_value);
                                    xls_cell.setCellStyle(
                                            xls_cell_style == null ? xls_date_cell_style : xls_cell_style);
                                } else if (vm_value instanceof java.lang.Number) {
                                    xls_cell.setCellValue(((java.lang.Number) vm_value).doubleValue());
                                    if ((vm_value instanceof java.math.BigDecimal)
                                            || (vm_value instanceof java.lang.Double)
                                            || (vm_value instanceof java.lang.Float)) {
                                        xls_cell.setCellStyle(xls_cell_style == null ? xls_double_cell_style
                                                : xls_cell_style);
                                    }
                                } else if (vm_value instanceof java.lang.Boolean) {
                                    xls_cell.setCellValue(((java.lang.Boolean) vm_value).booleanValue());
                                } else {
                                    xls_cell.setCellValue(new HSSFRichTextString(value.toString()));
                                }
                            }
                        } else {
                            xls_cell = xls_row.createCell(cell);
                            xls_cell.setCellValue(new HSSFRichTextString(value.toString()));
                        }
                    } else {
                        xls_cell = xls_row.createCell(cell);
                        xls_cell.setCellValue(new HSSFRichTextString(value.toString()));
                    }
                }
                cell++;
            }

            row++;
            progress.next();
        }

        for (cell = 0; cell <= columnModel.getColumnCount(); cell++) {
            xls_sheet.autoSizeColumn(cell);
        }

        xls_sheet.createFreezePane(1, 1);
    } finally {
        progress.setVisible(false);

        if (fetchSize != null) {
            try {
                dbTableModel.getDataSource().setFetchSize(fetchSize);
            } catch (SQLException ex) {
                Logger.getLogger(HSSFWrapper.class.getName()).log(Level.WARNING, null, ex);
            }
        }
    }

    return xls_workbook;
}

From source file:com.pureinfo.srm.project.model.compile.helper.CompileExcelExportHelper.java

License:Open Source License

public void export(OutputStream _os, IExportGoods _goods, int _year) throws PureException {
    try {/*from   w w w  . ja v a 2s . co  m*/
        // 1. to create sheet
        HSSFWorkbook workbook = new HSSFWorkbook();

        style = workbook.createCellStyle();
        style.setWrapText(true);
        HSSFSheet sheet = workbook.createSheet();

        workbook.setSheetName(0, _goods.getName(), (short) 1);

        // change the print way to landscape
        sheet.getPrintSetup().setLandscape(true);

        // headLine is the true header of the page.

        // Workbook book = new CompileWorkBook();
        // int index = book.addSSTString(HSSFHeader.font("", "Border") +
        // HSSFHeader.fontSize((short) 16)
        // + "\u6d59\u6c5f\u5927\u5b66" + _year
        // +
        // "\u5e74\u9ad8\u65b0\u529e\u65b0\u4e0a\u9879\u76ee\u8ba1\u5212\u9879\u76ee\u5355",true);

        HSSFHeader headLine = sheet.getHeader();
        headLine.setCenter(HSSFHeader.font("", "Border") + HSSFHeader.fontSize((short) 16) + ""
                + _year + "");

        // footer
        HSSFFooter footer = sheet.getFooter();
        footer.setRight("." + HSSFFooter.page() + ".");
        footer.setLeft(this.dateFormat(new Date()));

        // 2. to export headers
        if (_goods.hasHeader()) {
            HSSFCellStyle headerStyle = getHeaderStyle(workbook);
            exportHeaders(sheet, _goods.getHeaders(), headerStyle);
        }

        // 3. to export data
        Object[] values;
        HSSFCellStyle dateStyle = getDateStyle(workbook);
        HSSFCellStyle doubleStyle = getDoubleStyle(workbook);

        int nRowNum = 1;
        Iterator iter = _goods.iterator();
        while (iter.hasNext()) {
            values = _goods.unpackGoods(iter.next());
            exportRow(sheet, values, nRowNum++, dateStyle, doubleStyle);
        }

        // 4. to output to stream
        workbook.write(_os);
    } catch (IOException ex) {
        throw new PureException(PureException.UNKNOWN, "export " + _goods.getName() + " to excel", ex);
    }
}

From source file:com.smi.travel.controller.excel.account.AccountReportSummary.java

public void genSaleVatReport(HSSFWorkbook wb, List outputTaxViewList) {
    String sheetNameWendy = "Wendy"; // name of sheet
    String sheetNameInbound = "Inbound";
    String sheetNameOutbound = "Outbound";
    String sheetNameWendyOutbound = "Wendy + Outbound";
    HSSFSheet sheetWendy = wb.createSheet(sheetNameWendy);
    HSSFSheet sheetOutbound = wb.createSheet(sheetNameOutbound);
    HSSFSheet sheetWendyOutbound = wb.createSheet(sheetNameWendyOutbound);
    HSSFSheet sheetInbound = wb.createSheet(sheetNameInbound);

    sheetWendy.getPrintSetup().setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
    sheetOutbound.getPrintSetup().setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
    sheetWendyOutbound.getPrintSetup().setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
    sheetInbound.getPrintSetup().setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);

    UtilityExcelFunction excelFunction = new UtilityExcelFunction();
    //        OutputTaxView dataheader = new OutputTaxView();
    HSSFFont fontHeader = wb.createFont();
    fontHeader.setFontHeightInPoints((short) 15);
    fontHeader.setFontName("Arial");
    fontHeader.setBoldweight(fontHeader.BOLDWEIGHT_BOLD);

    HSSFFont fontHeaderDetail = wb.createFont();
    fontHeaderDetail.setFontName("Arial");
    fontHeaderDetail.setFontHeightInPoints((short) 13);

    HSSFFont fontHeaderDetailTotal = wb.createFont();
    fontHeaderDetailTotal.setFontName("Arial");
    fontHeaderDetailTotal.setFontHeightInPoints((short) 9);
    fontHeaderDetailTotal.setBoldweight(fontHeaderDetailTotal.BOLDWEIGHT_BOLD);

    HSSFFont fontDetail = wb.createFont();
    fontDetail.setFontName("Arial");
    fontDetail.setFontHeightInPoints((short) 8);

    HSSFFont fontHeaderTable = wb.createFont();
    fontHeaderTable.setFontName("Arial");
    fontHeaderTable.setFontHeightInPoints((short) 8);
    fontHeaderTable.setBoldweight(fontHeaderTable.BOLDWEIGHT_BOLD);

    HSSFFont symbolcheck = wb.createFont();
    symbolcheck.setFontName("Wingdings");
    symbolcheck.setFontHeightInPoints((short) 18);

    HSSFFont symbol = wb.createFont();/*ww  w.  j av a 2 s. co  m*/
    symbol.setFontName("Wingdings");
    symbol.setFontHeightInPoints((short) 9);

    HSSFFont fontTaxNo = wb.createFont();
    fontTaxNo.setFontName("Arial");
    fontTaxNo.setFontHeightInPoints((short) 11);

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

    HSSFCellStyle styleC22 = wb.createCellStyle();
    styleC22.setAlignment(styleC22.ALIGN_LEFT);
    styleC22.setVerticalAlignment(styleC22.VERTICAL_CENTER);

    HSSFCellStyle styleC23 = wb.createCellStyle();
    styleC23.setAlignment(styleC23.ALIGN_CENTER);
    styleC23.setVerticalAlignment(styleC23.VERTICAL_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"));
    styleC25.setFont(fontDetail);
    styleC25.setVerticalAlignment(styleC25.VERTICAL_CENTER);

    HSSFCellStyle styleC25CN = wb.createCellStyle();
    styleC25CN.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC25CN.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC25CN.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC25CN.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC25CN.setDataFormat(currency.getFormat("(#,##0.00)"));
    styleC25CN.setAlignment(styleC25CN.ALIGN_RIGHT);
    styleC25CN.setFont(fontDetail);
    styleC25CN.setVerticalAlignment(styleC25CN.VERTICAL_CENTER);

    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(styleC26.ALIGN_CENTER);
    styleC26.setFont(fontDetail);
    styleC26.setVerticalAlignment(styleC26.VERTICAL_CENTER);

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

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

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

    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(styleC30.ALIGN_CENTER);
    styleC30.setVerticalAlignment(styleC30.VERTICAL_CENTER);
    styleC30.setFont(fontDetail);

    HSSFCellStyle stylebordertotal = wb.createCellStyle();
    stylebordertotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    stylebordertotal.setVerticalAlignment(stylebordertotal.VERTICAL_CENTER);

    HSSFCellStyle stylebordertotalleft = wb.createCellStyle();
    stylebordertotalleft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    stylebordertotalleft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    stylebordertotalleft.setVerticalAlignment(stylebordertotalleft.VERTICAL_CENTER);

    HSSFCellStyle styleTaxNo = wb.createCellStyle();
    styleTaxNo.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleTaxNo.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleTaxNo.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleTaxNo.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleTaxNo.setDataFormat(currency.getFormat("#,##0"));
    styleTaxNo.setAlignment(styleTaxNo.ALIGN_CENTER);
    styleTaxNo.setFont(fontTaxNo);
    styleTaxNo.setVerticalAlignment(styleTaxNo.VERTICAL_CENTER);

    // Header Table
    HSSFCellStyle styleC3 = wb.createCellStyle();
    styleC3.setAlignment(styleC3.ALIGN_CENTER);
    styleC3.setVerticalAlignment(styleC3.VERTICAL_CENTER);
    styleC3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC3.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC3.setFont(fontHeaderTable);
    styleC3.setWrapText(true);
    // Header Table
    HSSFCellStyle styleC6 = wb.createCellStyle();
    styleC6.setAlignment(styleC6.ALIGN_LEFT);
    styleC6.setVerticalAlignment(styleC6.VERTICAL_CENTER);
    styleC6.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC6.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC6.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC6.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC6.setWrapText(true);
    styleC6.setFont(fontHeaderDetailTotal);
    // Header Table
    HSSFCellStyle styleC4 = wb.createCellStyle();
    styleC4.setAlignment(styleC4.ALIGN_RIGHT);
    styleC4.setFont(fontHeaderDetailTotal);
    styleC4.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleC4.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleC4.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleC4.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleC4.setVerticalAlignment(styleC4.VERTICAL_CENTER);

    int count = 11;
    int countW = 11;
    int countI = 11;
    int countO = 11;
    int countWO = 11;
    int countWTemp = 0;
    int countITemp = 0;
    int countOTemp = 0;
    int countWOTemp = 0;
    int tempcountW = 0;
    int tempcountI = 0;
    int tempcountO = 0;
    int tempcountWO = 0;
    int w = 0;
    int x = 0;
    int y = 0;
    int z = 0;

    int rowSumW = 0;
    int rowSumI = 0;
    int rowSumO = 0;
    int rowSumWO = 0;

    BigDecimal grossW = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossO = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossI = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossWO = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatW = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatO = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatI = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWO = new BigDecimal(BigInteger.ZERO);

    BigDecimal grossWCN = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossOCN = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossICN = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossWOCN = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWCN = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatOCN = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatICN = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWOCN = new BigDecimal(BigInteger.ZERO);

    BigDecimal grossWTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossOTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossITotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossWOTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatOTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatITotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWOTotal = new BigDecimal(BigInteger.ZERO);

    BigDecimal grossWCNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossOCNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossICNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal grossWOCNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWCNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatOCNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatICNTotal = new BigDecimal(BigInteger.ZERO);
    BigDecimal vatWOCNTotal = new BigDecimal(BigInteger.ZERO);

    sheetWendy.setColumnWidth(0, 256 * 6);
    sheetWendy.setColumnWidth(1, 256 * 9);
    sheetWendy.setColumnWidth(2, 260 * 8);
    sheetWendy.setColumnWidth(3, 259 * 24);
    sheetWendy.setColumnWidth(4, 256 * 12);
    sheetWendy.setColumnWidth(5, 250 * 5);
    sheetWendy.setColumnWidth(6, 256 * 5);
    sheetWendy.setColumnWidth(7, 180 * 2);
    sheetWendy.setColumnWidth(8, 180 * 2);
    sheetWendy.setColumnWidth(9, 180 * 2);
    sheetWendy.setColumnWidth(10, 180 * 2);
    sheetWendy.setColumnWidth(11, 180 * 2);
    sheetWendy.setColumnWidth(12, 180 * 2);
    sheetWendy.setColumnWidth(13, 180 * 2);
    sheetWendy.setColumnWidth(14, 180 * 2);
    sheetWendy.setColumnWidth(15, 180 * 2);
    sheetWendy.setColumnWidth(16, 180 * 2);
    sheetWendy.setColumnWidth(17, 180 * 2);
    sheetWendy.setColumnWidth(18, 180 * 2);
    sheetWendy.setColumnWidth(19, 180 * 2);

    sheetOutbound.setColumnWidth(0, 256 * 6);
    sheetOutbound.setColumnWidth(1, 256 * 9);
    sheetOutbound.setColumnWidth(2, 260 * 8);
    sheetOutbound.setColumnWidth(3, 259 * 24);
    sheetOutbound.setColumnWidth(4, 256 * 12);
    sheetOutbound.setColumnWidth(5, 250 * 5);
    sheetOutbound.setColumnWidth(6, 256 * 5);
    sheetOutbound.setColumnWidth(7, 180 * 2);
    sheetOutbound.setColumnWidth(8, 180 * 2);
    sheetOutbound.setColumnWidth(9, 180 * 2);
    sheetOutbound.setColumnWidth(10, 180 * 2);
    sheetOutbound.setColumnWidth(11, 180 * 2);
    sheetOutbound.setColumnWidth(12, 180 * 2);
    sheetOutbound.setColumnWidth(13, 180 * 2);
    sheetOutbound.setColumnWidth(14, 180 * 2);
    sheetOutbound.setColumnWidth(15, 180 * 2);
    sheetOutbound.setColumnWidth(16, 180 * 2);
    sheetOutbound.setColumnWidth(17, 180 * 2);
    sheetOutbound.setColumnWidth(18, 180 * 2);
    sheetOutbound.setColumnWidth(19, 180 * 2);

    sheetWendyOutbound.setColumnWidth(0, 256 * 6);
    sheetWendyOutbound.setColumnWidth(1, 256 * 9);
    sheetWendyOutbound.setColumnWidth(2, 260 * 8);
    sheetWendyOutbound.setColumnWidth(3, 259 * 24);
    sheetWendyOutbound.setColumnWidth(4, 256 * 12);
    sheetWendyOutbound.setColumnWidth(5, 250 * 5);
    sheetWendyOutbound.setColumnWidth(6, 256 * 5);
    sheetWendyOutbound.setColumnWidth(7, 180 * 2);
    sheetWendyOutbound.setColumnWidth(8, 180 * 2);
    sheetWendyOutbound.setColumnWidth(9, 180 * 2);
    sheetWendyOutbound.setColumnWidth(10, 180 * 2);
    sheetWendyOutbound.setColumnWidth(11, 180 * 2);
    sheetWendyOutbound.setColumnWidth(12, 180 * 2);
    sheetWendyOutbound.setColumnWidth(13, 180 * 2);
    sheetWendyOutbound.setColumnWidth(14, 180 * 2);
    sheetWendyOutbound.setColumnWidth(15, 180 * 2);
    sheetWendyOutbound.setColumnWidth(16, 180 * 2);
    sheetWendyOutbound.setColumnWidth(17, 180 * 2);
    sheetWendyOutbound.setColumnWidth(18, 180 * 2);
    sheetWendyOutbound.setColumnWidth(19, 180 * 2);

    sheetInbound.setColumnWidth(0, 256 * 6);
    sheetInbound.setColumnWidth(1, 256 * 9);
    sheetInbound.setColumnWidth(2, 260 * 8);
    sheetInbound.setColumnWidth(3, 259 * 24);
    sheetInbound.setColumnWidth(4, 256 * 12);
    sheetInbound.setColumnWidth(5, 250 * 5);
    sheetInbound.setColumnWidth(6, 256 * 5);
    sheetInbound.setColumnWidth(7, 180 * 2);
    sheetInbound.setColumnWidth(8, 180 * 2);
    sheetInbound.setColumnWidth(9, 180 * 2);
    sheetInbound.setColumnWidth(10, 180 * 2);
    sheetInbound.setColumnWidth(11, 180 * 2);
    sheetInbound.setColumnWidth(12, 180 * 2);
    sheetInbound.setColumnWidth(13, 180 * 2);
    sheetInbound.setColumnWidth(14, 180 * 2);
    sheetInbound.setColumnWidth(15, 180 * 2);
    sheetInbound.setColumnWidth(16, 180 * 2);
    sheetInbound.setColumnWidth(17, 180 * 2);
    sheetInbound.setColumnWidth(18, 180 * 2);
    sheetInbound.setColumnWidth(19, 180 * 2);

    HSSFCellStyle styleSymbol = wb.createCellStyle();
    styleSymbol.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    styleSymbol.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    styleSymbol.setBorderRight(HSSFCellStyle.BORDER_THIN);
    styleSymbol.setBorderTop(HSSFCellStyle.BORDER_THIN);
    styleSymbol.setAlignment(styleSymbol.ALIGN_CENTER);
    styleSymbol.setVerticalAlignment(styleSymbol.VERTICAL_CENTER);
    styleSymbol.setFont(symbol);

    HSSFCellStyle styleSymbolCheck = wb.createCellStyle();
    styleSymbolCheck.setFont(symbolcheck);
    styleSymbolCheck.setAlignment(styleSymbolCheck.ALIGN_CENTER);

    //Set Header All Page
    OutputTaxView dataHeader = new OutputTaxView();
    if (!outputTaxViewList.isEmpty()) {
        dataHeader = (OutputTaxView) outputTaxViewList.get(0);
    }
    HSSFCellStyle styleC1 = wb.createCellStyle();
    styleC1.setAlignment(styleC1.ALIGN_CENTER);
    int countWendy = dataHeader.getCountWendy();
    int countOutbound = dataHeader.getCountOutbound();
    int countInbound = dataHeader.getCountInbound();
    int countWendyOutbound = dataHeader.getCountWendy() + dataHeader.getCountOutbound();

    // set Header Wendy Report (Row 1)            
    HSSFRow row1 = sheetWendy.createRow(0);
    HSSFCell cell1 = row1.createCell(0);
    cell1.setCellValue("");
    styleC1.setFont(fontHeader);
    cell1.setCellStyle(styleC1);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A1:T1"));

    // Row 2
    HSSFRow row2 = sheetWendy.createRow(1);
    HSSFCell cell21 = row2.createCell(0);
    cell21.setCellValue("  " + dataHeader.getHeaderMonth() + "  "
            + dataHeader.getHeaderYear());
    styleC23.setFont(fontHeaderDetail);
    cell21.setCellStyle(styleC23);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A2:T2"));

    // Row 3
    HSSFRow row3 = sheetWendy.createRow(2);
    HSSFCell cell31 = row3.createCell(0);
    cell31.setCellValue(
            "??  .. ? ?");
    cell31.setCellStyle(styleC22);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A3:D3"));
    HSSFCell cell32 = row3.createCell(5);
    cell32.setCellValue("?? ");
    cell32.setCellStyle(styleC21);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("F3:J3"));
    HSSFCell cell33 = row3.createCell(11);
    cell33.setCellValue("");
    cell33.setCellStyle(styleSymbol);
    HSSFCell cell34 = row3.createCell(12);
    cell34.setCellValue("");
    cell34.setCellStyle(styleC21);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("M3:O3"));
    HSSFCell cell35 = row3.createCell(16);
    cell35.setCellStyle(styleSymbol);
    HSSFCell cell36 = row3.createCell(17);
    cell36.setCellStyle(styleSymbol);
    HSSFCell cell37 = row3.createCell(18);
    cell37.setCellStyle(styleSymbol);
    row3.setHeightInPoints((short) 16);

    HSSFRow rowX = sheetWendy.createRow(3);
    rowX.setHeightInPoints((short) 2);

    // Row 4
    HSSFRow row4 = sheetWendy.createRow(4);
    HSSFCell cell41 = row4.createCell(0);
    cell41.setCellValue(
            "??  .. ? ?");
    cell41.setCellStyle(styleC22);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A5:D5"));
    HSSFCell cell42 = row4.createCell(4);
    cell42.setCellValue("?  ");
    cell42.setCellStyle(styleC21);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("E5:G5"));
    HSSFCell cell43 = row4.createCell(7);
    cell43.setCellValue("0");
    cell43.setCellStyle(styleTaxNo);
    HSSFCell cell44 = row4.createCell(8);
    cell44.setCellValue("1");
    cell44.setCellStyle(styleTaxNo);
    HSSFCell cell45 = row4.createCell(9);
    cell45.setCellValue("0");
    cell45.setCellStyle(styleTaxNo);
    HSSFCell cell46 = row4.createCell(10);
    cell46.setCellValue("5");
    cell46.setCellStyle(styleTaxNo);
    HSSFCell cell47 = row4.createCell(11);
    cell47.setCellValue("5");
    cell47.setCellStyle(styleTaxNo);
    HSSFCell cell48 = row4.createCell(12);
    cell48.setCellValue("2");
    cell48.setCellStyle(styleTaxNo);
    HSSFCell cell49 = row4.createCell(13);
    cell49.setCellValue("3");
    cell49.setCellStyle(styleTaxNo);
    HSSFCell cell50 = row4.createCell(14);
    cell50.setCellValue("0");
    cell50.setCellStyle(styleTaxNo);
    HSSFCell cell51 = row4.createCell(15);
    cell51.setCellValue("2");
    cell51.setCellStyle(styleTaxNo);
    HSSFCell cell52 = row4.createCell(16);
    cell52.setCellValue("0");
    cell52.setCellStyle(styleTaxNo);
    HSSFCell cell53 = row4.createCell(17);
    cell53.setCellValue("1");
    cell53.setCellStyle(styleTaxNo);
    HSSFCell cell54 = row4.createCell(18);
    cell54.setCellValue("3");
    cell54.setCellStyle(styleTaxNo);
    HSSFCell cell55 = row4.createCell(19);
    cell55.setCellValue("2");
    cell55.setCellStyle(styleTaxNo);
    row4.setHeightInPoints((short) 16);

    HSSFRow rowDepartment = sheetWendy.createRow(6);
    HSSFCell cellDepartment = rowDepartment.createCell(0);
    cellDepartment.setCellValue("Department : WENDY");
    cellDepartment.setCellStyle(styleC6);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A7:T7"));
    rowDepartment.setHeightInPoints((short) 16);
    //wendy
    HSSFRow row5 = sheetWendy.createRow(7);
    HSSFCell cell81 = row5.createCell(0);
    cell81.setCellValue("");
    cell81.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("A8:A11"));
    HSSFCell cell82 = row5.createCell(1);
    cell82.setCellValue("??");
    cell82.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("B8:C9"));
    HSSFCell cell83 = row5.createCell(3);
    cell83.setCellValue("?");
    cell83.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("D8:D11"));
    HSSFCell cell84 = row5.createCell(4);
    cell84.setCellValue(
            "/?");
    cell84.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("E8:E11"));
    HSSFCell cell85 = row5.createCell(5);
    cell85.setCellValue("??");
    cell85.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("F8:G9"));
    HSSFCell cell86 = row5.createCell(7);
    cell86.setCellValue("?");
    cell86.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("H8:N11"));
    HSSFCell cell87 = row5.createCell(14);
    cell87.setCellValue(" ");
    cell87.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("O8:T11"));

    HSSFRow row7 = sheetWendy.createRow(9);
    HSSFCell cell88 = row7.createCell(1);
    cell88.setCellValue("//");
    cell88.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("B10:B11"));
    HSSFCell cell89 = row7.createCell(2);
    cell89.setCellValue("");
    cell89.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("C10:C11"));
    HSSFCell cell90 = row7.createCell(5);
    cell90.setCellValue("??");
    cell90.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("F10:F11"));
    HSSFCell cell91 = row7.createCell(6);
    cell91.setCellValue("");
    cell91.setCellStyle(styleC3);
    sheetWendy.addMergedRegion(CellRangeAddress.valueOf("G10:G11"));

    HSSFRow row6 = sheetWendy.createRow(8);
    for (int i = 0; i < 20; i++) {
        if (i > 1 && i != 3 && i != 4 && i != 5 && i != 7 && i != 14) {
            HSSFCell cell92 = row5.createCell(i);
            cell92.setCellStyle(styleC3);
        }
        if (i == 0 || i == 3 || i == 4 || i == 7 || i == 8 || i == 13 || i == 19) {
            HSSFCell cell94 = row7.createCell(i);
            cell94.setCellStyle(styleC3);
        }
        if (i < 8 || i == 13 || i == 19) {
            HSSFCell cell000 = row6.createCell(i);
            cell000.setCellStyle(styleC3);
        }
        if (i > 0) {
            HSSFCell cellDepartmentTemp = rowDepartment.createCell(i);
            cellDepartmentTemp.setCellStyle(styleC6);
        }
    }

    HSSFRow row8 = sheetWendy.createRow(10);
    row8.setHeightInPoints((short) 31);
    for (int k = 0; k < 20; k++) {
        HSSFCell cell0000 = row8.createCell(k);
        cell0000.setCellStyle(styleC3);
    }

    // set Header Outbound Report (Row 1)
    HSSFRow row1Outbound = sheetOutbound.createRow(0);
    HSSFCell cell1Outbound = row1Outbound.createCell(0);
    cell1Outbound.setCellValue("");
    styleC1.setFont(fontHeader);
    cell1Outbound.setCellStyle(styleC1);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A1:T1"));

    // Row 2
    HSSFRow row2Outbound = sheetOutbound.createRow(1);
    HSSFCell cell21Outbound = row2Outbound.createCell(0);
    cell21Outbound.setCellValue("  " + dataHeader.getHeaderMonth() + "  "
            + dataHeader.getHeaderYear());
    styleC23.setFont(fontHeaderDetail);
    cell21Outbound.setCellStyle(styleC23);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A2:T2"));

    // Row 3
    HSSFRow row3Outbound = sheetOutbound.createRow(2);
    HSSFCell cell31Outbound = row3Outbound.createCell(0);
    cell31Outbound.setCellValue(
            "??  .. ? ?");
    cell31Outbound.setCellStyle(styleC22);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A3:D3"));
    HSSFCell cell32Outbound = row3Outbound.createCell(5);
    cell32Outbound.setCellValue("?? ");
    cell32Outbound.setCellStyle(styleC21);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("F3:J3"));
    HSSFCell cell33Outbound = row3Outbound.createCell(11);
    cell33Outbound.setCellValue("");
    cell33Outbound.setCellStyle(styleSymbol);
    HSSFCell cell34Outbound = row3Outbound.createCell(12);
    cell34Outbound.setCellValue("");
    cell34Outbound.setCellStyle(styleC21);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("M3:O3"));
    HSSFCell cell35Outbound = row3Outbound.createCell(16);
    cell35Outbound.setCellStyle(styleSymbol);
    HSSFCell cell36Outbound = row3Outbound.createCell(17);
    cell36Outbound.setCellStyle(styleSymbol);
    HSSFCell cell37Outbound = row3Outbound.createCell(18);
    cell37Outbound.setCellStyle(styleSymbol);
    row3Outbound.setHeightInPoints((short) 16);

    HSSFRow rowXOutbound = sheetOutbound.createRow(3);
    rowXOutbound.setHeightInPoints((short) 2);

    // Row 4
    HSSFRow row4Outbound = sheetOutbound.createRow(4);
    HSSFCell cell41Outbound = row4Outbound.createCell(0);
    cell41Outbound.setCellValue(
            "??  .. ? ?");
    cell41Outbound.setCellStyle(styleC22);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A5:D5"));
    HSSFCell cell42Outbound = row4Outbound.createCell(4);
    cell42Outbound
            .setCellValue("?  ");
    cell42Outbound.setCellStyle(styleC21);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("E5:G5"));
    HSSFCell cell43Outbound = row4Outbound.createCell(7);
    cell43Outbound.setCellValue("0");
    cell43Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell44Outbound = row4Outbound.createCell(8);
    cell44Outbound.setCellValue("1");
    cell44Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell45Outbound = row4Outbound.createCell(9);
    cell45Outbound.setCellValue("0");
    cell45Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell46Outbound = row4Outbound.createCell(10);
    cell46Outbound.setCellValue("5");
    cell46Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell47Outbound = row4Outbound.createCell(11);
    cell47Outbound.setCellValue("5");
    cell47Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell48Outbound = row4Outbound.createCell(12);
    cell48Outbound.setCellValue("2");
    cell48Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell49Outbound = row4Outbound.createCell(13);
    cell49Outbound.setCellValue("3");
    cell49Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell50Outbound = row4Outbound.createCell(14);
    cell50Outbound.setCellValue("0");
    cell50Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell51Outbound = row4Outbound.createCell(15);
    cell51Outbound.setCellValue("2");
    cell51Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell52Outbound = row4Outbound.createCell(16);
    cell52Outbound.setCellValue("0");
    cell52Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell53Outbound = row4Outbound.createCell(17);
    cell53Outbound.setCellValue("1");
    cell53Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell54Outbound = row4Outbound.createCell(18);
    cell54Outbound.setCellValue("3");
    cell54Outbound.setCellStyle(styleTaxNo);
    HSSFCell cell55Outbound = row4Outbound.createCell(19);
    cell55Outbound.setCellValue("2");
    cell55Outbound.setCellStyle(styleTaxNo);
    row4Outbound.setHeightInPoints((short) 16);

    HSSFRow rowDepartmentO = sheetOutbound.createRow(6);
    HSSFCell cellDepartmentO = rowDepartmentO.createCell(0);
    cellDepartmentO.setCellValue("Department : OUTBOUND");
    cellDepartmentO.setCellStyle(styleC6);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A7:T7"));
    rowDepartmentO.setHeightInPoints((short) 16);

    //Outbound
    HSSFRow row5Outbound = sheetOutbound.createRow(7);
    HSSFCell cell81Outbound = row5Outbound.createCell(0);
    cell81Outbound.setCellValue("");
    cell81Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("A8:A11"));
    HSSFCell cell82Outbound = row5Outbound.createCell(1);
    cell82Outbound.setCellValue("??");
    cell82Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("B8:C9"));
    HSSFCell cell83Outbound = row5Outbound.createCell(3);
    cell83Outbound.setCellValue("?");
    cell83Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("D8:D11"));
    HSSFCell cell84Outbound = row5Outbound.createCell(4);
    cell84Outbound.setCellValue(
            "/?");
    cell84Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("E8:E11"));
    HSSFCell cell85Outbound = row5Outbound.createCell(5);
    cell85Outbound.setCellValue("??");
    cell85Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("F8:G9"));
    HSSFCell cell86Outbound = row5Outbound.createCell(7);
    cell86Outbound.setCellValue("?");
    cell86Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("H8:N11"));
    HSSFCell cell87Outbound = row5Outbound.createCell(14);
    cell87Outbound.setCellValue(" ");
    cell87Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("O8:T11"));

    HSSFRow row7Outbound = sheetOutbound.createRow(9);
    HSSFCell cell88Outbound = row7Outbound.createCell(1);
    cell88Outbound.setCellValue("//");
    cell88Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("B10:B11"));
    HSSFCell cell89Outbound = row7Outbound.createCell(2);
    cell89Outbound.setCellValue("");
    cell89Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("C10:C11"));
    HSSFCell cell90Outbound = row7Outbound.createCell(5);
    cell90Outbound.setCellValue("??");
    cell90Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("F10:F11"));
    HSSFCell cell91Outbound = row7Outbound.createCell(6);
    cell91Outbound.setCellValue("");
    cell91Outbound.setCellStyle(styleC3);
    sheetOutbound.addMergedRegion(CellRangeAddress.valueOf("G10:G11"));

    HSSFRow row6Outbound = sheetOutbound.createRow(8);
    for (int i = 0; i < 20; i++) {
        if (i > 1 && i != 3 && i != 4 && i != 5 && i != 7 && i != 14) {
            HSSFCell cell92Outbound = row5Outbound.createCell(i);
            cell92Outbound.setCellStyle(styleC3);
        }
        if (i == 0 || i == 3 || i == 4 || i == 7 || i == 8 || i == 13 || i == 19) {
            HSSFCell cell94Outbound = row7Outbound.createCell(i);
            cell94Outbound.setCellStyle(styleC3);
        }
        if (i < 8 || i == 13 || i == 19) {
            HSSFCell cell000Outbound = row6Outbound.createCell(i);
            cell000Outbound.setCellStyle(styleC3);
        }
        if (i > 0) {
            HSSFCell cellDepartmentTemp = rowDepartmentO.createCell(i);
            cellDepartmentTemp.setCellStyle(styleC6);
        }
    }

    HSSFRow row8Outbound = sheetOutbound.createRow(10);
    row8Outbound.setHeightInPoints((short) 31);
    for (int k = 0; k < 20; k++) {
        HSSFCell cell0000Outbound = row8Outbound.createCell(k);
        cell0000Outbound.setCellStyle(styleC3);
    }

    // set Header Wendy + Outbound Report (Row 1)            
    HSSFRow row1WendyOutbound = sheetWendyOutbound.createRow(0);
    HSSFCell cell1WendyOutbound = row1WendyOutbound.createCell(0);
    cell1WendyOutbound.setCellValue("");
    styleC1.setFont(fontHeader);
    cell1WendyOutbound.setCellStyle(styleC1);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A1:T1"));

    // Row 2
    HSSFRow row2WendyOutbound = sheetWendyOutbound.createRow(1);
    HSSFCell cell21WendyOutbound = row2WendyOutbound.createCell(0);
    cell21WendyOutbound.setCellValue("  " + dataHeader.getHeaderMonth() + "  "
            + dataHeader.getHeaderYear());
    styleC23.setFont(fontHeaderDetail);
    cell21WendyOutbound.setCellStyle(styleC23);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A2:T2"));

    // Row 3
    HSSFRow row3WendyOutbound = sheetWendyOutbound.createRow(2);
    HSSFCell cell31WendyOutbound = row3WendyOutbound.createCell(0);
    cell31WendyOutbound.setCellValue(
            "??  .. ? ?");
    cell31WendyOutbound.setCellStyle(styleC22);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A3:D3"));
    HSSFCell cell32WendyOutbound = row3WendyOutbound.createCell(5);
    cell32WendyOutbound.setCellValue("?? ");
    cell32WendyOutbound.setCellStyle(styleC21);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("F3:J3"));
    HSSFCell cell33WendyOutbound = row3WendyOutbound.createCell(11);
    cell33WendyOutbound.setCellValue("");
    cell33WendyOutbound.setCellStyle(styleSymbol);
    HSSFCell cell34WendyOutbound = row3WendyOutbound.createCell(12);
    cell34WendyOutbound.setCellValue("");
    cell34WendyOutbound.setCellStyle(styleC21);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("M3:O3"));
    HSSFCell cell35WendyOutbound = row3WendyOutbound.createCell(16);
    cell35WendyOutbound.setCellStyle(styleSymbol);
    HSSFCell cell36WendyOutbound = row3WendyOutbound.createCell(17);
    cell36WendyOutbound.setCellStyle(styleSymbol);
    HSSFCell cell37WendyOutbound = row3WendyOutbound.createCell(18);
    cell37WendyOutbound.setCellStyle(styleSymbol);
    row3WendyOutbound.setHeightInPoints((short) 16);

    HSSFRow rowXWendyOutbound = sheetWendyOutbound.createRow(3);
    rowXWendyOutbound.setHeightInPoints((short) 2);

    // Row 4
    HSSFRow row4WendyOutbound = sheetWendyOutbound.createRow(4);
    HSSFCell cell41WendyOutbound = row4WendyOutbound.createCell(0);
    cell41WendyOutbound.setCellValue(
            "??  .. ? ?");
    cell41WendyOutbound.setCellStyle(styleC22);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A5:D5"));
    HSSFCell cell42WendyOutbound = row4WendyOutbound.createCell(4);
    cell42WendyOutbound
            .setCellValue("?  ");
    cell42WendyOutbound.setCellStyle(styleC21);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("E5:G5"));
    HSSFCell cell43WendyOutbound = row4WendyOutbound.createCell(7);
    cell43WendyOutbound.setCellValue("0");
    cell43WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell44WendyOutbound = row4WendyOutbound.createCell(8);
    cell44WendyOutbound.setCellValue("1");
    cell44WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell45WendyOutbound = row4WendyOutbound.createCell(9);
    cell45WendyOutbound.setCellValue("0");
    cell45WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell46WendyOutbound = row4WendyOutbound.createCell(10);
    cell46WendyOutbound.setCellValue("5");
    cell46WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell47WendyOutbound = row4WendyOutbound.createCell(11);
    cell47WendyOutbound.setCellValue("5");
    cell47WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell48WendyOutbound = row4WendyOutbound.createCell(12);
    cell48WendyOutbound.setCellValue("2");
    cell48WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell49WendyOutbound = row4WendyOutbound.createCell(13);
    cell49WendyOutbound.setCellValue("3");
    cell49WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell50WendyOutbound = row4WendyOutbound.createCell(14);
    cell50WendyOutbound.setCellValue("0");
    cell50WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell51WendyOutbound = row4WendyOutbound.createCell(15);
    cell51WendyOutbound.setCellValue("2");
    cell51WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell52WendyOutbound = row4WendyOutbound.createCell(16);
    cell52WendyOutbound.setCellValue("0");
    cell52WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell53WendyOutbound = row4WendyOutbound.createCell(17);
    cell53WendyOutbound.setCellValue("1");
    cell53WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell54WendyOutbound = row4WendyOutbound.createCell(18);
    cell54WendyOutbound.setCellValue("3");
    cell54WendyOutbound.setCellStyle(styleTaxNo);
    HSSFCell cell55WendyOutbound = row4WendyOutbound.createCell(19);
    cell55WendyOutbound.setCellValue("2");
    cell55WendyOutbound.setCellStyle(styleTaxNo);
    row4WendyOutbound.setHeightInPoints((short) 16);

    HSSFRow rowDepartmentWendyOutbound = sheetWendyOutbound.createRow(6);
    HSSFCell cellDepartmentWendyOutbound = rowDepartmentWendyOutbound.createCell(0);
    cellDepartmentWendyOutbound.setCellValue("Department : WENDY + OUTBOUND");
    cellDepartmentWendyOutbound.setCellStyle(styleC6);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A7:T7"));
    rowDepartmentWendyOutbound.setHeightInPoints((short) 16);
    //wendy
    HSSFRow row5WendyOutbound = sheetWendyOutbound.createRow(7);
    HSSFCell cell81WendyOutbound = row5WendyOutbound.createCell(0);
    cell81WendyOutbound.setCellValue("");
    cell81WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("A8:A11"));
    HSSFCell cell82WendyOutbound = row5WendyOutbound.createCell(1);
    cell82WendyOutbound.setCellValue("??");
    cell82WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("B8:C9"));
    HSSFCell cell83WendyOutbound = row5WendyOutbound.createCell(3);
    cell83WendyOutbound.setCellValue("?");
    cell83WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("D8:D11"));
    HSSFCell cell84WendyOutbound = row5WendyOutbound.createCell(4);
    cell84WendyOutbound.setCellValue(
            "/?");
    cell84WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("E8:E11"));
    HSSFCell cell85WendyOutbound = row5WendyOutbound.createCell(5);
    cell85WendyOutbound.setCellValue("??");
    cell85WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("F8:G9"));
    HSSFCell cell86WendyOutbound = row5WendyOutbound.createCell(7);
    cell86WendyOutbound.setCellValue("?");
    cell86WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("H8:N11"));
    HSSFCell cell87WendyOutbound = row5WendyOutbound.createCell(14);
    cell87WendyOutbound
            .setCellValue(" ");
    cell87WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("O8:T11"));

    HSSFRow row7WendyOutbound = sheetWendyOutbound.createRow(9);
    HSSFCell cell88WendyOutbound = row7WendyOutbound.createCell(1);
    cell88WendyOutbound.setCellValue("//");
    cell88WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("B10:B11"));
    HSSFCell cell89WendyOutbound = row7WendyOutbound.createCell(2);
    cell89WendyOutbound.setCellValue("");
    cell89WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("C10:C11"));
    HSSFCell cell90WendyOutbound = row7WendyOutbound.createCell(5);
    cell90WendyOutbound.setCellValue("??");
    cell90WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("F10:F11"));
    HSSFCell cell91WendyOutbound = row7WendyOutbound.createCell(6);
    cell91WendyOutbound.setCellValue("");
    cell91WendyOutbound.setCellStyle(styleC3);
    sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf("G10:G11"));

    HSSFRow row6WendyOutbound = sheetWendyOutbound.createRow(8);
    for (int i = 0; i < 20; i++) {
        if (i > 1 && i != 3 && i != 4 && i != 5 && i != 7 && i != 14) {
            HSSFCell cell92 = row5WendyOutbound.createCell(i);
            cell92.setCellStyle(styleC3);
        }
        if (i == 0 || i == 3 || i == 4 || i == 7 || i == 8 || i == 13 || i == 19) {
            HSSFCell cell94 = row7WendyOutbound.createCell(i);
            cell94.setCellStyle(styleC3);
        }
        if (i < 8 || i == 13 || i == 19) {
            HSSFCell cell000 = row6WendyOutbound.createCell(i);
            cell000.setCellStyle(styleC3);
        }
        if (i > 0) {
            HSSFCell cellDepartmentTemp = rowDepartmentWendyOutbound.createCell(i);
            cellDepartmentTemp.setCellStyle(styleC6);
        }
    }

    HSSFRow row8WendyOutbound = sheetWendyOutbound.createRow(10);
    row8WendyOutbound.setHeightInPoints((short) 31);
    for (int k = 0; k < 20; k++) {
        HSSFCell cell0000 = row8WendyOutbound.createCell(k);
        cell0000.setCellStyle(styleC3);
    }

    // set Header Inbound Report (Row 1)
    HSSFRow row1Inbound = sheetInbound.createRow(0);
    HSSFCell cell1Inbound = row1Inbound.createCell(0);
    cell1Inbound.setCellValue("");
    styleC1.setFont(fontHeader);
    cell1Inbound.setCellStyle(styleC1);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A1:T1"));

    // Row 2
    HSSFRow row2Inbound = sheetInbound.createRow(1);
    HSSFCell cell21Inbound = row2Inbound.createCell(0);
    cell21Inbound.setCellValue("  " + dataHeader.getHeaderMonth() + "  "
            + dataHeader.getHeaderYear());
    styleC23.setFont(fontHeaderDetail);
    cell21Inbound.setCellStyle(styleC23);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A2:T2"));

    // Row 3
    HSSFRow row3Inbound = sheetInbound.createRow(2);
    HSSFCell cell31Inbound = row3Inbound.createCell(0);
    cell31Inbound.setCellValue(
            "??  .. ? ?");
    cell31Inbound.setCellStyle(styleC22);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A3:D3"));
    HSSFCell cell32Inbound = row3Inbound.createCell(5);
    cell32Inbound.setCellValue("?? ");
    cell32Inbound.setCellStyle(styleC21);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("F3:J3"));
    HSSFCell cell33Inbound = row3Inbound.createCell(11);
    cell33Inbound.setCellValue("");
    cell33Inbound.setCellStyle(styleSymbol);
    HSSFCell cell34Inbound = row3Inbound.createCell(12);
    cell34Inbound.setCellValue("");
    cell34Inbound.setCellStyle(styleC21);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("M3:O3"));
    HSSFCell cell35Inbound = row3Inbound.createCell(16);
    cell35Inbound.setCellStyle(styleSymbol);
    HSSFCell cell36Inbound = row3Inbound.createCell(17);
    cell36Inbound.setCellStyle(styleSymbol);
    HSSFCell cell37Inbound = row3Inbound.createCell(18);
    cell37Inbound.setCellStyle(styleSymbol);
    row3Inbound.setHeightInPoints((short) 16);

    HSSFRow rowXInbound = sheetInbound.createRow(3);
    rowXInbound.setHeightInPoints((short) 2);

    // Row 4
    HSSFRow row4Inbound = sheetInbound.createRow(4);
    HSSFCell cell41Inbound = row4Inbound.createCell(0);
    cell41Inbound.setCellValue(
            "??  .. ? ?");
    cell41Inbound.setCellStyle(styleC22);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A5:D5"));
    HSSFCell cell42Inbound = row4Inbound.createCell(4);
    cell42Inbound
            .setCellValue("?  ");
    cell42Inbound.setCellStyle(styleC21);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("E5:G5"));
    HSSFCell cell43Inbound = row4Inbound.createCell(7);
    cell43Inbound.setCellValue("0");
    cell43Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell44Inbound = row4Inbound.createCell(8);
    cell44Inbound.setCellValue("1");
    cell44Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell45Inbound = row4Inbound.createCell(9);
    cell45Inbound.setCellValue("0");
    cell45Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell46Inbound = row4Inbound.createCell(10);
    cell46Inbound.setCellValue("5");
    cell46Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell47Inbound = row4Inbound.createCell(11);
    cell47Inbound.setCellValue("5");
    cell47Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell48Inbound = row4Inbound.createCell(12);
    cell48Inbound.setCellValue("2");
    cell48Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell49Inbound = row4Inbound.createCell(13);
    cell49Inbound.setCellValue("3");
    cell49Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell50Inbound = row4Inbound.createCell(14);
    cell50Inbound.setCellValue("0");
    cell50Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell51Inbound = row4Inbound.createCell(15);
    cell51Inbound.setCellValue("2");
    cell51Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell52Inbound = row4Inbound.createCell(16);
    cell52Inbound.setCellValue("0");
    cell52Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell53Inbound = row4Inbound.createCell(17);
    cell53Inbound.setCellValue("1");
    cell53Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell54Inbound = row4Inbound.createCell(18);
    cell54Inbound.setCellValue("3");
    cell54Inbound.setCellStyle(styleTaxNo);
    HSSFCell cell55Inbound = row4Inbound.createCell(19);
    cell55Inbound.setCellValue("2");
    cell55Inbound.setCellStyle(styleTaxNo);
    row4Inbound.setHeightInPoints((short) 16);

    HSSFRow rowDepartmentI = sheetInbound.createRow(6);
    HSSFCell cellDepartmentI = rowDepartmentI.createCell(0);
    cellDepartmentI.setCellValue("Department : INBOUND");
    cellDepartmentI.setCellStyle(styleC6);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A7:T7"));
    rowDepartmentI.setHeightInPoints((short) 16);

    //Inbound
    HSSFRow row5Inbound = sheetInbound.createRow(7);
    HSSFCell cell81Inbound = row5Inbound.createCell(0);
    cell81Inbound.setCellValue("");
    cell81Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("A8:A11"));
    HSSFCell cell82Inbound = row5Inbound.createCell(1);
    cell82Inbound.setCellValue("??");
    cell82Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("B8:C9"));
    HSSFCell cell83Inbound = row5Inbound.createCell(3);
    cell83Inbound.setCellValue("?");
    cell83Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("D8:D11"));
    HSSFCell cell84Inbound = row5Inbound.createCell(4);
    cell84Inbound.setCellValue(
            "/?");
    cell84Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("E8:E11"));
    HSSFCell cell85Inbound = row5Inbound.createCell(5);
    cell85Inbound.setCellValue("??");
    cell85Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("F8:G9"));
    HSSFCell cell86Inbound = row5Inbound.createCell(7);
    cell86Inbound.setCellValue("?");
    cell86Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("H8:N11"));
    HSSFCell cell87Inbound = row5Inbound.createCell(14);
    cell87Inbound.setCellValue(" ");
    cell87Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("O8:T11"));

    HSSFRow row7Inbound = sheetInbound.createRow(9);
    HSSFCell cell88Inbound = row7Inbound.createCell(1);
    cell88Inbound.setCellValue("//");
    cell88Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("B10:B11"));
    HSSFCell cell89Inbound = row7Inbound.createCell(2);
    cell89Inbound.setCellValue("");
    cell89Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("C10:C11"));
    HSSFCell cell90Inbound = row7Inbound.createCell(5);
    cell90Inbound.setCellValue("??");
    cell90Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("F10:F11"));
    HSSFCell cell91Inbound = row7Inbound.createCell(6);
    cell91Inbound.setCellValue("");
    cell91Inbound.setCellStyle(styleC3);
    sheetInbound.addMergedRegion(CellRangeAddress.valueOf("G10:G11"));

    HSSFRow row6Inbound = sheetInbound.createRow(8);
    for (int i = 0; i < 20; i++) {
        if (i > 1 && i != 3 && i != 4 && i != 5 && i != 7 && i != 14) {
            HSSFCell cell92Inbound = row5Inbound.createCell(i);
            cell92Inbound.setCellStyle(styleC3);
        }
        if (i == 0 || i == 3 || i == 4 || i == 7 || i == 8 || i == 13 || i == 19) {
            HSSFCell cell94Inbound = row7Inbound.createCell(i);
            cell94Inbound.setCellStyle(styleC3);
        }
        if (i < 8 || i == 13 || i == 19) {
            HSSFCell cell000Inbound = row6Inbound.createCell(i);
            cell000Inbound.setCellStyle(styleC3);
        }
        if (i > 0) {
            HSSFCell cellDepartmentTemp = rowDepartmentI.createCell(i);
            cellDepartmentTemp.setCellStyle(styleC6);
        }
    }

    HSSFRow row8Inbound = sheetInbound.createRow(10);
    row8Inbound.setHeightInPoints((short) 31);
    for (int k = 0; k < 20; k++) {
        HSSFCell cell0000Inbound = row8Inbound.createCell(k);
        cell0000Inbound.setCellStyle(styleC3);
    }
    int tempContW = 0;
    int tempContO = 0;
    int tempContI = 0;
    int tempContWO = 0;
    int cCount = 0;
    int cCountO = 0;
    int cCountI = 0;
    int cCountWO = 0;
    int cCountRowPrintW = 30;
    int cCountRowPrintO = 30;
    int cCountRowPrintWO = 30;
    int cCountRowPrintI = 30;
    float heightPoint = (float) 17.5;
    for (int i = 0; i < outputTaxViewList.size(); i++) {
        OutputTaxView data = (OutputTaxView) outputTaxViewList.get(i);
        if ("Wendy".equalsIgnoreCase(data.getDepartment())) {
            //                    System.out.println("===== cCount Wendy ===== : " + cCount);
            if (cCount == cCountRowPrintW) {
                HSSFRow rowtotal = sheetWendy.createRow(count + w + countWTemp);
                rowtotal.setHeightInPoints(heightPoint);
                //                        System.out.println("H : " + (count+tempContW+1+countWTemp) + " - H : " + (count+w+countWTemp) + " = " + grossWCN.multiply(BigDecimal.valueOf(2)));
                String totalGross = "SUM(H" + (count + tempContW + 1 + countWTemp) + ":H"
                        + (count + w + countWTemp) + ") -" + grossWCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContW + 1 + countWTemp) + ":O"
                        + (count + w + countWTemp) + ") -" + vatWCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (count + w + countWTemp + 1) + ":N" + (count + w + countWTemp + 1)));
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (count + w + countWTemp + 1) + ":T" + (count + w + countWTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                countWTemp = countWTemp + 1;
                grossWCN = BigDecimal.ZERO;
                vatWCN = BigDecimal.ZERO;
                tempContW = i;
                cCount = 0;
            }

            HSSFRow row = sheetWendy.createRow(count + w + countWTemp);
            row.setHeightInPoints(heightPoint);
            HSSFCell celldata0 = row.createCell(0);
            celldata0.setCellValue(String.valueOf(data.getOrder()));
            celldata0.setCellStyle(styleC26);

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

            HSSFCell celldata2 = row.createCell(2);
            celldata2.setCellValue(String.valueOf(data.getTaxno()));
            celldata2.setCellStyle(styleC30);

            HSSFCell celldata3 = row.createCell(3);
            celldata3.setCellValue(String.valueOf(data.getDescription()));
            celldata3.setCellStyle(styleC25);

            HSSFCell celldata4 = row.createCell(4);
            celldata4.setCellValue(String.valueOf(data.getAgttaxno()));
            celldata4.setCellStyle(styleC25);

            HSSFCell celldata5 = row.createCell(5);
            if ("1".equalsIgnoreCase(String.valueOf(data.getMain()))) {
                celldata5.setCellValue("");
            } else {
                celldata5.setCellValue("");
            }
            celldata5.setCellStyle(styleSymbol);

            HSSFCell celldata6 = row.createCell(6);
            celldata6.setCellValue(String.valueOf(data.getBranchno()));
            celldata6.setCellStyle(styleC30);

            HSSFCell celldata7 = row.createCell(7);
            HSSFCell celldata8 = row.createCell(14);
            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25CN);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25CN);

            } else {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25);
            }
            sheetWendy.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + w + countWTemp + 1) + ":N" + (count + w + countWTemp + 1)));
            sheetWendy.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + w + countWTemp + 1) + ":T" + (count + w + countWTemp + 1)));

            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = row.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                if (data.getGross() != null) {
                    grossWCN = grossWCN.add(data.getGross());
                    grossWCNTotal = grossWCNTotal.add(data.getGross());
                } else {
                    grossWCN = grossWCN.add(BigDecimal.ZERO);
                    grossWCNTotal = grossWCNTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatWCN = vatWCN.add(data.getVat());
                    vatWCNTotal = vatWCNTotal.add(data.getVat());
                } else {
                    vatWCN = vatWCN.add(BigDecimal.ZERO);
                    vatWCNTotal = vatWCNTotal.add(BigDecimal.ZERO);
                }
            } else {
                if (data.getGross() != null) {
                    grossW = grossW.add(data.getGross());
                    grossWTotal = grossWTotal.add(data.getGross());
                } else {
                    grossW = grossW.add(BigDecimal.ZERO);
                    grossWTotal = grossWTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatW = vatW.add(data.getVat());
                    vatWTotal = vatWTotal.add(data.getVat());
                } else {
                    vatW = vatW.add(BigDecimal.ZERO);
                    vatWTotal = vatWTotal.add(BigDecimal.ZERO);
                }
            }
            tempcountW = count + w + 1;
            cCount = cCount + 1;
            w++;

        }

        //Outbound
        if ("Outbound".equalsIgnoreCase(data.getDepartment())) {
            //                    System.out.println("===== cCountO Outbound ===== : " + cCountO);
            if (cCountO == cCountRowPrintO) {
                HSSFRow rowtotal = sheetOutbound.createRow(count + x + countOTemp);
                rowtotal.setHeightInPoints(heightPoint);
                //                        System.out.println("H : " + (count+tempContO+1+countOTemp) + " - H : " + (count+x+countOTemp) + " = " + grossOCN.multiply(BigDecimal.valueOf(2)));
                String totalGross = "SUM(H" + (count + tempContO + 1 + countOTemp) + ":H"
                        + (count + x + countOTemp) + ") -" + grossOCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContO + 1 + countOTemp) + ":O"
                        + (count + x + countOTemp) + ") -" + vatOCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (count + x + countOTemp + 1) + ":N" + (count + x + countOTemp + 1)));
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (count + x + countOTemp + 1) + ":T" + (count + x + countOTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                countOTemp = countOTemp + 1;
                grossOCN = BigDecimal.ZERO;
                vatOCN = BigDecimal.ZERO;
                tempContO = x;
                cCountO = 0;
            }

            HSSFRow row = sheetOutbound.createRow(count + x + countOTemp);
            row.setHeightInPoints(heightPoint);
            HSSFCell celldata0 = row.createCell(0);
            celldata0.setCellValue(String.valueOf(data.getOrder()));
            celldata0.setCellStyle(styleC26);

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

            HSSFCell celldata2 = row.createCell(2);
            celldata2.setCellValue(String.valueOf(data.getTaxno()));
            celldata2.setCellStyle(styleC30);

            HSSFCell celldata3 = row.createCell(3);
            celldata3.setCellValue(String.valueOf(data.getDescription()));
            celldata3.setCellStyle(styleC25);

            HSSFCell celldata4 = row.createCell(4);
            celldata4.setCellValue(String.valueOf(data.getAgttaxno()));
            celldata4.setCellStyle(styleC25);

            HSSFCell celldata5 = row.createCell(5);
            if ("1".equalsIgnoreCase(String.valueOf(data.getMain()))) {
                celldata5.setCellValue("");
            } else {
                celldata5.setCellValue("");
            }
            celldata5.setCellStyle(styleSymbol);

            HSSFCell celldata6 = row.createCell(6);
            celldata6.setCellValue(String.valueOf(data.getBranchno()));
            celldata6.setCellStyle(styleC30);

            HSSFCell celldata7 = row.createCell(7);
            HSSFCell celldata8 = row.createCell(14);
            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25CN);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25CN);
            } else {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25);
            }
            sheetOutbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + x + countOTemp + 1) + ":N" + (count + x + countOTemp + 1)));
            sheetOutbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + x + countOTemp + 1) + ":T" + (count + x + countOTemp + 1)));
            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = row.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                if (data.getGross() != null) {
                    grossOCN = grossOCN.add(data.getGross());
                    grossOCNTotal = grossOCNTotal.add(data.getGross());
                } else {
                    grossOCN = grossOCN.add(BigDecimal.ZERO);
                    grossOCNTotal = grossOCNTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatOCN = vatOCN.add(data.getVat());
                    vatOCNTotal = vatOCNTotal.add(data.getVat());
                } else {
                    vatOCN = vatOCN.add(BigDecimal.ZERO);
                    vatOCNTotal = vatOCNTotal.add(BigDecimal.ZERO);
                }
            } else {
                if (data.getGross() != null) {
                    grossO = grossO.add(data.getGross());
                    grossOTotal = grossOTotal.add(data.getGross());
                } else {
                    grossO = grossO.add(BigDecimal.ZERO);
                    grossOTotal = grossOTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatO = vatO.add(data.getVat());
                    vatOTotal = vatOTotal.add(data.getVat());
                } else {
                    vatO = vatO.add(BigDecimal.ZERO);
                    vatOTotal = vatOTotal.add(BigDecimal.ZERO);
                }
            }
            tempcountO = count + x + 1;
            cCountO = cCountO + 1;
            x++;
        }

        //Wendy + Outbound
        if ("Wendy".equalsIgnoreCase(data.getDepartment())
                || "Outbound".equalsIgnoreCase(data.getDepartment())) {
            System.out.println("===== cCountWO WendyOutbound ===== : " + cCountWO);
            if (cCountWO == cCountRowPrintWO) {
                HSSFRow rowtotal = sheetWendyOutbound.createRow(count + z + countWOTemp);
                rowtotal.setHeightInPoints(heightPoint);
                System.out.println("H : " + (count + tempContWO + 1 + countWOTemp) + " - H : "
                        + (count + z + countWOTemp) + " = " + grossWOCN.multiply(BigDecimal.valueOf(2)));
                String totalGross = "SUM(H" + (count + tempContWO + 1 + countWOTemp) + ":H"
                        + (count + z + countWOTemp) + ") -" + grossWOCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContWO + 1 + countWOTemp) + ":O"
                        + (count + z + countWOTemp) + ") -" + vatWOCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetWendyOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (count + z + countWOTemp + 1) + ":N" + (count + z + countWOTemp + 1)));
                sheetWendyOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (count + z + countWOTemp + 1) + ":T" + (count + z + countWOTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                countWOTemp = countWOTemp + 1;
                grossWOCN = BigDecimal.ZERO;
                vatWOCN = BigDecimal.ZERO;
                tempContWO = z;
                cCountWO = 0;
            }

            HSSFRow row = sheetWendyOutbound.createRow(count + z + countWOTemp);
            row.setHeightInPoints(heightPoint);
            HSSFCell celldata0 = row.createCell(0);
            celldata0.setCellValue(String.valueOf(data.getOrder()));
            celldata0.setCellStyle(styleC26);

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

            HSSFCell celldata2 = row.createCell(2);
            celldata2.setCellValue(String.valueOf(data.getTaxno()));
            celldata2.setCellStyle(styleC30);

            HSSFCell celldata3 = row.createCell(3);
            celldata3.setCellValue(String.valueOf(data.getDescription()));
            celldata3.setCellStyle(styleC25);

            HSSFCell celldata4 = row.createCell(4);
            celldata4.setCellValue(String.valueOf(data.getAgttaxno()));
            celldata4.setCellStyle(styleC25);

            HSSFCell celldata5 = row.createCell(5);
            if ("1".equalsIgnoreCase(String.valueOf(data.getMain()))) {
                celldata5.setCellValue("");
            } else {
                celldata5.setCellValue("");
            }
            celldata5.setCellStyle(styleSymbol);

            HSSFCell celldata6 = row.createCell(6);
            celldata6.setCellValue(String.valueOf(data.getBranchno()));
            celldata6.setCellStyle(styleC30);

            HSSFCell celldata7 = row.createCell(7);
            HSSFCell celldata8 = row.createCell(14);
            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25CN);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25CN);
            } else {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25);
            }
            sheetWendyOutbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + z + countWOTemp + 1) + ":N" + (count + z + countWOTemp + 1)));
            sheetWendyOutbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + z + countWOTemp + 1) + ":T" + (count + z + countWOTemp + 1)));
            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = row.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                if (data.getGross() != null) {
                    grossWOCN = grossWOCN.add(data.getGross());
                    grossWOCNTotal = grossWOCNTotal.add(data.getGross());
                } else {
                    grossWOCN = grossWOCN.add(BigDecimal.ZERO);
                    grossWOCNTotal = grossWOCNTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatWOCN = vatWOCN.add(data.getVat());
                    vatWOCNTotal = vatWOCNTotal.add(data.getVat());
                } else {
                    vatWOCN = vatWOCN.add(BigDecimal.ZERO);
                    vatWOCNTotal = vatWOCNTotal.add(BigDecimal.ZERO);
                }
            } else {
                if (data.getGross() != null) {
                    grossWO = grossWO.add(data.getGross());
                    grossWOTotal = grossWOTotal.add(data.getGross());
                } else {
                    grossWO = grossWO.add(BigDecimal.ZERO);
                    grossWOTotal = grossWOTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatWO = vatWO.add(data.getVat());
                    vatWOTotal = vatWOTotal.add(data.getVat());
                } else {
                    vatWO = vatWO.add(BigDecimal.ZERO);
                    vatWOTotal = vatWOTotal.add(BigDecimal.ZERO);
                }
            }
            tempcountWO = count + z + 1;
            cCountWO = cCountWO + 1;
            z++;
        }

        if ("Inbound".equalsIgnoreCase(data.getDepartment())) {
            //                    System.out.println("===== cCountI Inbound ===== : " + cCountI);
            if (cCountI == cCountRowPrintI) {
                HSSFRow rowtotal = sheetInbound.createRow(count + y + countITemp);
                rowtotal.setHeightInPoints(heightPoint);
                String totalGross = "SUM(H" + (count + tempContI + 1 + countITemp) + ":H"
                        + (count + y + countITemp) + ") -" + grossICN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContI + 1 + countITemp) + ":O"
                        + (count + y + countITemp) + ") -" + vatICN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);

                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (count + y + countITemp + 1) + ":N" + (count + y + countITemp + 1)));
                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (count + y + countITemp + 1) + ":T" + (count + y + countITemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                countITemp = countITemp + 1;
                grossICN = BigDecimal.ZERO;
                vatICN = BigDecimal.ZERO;
                tempContI = y;
                cCountI = 0;
            }
            HSSFRow row = sheetInbound.createRow(count + y + countITemp);
            row.setHeightInPoints(heightPoint);
            HSSFCell celldata0 = row.createCell(0);
            celldata0.setCellValue(String.valueOf(data.getOrder()));
            celldata0.setCellStyle(styleC26);

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

            HSSFCell celldata2 = row.createCell(2);
            celldata2.setCellValue(String.valueOf(data.getTaxno()));
            celldata2.setCellStyle(styleC30);

            HSSFCell celldata3 = row.createCell(3);
            celldata3.setCellValue(String.valueOf(data.getDescription()));
            celldata3.setCellStyle(styleC25);

            HSSFCell celldata4 = row.createCell(4);
            celldata4.setCellValue(String.valueOf(data.getAgttaxno()));
            celldata4.setCellStyle(styleC25);

            HSSFCell celldata5 = row.createCell(5);
            if ("1".equalsIgnoreCase(String.valueOf(data.getMain()))) {
                celldata5.setCellValue("");
            } else {
                celldata5.setCellValue("");
            }
            celldata5.setCellStyle(styleSymbol);

            HSSFCell celldata6 = row.createCell(6);
            celldata6.setCellValue(String.valueOf(data.getBranchno()));
            celldata6.setCellStyle(styleC30);

            HSSFCell celldata7 = row.createCell(7);
            HSSFCell celldata8 = row.createCell(14);
            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25CN);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25CN);
            } else {
                celldata7.setCellValue("".equalsIgnoreCase(String.valueOf(data.getGross())) ? 0
                        : (data.getGross()).doubleValue());
                celldata7.setCellStyle(styleC25);

                celldata8.setCellValue(
                        "".equalsIgnoreCase(String.valueOf(data.getVat())) ? 0 : (data.getVat()).doubleValue());
                celldata8.setCellStyle(styleC25);
            }
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + y + countITemp + 1) + ":N" + (count + y + countITemp + 1)));
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + y + countITemp + 1) + ":T" + (count + y + countITemp + 1)));
            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = row.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            if ("CN".equalsIgnoreCase(String.valueOf(data.getType()))) {
                if (data.getGross() != null) {
                    grossICN = grossICN.add(data.getGross());
                    grossICNTotal = grossICNTotal.add(data.getGross());
                } else {
                    grossICN = grossICN.add(BigDecimal.ZERO);
                    grossICNTotal = grossICNTotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatICN = vatICN.add(data.getVat());
                    vatICNTotal = vatICNTotal.add(data.getVat());
                } else {
                    vatICN = vatICN.add(BigDecimal.ZERO);
                    vatICNTotal = vatICNTotal.add(BigDecimal.ZERO);
                }
            } else {
                if (data.getGross() != null) {
                    grossI = grossI.add(data.getGross());
                    grossITotal = grossITotal.add(data.getGross());
                } else {
                    grossI = grossI.add(BigDecimal.ZERO);
                    grossITotal = grossITotal.add(BigDecimal.ZERO);
                }

                if (data.getVat() != null) {
                    vatI = vatI.add(data.getVat());
                    vatITotal = vatITotal.add(data.getVat());
                } else {
                    vatI = vatI.add(BigDecimal.ZERO);
                    vatITotal = vatITotal.add(BigDecimal.ZERO);
                }
            }
            tempcountI = count + y + 1;
            cCountI = cCountI + 1;
            y++;
        }

        if (i == (outputTaxViewList.size() - 1)) {
            if (tempcountW != 0 || countWendy == 0) {
                tempcountW = (tempcountW != 0 ? tempcountW : 11);
                System.out.println("Temp Count W : " + tempcountW);
                System.out.println("Count W Temp : " + countWTemp);
                HSSFRow rowtotal = sheetWendy.createRow(tempcountW + countWTemp);
                rowtotal.setHeightInPoints(heightPoint);
                String totalGross = "SUM(H" + (count + tempContW + 1 + countWTemp) + ":H"
                        + (tempcountW + countWTemp) + ") -" + grossWCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContW + 1 + countWTemp) + ":O"
                        + (tempcountW + countWTemp) + ") -" + vatWCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountW + countWTemp + 1) + ":N" + (tempcountW + countWTemp + 1)));
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountW + countWTemp + 1) + ":T" + (tempcountW + countWTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                HSSFRow rowtotalwenBorder = sheetWendy.createRow(tempcountW + countWTemp + 1);
                for (int k = 0; k < 20; k++) {
                    HSSFCell cell0000 = rowtotalwenBorder.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("A" + (tempcountW + countWTemp + 2) + ":T" + (tempcountW + countWTemp + 2)));

                HSSFRow rowtotalwen = sheetWendy.createRow(tempcountW + countWTemp + 2);
                rowtotalwen.setHeightInPoints(heightPoint);
                HSSFCell cellTotalWen0 = rowtotalwen.createCell(0);
                cellTotalWen0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotalWen00 = rowtotalwen.createCell(1);
                cellTotalWen00.setCellStyle(stylebordertotal);
                HSSFCell cellTotalWen01 = rowtotalwen.createCell(2);
                cellTotalWen01.setCellStyle(stylebordertotal);
                HSSFCell cellTotalWen02 = rowtotalwen.createCell(3);
                cellTotalWen02.setCellStyle(stylebordertotal);
                HSSFCell cellTotalWen03 = rowtotalwen.createCell(4);
                cellTotalWen03.setCellStyle(stylebordertotal);
                HSSFCell cellTotalWen04 = rowtotalwen.createCell(5);
                cellTotalWen04.setCellStyle(stylebordertotal);
                HSSFCell cellTotalWen05 = rowtotalwen.createCell(6);
                cellTotalWen05.setCellValue("TOTAL WENDY : ");
                cellTotalWen05.setCellStyle(styleC4);
                HSSFCell cellTotalWen06 = rowtotalwen.createCell(7);
                cellTotalWen06.setCellValue((grossWTotal.subtract(grossWCNTotal)).doubleValue());
                cellTotalWen06.setCellStyle(styleC25);
                HSSFCell cellTotalWen07 = rowtotalwen.createCell(14);
                cellTotalWen07.setCellValue((vatWTotal.subtract(vatWCNTotal)).doubleValue());
                cellTotalWen07.setCellStyle(styleC25);

                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountW + countWTemp + 3) + ":N" + (tempcountW + countWTemp + 3)));
                sheetWendy.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountW + countWTemp + 3) + ":T" + (tempcountW + countWTemp + 3)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotalwen.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }
            }

            if (x != 0 || countOutbound == 0) {
                tempcountO = (x != 0 ? count + x : 11);
                HSSFRow rowtotal = sheetOutbound.createRow(tempcountO + countOTemp);
                rowtotal.setHeightInPoints(heightPoint);
                String totalGross = "SUM(H" + (count + tempContO + 1 + countOTemp) + ":H"
                        + (tempcountO + countOTemp) + ") -" + grossOCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContO + 1 + countOTemp) + ":O"
                        + (tempcountO + countOTemp) + ") -" + vatOCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountO + countOTemp + 1) + ":N" + (tempcountO + countOTemp + 1)));
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountO + countOTemp + 1) + ":T" + (tempcountO + countOTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                HSSFRow rowtotalOutBorder = sheetOutbound.createRow(tempcountO + countOTemp + 1);
                for (int k = 0; k < 20; k++) {
                    HSSFCell cell0000 = rowtotalOutBorder.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("A" + (tempcountO + countOTemp + 2) + ":T" + (tempcountO + countOTemp + 2)));

                HSSFRow rowtotalout = sheetOutbound.createRow(tempcountO + countOTemp + 2);
                rowtotalout.setHeightInPoints(heightPoint);
                HSSFCell cellTotalOut0 = rowtotalout.createCell(0);
                cellTotalOut0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotalOut00 = rowtotalout.createCell(1);
                cellTotalOut00.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut01 = rowtotalout.createCell(2);
                cellTotalOut01.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut02 = rowtotalout.createCell(3);
                cellTotalOut02.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut03 = rowtotalout.createCell(4);
                cellTotalOut03.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut04 = rowtotalout.createCell(5);
                cellTotalOut04.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut05 = rowtotalout.createCell(6);
                cellTotalOut05.setCellValue("TOTAL OUTBOUND : ");
                cellTotalOut05.setCellStyle(styleC4);
                HSSFCell cellTotalOut06 = rowtotalout.createCell(7);
                cellTotalOut06.setCellValue((grossOTotal.subtract(grossOCNTotal)).doubleValue());
                cellTotalOut06.setCellStyle(styleC25);
                HSSFCell cellTotalOut07 = rowtotalout.createCell(14);
                cellTotalOut07.setCellValue((vatOTotal.subtract(vatOCNTotal)).doubleValue());
                cellTotalOut07.setCellStyle(styleC25);

                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountO + countOTemp + 3) + ":N" + (tempcountO + countOTemp + 3)));
                sheetOutbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountO + countOTemp + 3) + ":T" + (tempcountO + countOTemp + 3)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotalout.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }
            }

            if (z != 0 || countWendyOutbound == 0) {
                tempcountWO = (z != 0 ? count + z : 11);
                HSSFRow rowtotal = sheetWendyOutbound.createRow(tempcountWO + countWOTemp);
                rowtotal.setHeightInPoints(heightPoint);
                String totalGross = "SUM(H" + (count + tempContWO + 1 + countWOTemp) + ":H"
                        + (tempcountWO + countWOTemp) + ") -" + grossWOCN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContWO + 1 + countWOTemp) + ":O"
                        + (tempcountWO + countWOTemp) + ") -" + vatWOCN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);
                sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf(
                        "H" + (tempcountWO + countWOTemp + 1) + ":N" + (tempcountWO + countWOTemp + 1)));
                sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf(
                        "O" + (tempcountWO + countWOTemp + 1) + ":T" + (tempcountWO + countWOTemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                HSSFRow rowtotalOutBorder = sheetWendyOutbound.createRow(tempcountWO + countWOTemp + 1);
                for (int k = 0; k < 20; k++) {
                    HSSFCell cell0000 = rowtotalOutBorder.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
                sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf(
                        "A" + (tempcountWO + countWOTemp + 2) + ":T" + (tempcountWO + countWOTemp + 2)));

                HSSFRow rowtotalout = sheetWendyOutbound.createRow(tempcountWO + countWOTemp + 2);
                rowtotalout.setHeightInPoints(heightPoint);
                HSSFCell cellTotalOut0 = rowtotalout.createCell(0);
                cellTotalOut0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotalOut00 = rowtotalout.createCell(1);
                cellTotalOut00.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut01 = rowtotalout.createCell(2);
                cellTotalOut01.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut02 = rowtotalout.createCell(3);
                cellTotalOut02.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut03 = rowtotalout.createCell(4);
                cellTotalOut03.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut04 = rowtotalout.createCell(5);
                cellTotalOut04.setCellStyle(stylebordertotal);
                HSSFCell cellTotalOut05 = rowtotalout.createCell(6);
                cellTotalOut05.setCellValue("TOTAL WENDY + OUTBOUND : ");
                cellTotalOut05.setCellStyle(styleC4);
                HSSFCell cellTotalOut06 = rowtotalout.createCell(7);
                cellTotalOut06.setCellValue((grossWOTotal.subtract(grossWOCNTotal)).doubleValue());
                cellTotalOut06.setCellStyle(styleC25);
                HSSFCell cellTotalOut07 = rowtotalout.createCell(14);
                cellTotalOut07.setCellValue((vatWOTotal.subtract(vatWOCNTotal)).doubleValue());
                cellTotalOut07.setCellStyle(styleC25);

                sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf(
                        "H" + (tempcountWO + countWOTemp + 3) + ":N" + (tempcountWO + countWOTemp + 3)));
                sheetWendyOutbound.addMergedRegion(CellRangeAddress.valueOf(
                        "O" + (tempcountWO + countWOTemp + 3) + ":T" + (tempcountWO + countWOTemp + 3)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotalout.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }
            }

            if (y != 0 || countInbound == 0) {
                tempcountI = (y != 0 ? count + y : 11);
                HSSFRow rowtotal = sheetInbound.createRow(tempcountI + countITemp);
                rowtotal.setHeightInPoints(heightPoint);
                String totalGross = "SUM(H" + (count + tempContI + 1 + countITemp) + ":H"
                        + (tempcountI + countITemp) + ") -" + grossICN.multiply(BigDecimal.valueOf(2));
                String totalVat = "SUM(O" + (count + tempContI + 1 + countITemp) + ":O"
                        + (tempcountI + countITemp) + ")-" + vatICN.multiply(BigDecimal.valueOf(2));

                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);

                HSSFCell cellTotal0 = rowtotal.createCell(0);
                cellTotal0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotal00 = rowtotal.createCell(1);
                cellTotal00.setCellStyle(stylebordertotal);
                HSSFCell cellTotal01 = rowtotal.createCell(2);
                cellTotal01.setCellStyle(stylebordertotal);
                HSSFCell cellTotal02 = rowtotal.createCell(3);
                cellTotal02.setCellStyle(stylebordertotal);
                HSSFCell cellTotal03 = rowtotal.createCell(4);
                cellTotal03.setCellStyle(stylebordertotal);
                HSSFCell cellTotal04 = rowtotal.createCell(5);
                cellTotal04.setCellStyle(stylebordertotal);
                HSSFCell cellTotal05 = rowtotal.createCell(6);
                cellTotal05.setCellValue("TOTAL : ");
                cellTotal05.setCellStyle(styleC4);
                HSSFCell cellTotal06 = rowtotal.createCell(7);
                cellTotal06.setCellFormula(totalGross);
                cellTotal06.setCellStyle(styleC25);
                HSSFCell cellTotal07 = rowtotal.createCell(14);
                cellTotal07.setCellFormula(totalVat);
                cellTotal07.setCellStyle(styleC25);

                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountI + countITemp + 1) + ":N" + (tempcountI + countITemp + 1)));
                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountI + countITemp + 1) + ":T" + (tempcountI + countITemp + 1)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotal.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }

                HSSFRow rowtotalInBorder = sheetInbound.createRow(tempcountI + countITemp + 1);
                for (int k = 0; k < 20; k++) {
                    HSSFCell cell0000 = rowtotalInBorder.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("A" + (tempcountI + countITemp + 2) + ":T" + (tempcountI + countITemp + 2)));

                HSSFRow rowtotalin = sheetInbound.createRow(tempcountI + countITemp + 2);
                rowtotalin.setHeightInPoints(heightPoint);
                HSSFCell cellTotalIn0 = rowtotalin.createCell(0);
                cellTotalIn0.setCellStyle(stylebordertotalleft);
                HSSFCell cellTotalIn00 = rowtotalin.createCell(1);
                cellTotalIn00.setCellStyle(stylebordertotal);
                HSSFCell cellTotalIn01 = rowtotalin.createCell(2);
                cellTotalIn01.setCellStyle(stylebordertotal);
                HSSFCell cellTotalIn02 = rowtotalin.createCell(3);
                cellTotalIn02.setCellStyle(stylebordertotal);
                HSSFCell cellTotalIn03 = rowtotalin.createCell(4);
                cellTotalIn03.setCellStyle(stylebordertotal);
                HSSFCell cellTotalIn04 = rowtotalin.createCell(5);
                cellTotalIn04.setCellStyle(stylebordertotal);
                HSSFCell cellTotalIn05 = rowtotalin.createCell(6);
                cellTotalIn05.setCellValue("TOTAL INBOUND : ");
                cellTotalIn05.setCellStyle(styleC4);
                HSSFCell cellTotalIn06 = rowtotalin.createCell(7);
                cellTotalIn06.setCellValue((grossITotal.subtract(grossICNTotal)).doubleValue());
                cellTotalIn06.setCellStyle(styleC25);
                HSSFCell cellTotalIn07 = rowtotalin.createCell(14);
                cellTotalIn07.setCellValue((vatITotal.subtract(vatICNTotal)).doubleValue());
                cellTotalIn07.setCellStyle(styleC25);

                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("H" + (tempcountI + countITemp + 3) + ":N" + (tempcountI + countITemp + 3)));
                sheetInbound.addMergedRegion(CellRangeAddress
                        .valueOf("O" + (tempcountI + countITemp + 3) + ":T" + (tempcountI + countITemp + 3)));

                for (int k = 8; k < 20; k++) {
                    if (k != 7 && k != 14) {
                        HSSFCell cell0000 = rowtotalin.createCell(k);
                        cell0000.setCellStyle(styleC25);
                    }
                }
            }
            HSSFRow rowtotalInBorder = sheetInbound.createRow(count + y + countITemp + 3);
            for (int k = 0; k < 20; k++) {
                HSSFCell cell0000 = rowtotalInBorder.createCell(k);
                cell0000.setCellStyle(styleC25);
            }
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("A" + (count + y + countITemp + 4) + ":T" + (count + y + countITemp + 4)));
            //                    HSSFRow rowtotalbor = sheetInbound.createRow(count + y + countITemp+3);
            //                    rowtotalbor.setHeightInPoints(heightPoint);
            //                    HSSFCell cellTotalBor0 = rowtotalbor.createCell(0);
            //                    cellTotalBor0.setCellStyle(stylebordertotalleft);
            //                    HSSFCell cellTotalBor00 = rowtotalbor.createCell(1);
            //                    cellTotalBor00.setCellStyle(stylebordertotal);
            //                    HSSFCell cellTotalBor01 = rowtotalbor.createCell(2);
            //                    cellTotalBor01.setCellStyle(stylebordertotal);
            //                    HSSFCell cellTotalBor02 = rowtotalbor.createCell(3);
            //                    cellTotalBor02.setCellStyle(stylebordertotal);
            //                    HSSFCell cellTotalBor03 = rowtotalbor.createCell(4);
            //                    cellTotalBor03.setCellStyle(stylebordertotal);
            //                    HSSFCell cellTotalBor04 = rowtotalbor.createCell(5);
            //                    cellTotalBor04.setCellStyle(stylebordertotal);

            HSSFRow rowtotalwen = sheetInbound.createRow(count + y + countITemp + 4);
            rowtotalwen.setHeightInPoints(heightPoint);
            HSSFCell cellTotalWen0 = rowtotalwen.createCell(0);
            cellTotalWen0.setCellStyle(stylebordertotalleft);
            HSSFCell cellTotalWen00 = rowtotalwen.createCell(1);
            cellTotalWen00.setCellStyle(stylebordertotal);
            HSSFCell cellTotalWen01 = rowtotalwen.createCell(2);
            cellTotalWen01.setCellStyle(stylebordertotal);
            HSSFCell cellTotalWen02 = rowtotalwen.createCell(3);
            cellTotalWen02.setCellStyle(stylebordertotal);
            HSSFCell cellTotalWen03 = rowtotalwen.createCell(4);
            cellTotalWen03.setCellStyle(stylebordertotal);
            HSSFCell cellTotalWen04 = rowtotalwen.createCell(5);
            cellTotalWen04.setCellStyle(stylebordertotal);
            HSSFCell cellTotalWen05 = rowtotalwen.createCell(6);
            cellTotalWen05.setCellValue("TOTAL WENDY : ");
            cellTotalWen05.setCellStyle(styleC4);
            HSSFCell cellTotalWen06 = rowtotalwen.createCell(7);
            cellTotalWen06.setCellValue((grossWTotal.subtract(grossWCNTotal)).doubleValue());
            cellTotalWen06.setCellStyle(styleC25);
            HSSFCell cellTotalWen07 = rowtotalwen.createCell(14);
            cellTotalWen07.setCellValue((vatWTotal.subtract(vatWCNTotal)).doubleValue());
            cellTotalWen07.setCellStyle(styleC25);

            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + y + countITemp + 5) + ":N" + (count + y + countITemp + 5)));
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + y + countITemp + 5) + ":T" + (count + y + countITemp + 5)));

            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = rowtotalwen.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            HSSFRow rowtotalout = sheetInbound.createRow(count + y + countITemp + 5);
            rowtotalout.setHeightInPoints(heightPoint);
            HSSFCell cellTotalOut0 = rowtotalout.createCell(0);
            cellTotalOut0.setCellStyle(stylebordertotalleft);
            HSSFCell cellTotalOut00 = rowtotalout.createCell(1);
            cellTotalOut00.setCellStyle(stylebordertotal);
            HSSFCell cellTotalOut01 = rowtotalout.createCell(2);
            cellTotalOut01.setCellStyle(stylebordertotal);
            HSSFCell cellTotalOut02 = rowtotalout.createCell(3);
            cellTotalOut02.setCellStyle(stylebordertotal);
            HSSFCell cellTotalOut03 = rowtotalout.createCell(4);
            cellTotalOut03.setCellStyle(stylebordertotal);
            HSSFCell cellTotalOut04 = rowtotalout.createCell(5);
            cellTotalOut04.setCellStyle(stylebordertotal);
            HSSFCell cellTotalOut05 = rowtotalout.createCell(6);
            cellTotalOut05.setCellValue("TOTAL OUTBOUND : ");
            cellTotalOut05.setCellStyle(styleC4);
            HSSFCell cellTotalOut06 = rowtotalout.createCell(7);
            cellTotalOut06.setCellValue((grossOTotal.subtract(grossOCNTotal)).doubleValue());
            cellTotalOut06.setCellStyle(styleC25);
            HSSFCell cellTotalOut07 = rowtotalout.createCell(14);
            cellTotalOut07.setCellValue((vatOTotal.subtract(vatOCNTotal)).doubleValue());
            cellTotalOut07.setCellStyle(styleC25);

            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + y + countITemp + 6) + ":N" + (count + y + countITemp + 6)));
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + y + countITemp + 6) + ":T" + (count + y + countITemp + 6)));

            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = rowtotalout.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            HSSFRow rowtotalin = sheetInbound.createRow(count + y + countITemp + 6);
            rowtotalin.setHeightInPoints(heightPoint);
            HSSFCell cellTotalIn0 = rowtotalin.createCell(0);
            cellTotalIn0.setCellStyle(stylebordertotalleft);
            HSSFCell cellTotalIn00 = rowtotalin.createCell(1);
            cellTotalIn00.setCellStyle(stylebordertotal);
            HSSFCell cellTotalIn01 = rowtotalin.createCell(2);
            cellTotalIn01.setCellStyle(stylebordertotal);
            HSSFCell cellTotalIn02 = rowtotalin.createCell(3);
            cellTotalIn02.setCellStyle(stylebordertotal);
            HSSFCell cellTotalIn03 = rowtotalin.createCell(4);
            cellTotalIn03.setCellStyle(stylebordertotal);
            HSSFCell cellTotalIn04 = rowtotalin.createCell(5);
            cellTotalIn04.setCellStyle(stylebordertotal);
            HSSFCell cellTotalIn05 = rowtotalin.createCell(6);
            cellTotalIn05.setCellValue("TOTAL INBOUND : ");
            cellTotalIn05.setCellStyle(styleC4);
            HSSFCell cellTotalIn06 = rowtotalin.createCell(7);
            cellTotalIn06.setCellValue((grossITotal.subtract(grossICNTotal)).doubleValue());
            cellTotalIn06.setCellStyle(styleC25);
            HSSFCell cellTotalIn07 = rowtotalin.createCell(14);
            cellTotalIn07.setCellValue((vatITotal.subtract(vatICNTotal)).doubleValue());
            cellTotalIn07.setCellStyle(styleC25);

            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + y + countITemp + 7) + ":N" + (count + y + countITemp + 7)));
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + y + countITemp + 7) + ":T" + (count + y + countITemp + 7)));

            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = rowtotalin.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }

            String totalGrossAll = "SUM(H" + (count + y + countITemp + 5) + ":H" + (count + y + countITemp + 7)
                    + ")";
            String totalVatAll = "SUM(O" + (count + y + countITemp + 5) + ":O" + (count + y + countITemp + 7)
                    + ")";

            HSSFRow rowtotalall = sheetInbound.createRow(count + y + countITemp + 7);
            rowtotalall.setHeightInPoints(heightPoint);
            HSSFCell cellTotalAll0 = rowtotalall.createCell(0);
            cellTotalAll0.setCellStyle(stylebordertotalleft);
            HSSFCell cellTotalAll00 = rowtotalall.createCell(1);
            cellTotalAll00.setCellStyle(stylebordertotal);
            HSSFCell cellTotalAll01 = rowtotalall.createCell(2);
            cellTotalAll01.setCellStyle(stylebordertotal);
            HSSFCell cellTotalAll02 = rowtotalall.createCell(3);
            cellTotalAll02.setCellStyle(stylebordertotal);
            HSSFCell cellTotalAll03 = rowtotalall.createCell(4);
            cellTotalAll03.setCellStyle(stylebordertotal);
            HSSFCell cellTotalAll04 = rowtotalall.createCell(5);
            cellTotalAll04.setCellStyle(stylebordertotal);
            HSSFCell cellTotalAll05 = rowtotalall.createCell(6);
            cellTotalAll05.setCellValue("TOTAL WENDY + OUTBOUND + INBOUND : ");
            cellTotalAll05.setCellStyle(styleC4);
            HSSFCell cellTotalAll06 = rowtotalall.createCell(7);
            cellTotalAll06.setCellFormula(totalGrossAll);
            cellTotalAll06.setCellStyle(styleC25);
            HSSFCell cellTotalAll07 = rowtotalall.createCell(14);
            cellTotalAll07.setCellFormula(totalVatAll);
            cellTotalAll07.setCellStyle(styleC25);

            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("H" + (count + y + countITemp + 8) + ":N" + (count + y + countITemp + 8)));
            sheetInbound.addMergedRegion(CellRangeAddress
                    .valueOf("O" + (count + y + countITemp + 8) + ":T" + (count + y + countITemp + 8)));

            for (int k = 8; k < 20; k++) {
                if (k != 7 && k != 14) {
                    HSSFCell cell0000 = rowtotalall.createCell(k);
                    cell0000.setCellStyle(styleC25);
                }
            }
        }
    }
}

From source file:de.maklerpoint.office.Schnittstellen.Excel.ExportExcelXLS.java

License:Open Source License

/**
 * /*from w w  w . j a  v a2s.  co m*/
 * @throws FileNotFoundException
 * @throws IOException
 */

public void write() throws FileNotFoundException, IOException {
    FileOutputStream out = new FileOutputStream(new File(filename));
    HSSFWorkbook wb;

    wb = new HSSFWorkbook();

    Map<String, HSSFCellStyle> styles = createStyles(wb);
    HSSFSheet sheet = wb.createSheet(sheetName);

    //turn off gridlines
    sheet.setDisplayGridlines(false);
    sheet.setPrintGridlines(false);
    sheet.setFitToPage(true);
    sheet.setHorizontallyCenter(true);
    HSSFPrintSetup printSetup = sheet.getPrintSetup();
    printSetup.setLandscape(true);

    sheet.setAutobreaks(true);
    printSetup.setFitHeight((short) 1);
    printSetup.setFitWidth((short) 1);

    HSSFRow headerRow = sheet.createRow(0);
    headerRow.setHeightInPoints(12.75f);

    int[][] width = new int[titles.length][titles.length];

    for (int i = 0; i < titles.length; i++) {
        HSSFCell cell = headerRow.createCell(i);
        cell.setCellValue(titles[i]);
        cell.setCellStyle(styles.get("header"));

        width[i][0] = titles[i].length();
    }

    HSSFRow row;
    HSSFCell cell;
    int rownum = 1;

    for (int i = 0; i < data.length; i++, rownum++) {
        row = sheet.createRow(rownum);
        if (data[i] == null)
            continue;

        for (int j = 0; j < data[i].length; j++) {
            cell = row.createCell(j);
            if (data[i][j] == null)
                data[i][j] = "";

            cell.setCellValue(data[i][j].toString());

            if (data[i][j].toString().length() > width[j][0])
                width[j][0] = data[i][j].toString().length();
        }
    }

    for (int i = 0; i < titles.length; i++) {
        int widthShort = (256 * (width[i][0] + 3));

        sheet.setColumnWidth(i, widthShort);
    }

    int position = (titles.length / 2) - 1;

    row = sheet.createRow(rownum + 3);
    cell = row.createCell(position);

    if (footName == null) {
        SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm");
        cell.setCellValue("Export MaklerPoint vom " + df.format(new Date(System.currentTimeMillis()))
                + " - www.maklerpoint.de");
    } else {
        cell.setCellValue(footName);
    }

    sheet.setZoom(3, 4);

    wb.write(out);
    out.close();
}

From source file:de.maklerpoint.office.Schnittstellen.Excel.ExportKalenderExcel.java

License:Open Source License

/**
 * //from w w w  . java  2 s .  c o  m
 * @throws FileNotFoundException
 * @throws IOException
 */

public void write() throws FileNotFoundException, IOException {
    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);

    HSSFWorkbook wb = new HSSFWorkbook();
    Map<String, HSSFCellStyle> styles = createStyles(wb);

    for (int month = 0; month < 12; month++) {
        calendar.set(Calendar.MONTH, month);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        //create a sheet for each month
        HSSFSheet sheet = wb.createSheet(months[month]);

        //turn off gridlines
        sheet.setDisplayGridlines(false);
        sheet.setPrintGridlines(false);
        sheet.setFitToPage(true);
        sheet.setHorizontallyCenter(true);
        HSSFPrintSetup printSetup = sheet.getPrintSetup();
        printSetup.setLandscape(true);

        //the following three statements are required only for HSSF
        sheet.setAutobreaks(true);
        printSetup.setFitHeight((short) 1);
        printSetup.setFitWidth((short) 1);

        //the header row: centered text in 48pt font
        HSSFRow headerRow = sheet.createRow(0);
        headerRow.setHeightInPoints(80);
        HSSFCell titleCell = headerRow.createCell(0);
        titleCell.setCellValue(months[month] + " " + year);
        titleCell.setCellStyle(styles.get("title"));
        //                sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$N$1"));

        //header with month titles
        HSSFRow monthRow = sheet.createRow(1);
        for (int i = 0; i < days.length; i++) {
            //set column widths, the width is measured in units of 1/256th of a character width
            sheet.setColumnWidth((i * 2), (5 * 256)); //the column is 5 characters wide
            sheet.setColumnWidth((i * 2 + 1), (13 * 256)); //the column is 13 characters wide
            //sheet.addMergedRegion(new Region(1, (short) 1, i*2, (short) (i * 2 + 1)));
            sheet.addMergedRegion(new CellRangeAddress(1, i * 2, 1, (i * 2 + 1))); // TODO Test
            HSSFCell monthCell = monthRow.createCell((i * 2));
            monthCell.setCellValue(days[i]);
            monthCell.setCellStyle(styles.get("month"));
        }

        int cnt = 1, day = 1;
        int rownum = 2;
        for (int j = 0; j < 6; j++) {
            HSSFRow row = sheet.createRow(rownum++);
            row.setHeightInPoints(100);
            for (int i = 0; i < days.length; i++) {
                HSSFCell dayCell_1 = row.createCell((i * 2));
                HSSFCell dayCell_2 = row.createCell((i * 2 + 1));

                int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);
                if (cnt >= day_of_week && calendar.get(Calendar.MONTH) == month) {
                    dayCell_1.setCellValue(day);
                    calendar.set(Calendar.DAY_OF_MONTH, ++day);

                    if (i == 0 || i == days.length - 1) {
                        dayCell_1.setCellStyle(styles.get("weekend_left"));
                        dayCell_2.setCellStyle(styles.get("weekend_right"));
                    } else {
                        dayCell_1.setCellStyle(styles.get("workday_left"));
                        dayCell_2.setCellStyle(styles.get("workday_right"));
                    }
                } else {
                    dayCell_1.setCellStyle(styles.get("grey_left"));
                    dayCell_2.setCellStyle(styles.get("grey_right"));
                }
                cnt++;
            }
            if (calendar.get(Calendar.MONTH) > month)
                break;
        }
    }

    // Write the output to a file        

    FileOutputStream out = new FileOutputStream(this.filename);
    wb.write(out);
    out.close();
}

From source file:edu.duke.cabig.c3pr.service.Summary3ReportServiceTest.java

License:BSD License

public void testGenerateEXCEL() throws Exception {
    HealthcareSite hcs = healthcareSiteDao.getById(1100);

    DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
    Date startDate = (Date) format.parse("01/11/1990");
    Date endDate = (Date) format.parse("01/01/2007");
    String grantNumber = "GRANT-NO 1232";

    Summary3Report summary3Report = new Summary3Report(hcs, grantNumber, startDate, endDate);
    String reportingSource = healthcareSiteDao.getById(1000).getName();
    summary3Report.setReportingSource(reportingSource);

    summaryReportService.buildSummary3Report(summary3Report);

    String xmlString = summaryReportService.generateXML(summary3Report);
    File file = new File("testReport.xml");

    FileWriter fileWriter = new FileWriter(file);
    fileWriter.write(xmlString);/*  w  ww .ja va 2 s .c o  m*/
    fileWriter.flush();
    fileWriter.close();
    System.out.println(xmlString);

    // creating the workbook and the spreadsheet

    try {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();

        InputStream inputStream = new FileInputStream(file);
        Document document = builder.parse(inputStream);

        HSSFWorkbook wb = new HSSFWorkbook();

        HSSFSheet spreadSheet = wb.createSheet("Sumary 3 Report");

        PrintSetup printSetup = spreadSheet.getPrintSetup();
        printSetup.setLandscape(true);
        spreadSheet.setFitToPage(true);
        spreadSheet.setHorizontallyCenter(true);

        spreadSheet.setColumnWidth((short) 0, (short) (60 * 256));
        spreadSheet.setColumnWidth((short) 1, (short) (15 * 256));
        spreadSheet.setColumnWidth((short) 2, (short) (30 * 256));

        HSSFRow titleRow = spreadSheet.createRow(0);
        HSSFCell titleCell = titleRow.createCell((short) 0);
        titleRow.setHeightInPoints(40);

        HSSFCellStyle titleCellStyle = wb.createCellStyle();
        titleCellStyle.setAlignment(titleCellStyle.ALIGN_CENTER_SELECTION);
        titleCellStyle.setVerticalAlignment(titleCellStyle.VERTICAL_CENTER);
        titleCell.setCellStyle(titleCellStyle);

        String nullSafeGrantNumber = (document.getElementsByTagName("grantNumber").item(0) != null
                && document.getElementsByTagName("grantNumber").item(0).getFirstChild() != null)
                        ? (document.getElementsByTagName("grantNumber")).item(0).getFirstChild().getNodeValue()
                        : "";
        titleCell.setCellValue("Summary 3: Reportable Patients/Participation " + "in Therapeutic Protocols"
                + "                      " + nullSafeGrantNumber);

        HSSFRow orgRow = spreadSheet.createRow(1);
        orgRow.setHeightInPoints(30);
        HSSFCell organizationCell = orgRow.createCell((short) 0);

        HSSFCellStyle orgCellStyle = wb.createCellStyle();
        orgCellStyle.setAlignment(titleCellStyle.ALIGN_CENTER_SELECTION);
        HSSFFont font = wb.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

        orgCellStyle.setFont(font);
        organizationCell.setCellStyle(orgCellStyle);
        organizationCell
                .setCellValue(((Element) (document.getElementsByTagName("reportingOrganization").item(0)))
                        .getElementsByTagName("name").item(0).getFirstChild().getNodeValue());

        HSSFRow reportingPeriodRow = spreadSheet.createRow(2);
        HSSFFont reportingPeriodFont = wb.createFont();
        reportingPeriodFont.setFontHeightInPoints((short) 9);
        HSSFCellStyle reportingPeriodStyle = wb.createCellStyle();
        reportingPeriodStyle.setFont(reportingPeriodFont);

        reportingPeriodRow.setHeightInPoints(20);
        HSSFCell reportingPeriodCell = reportingPeriodRow.createCell((short) 0);
        reportingPeriodCell.setCellStyle(titleCellStyle);

        reportingPeriodCell.setCellValue("Reporting Period "
                + (document.getElementsByTagName("startDate").item(0).getFirstChild().getNodeValue()) + " - "
                + (document.getElementsByTagName("endDate").item(0).getFirstChild().getNodeValue()));

        // creating the first row of table the table header
        HSSFRow row = spreadSheet.createRow(3);
        HSSFCell tableHeaderCell1 = row.createCell((short) 0);
        HSSFCellStyle tableHeaderCellStyle1 = wb.createCellStyle();
        tableHeaderCellStyle1.setWrapText(true);

        tableHeaderCellStyle1.setBorderRight(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle1.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle1.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle1.setBorderBottom(HSSFCellStyle.BORDER_THIN);

        tableHeaderCellStyle1.setFont(font);
        tableHeaderCell1.setCellStyle(tableHeaderCellStyle1);
        tableHeaderCell1.setCellValue("Disease Site");

        // creating table header 2nd & 3rd cells

        HSSFCell tableHeaderCell2 = row.createCell((short) 1);
        HSSFCellStyle tableHeaderCellStyle2 = wb.createCellStyle();

        tableHeaderCellStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setWrapText(true);

        tableHeaderCell2.setCellStyle(tableHeaderCellStyle2);
        tableHeaderCell2.setCellValue("Newly Registered Patients");

        HSSFCell tableHeaderCell3 = row.createCell((short) 2);

        HSSFCellStyle tableHeaderCellStyle3 = wb.createCellStyle();

        tableHeaderCellStyle3.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle3.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle3.setWrapText(true);
        tableHeaderCell3.setCellStyle(tableHeaderCellStyle3);
        tableHeaderCell3.setCellValue("Total patients newly enrolled in therapeutic protocols");

        NodeList nodeList = document.getElementsByTagName("reportData");

        HSSFCellStyle tableCellStyle = wb.createCellStyle();
        tableCellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);

        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$C$1"));
        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$2:$C$2"));
        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$3:$C$3"));
        for (int i = 4; i < nodeList.getLength() + 4; i++) {

            row = spreadSheet.createRow(i);
            HSSFCell cell = row.createCell((short) 0);
            if (i == (4 + nodeList.getLength() - 1)) {
                HSSFCellStyle totalCellStyle = wb.createCellStyle();
                totalCellStyle.setFont(font);
                totalCellStyle.setRightBorderColor((short) 10);
                totalCellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
                tableCellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
                totalCellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
                totalCellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
                cell.setCellStyle(totalCellStyle);
            } else {
                cell.setCellStyle(tableCellStyle);
            }
            cell.setCellValue(((Element) ((Element) (nodeList.item(i - 4))).getElementsByTagName("key").item(0))
                    .getAttribute("name"));

            cell = row.createCell((short) 1);
            cell.setCellStyle(tableCellStyle);

            cell.setCellValue("");

            cell = row.createCell((short) 2);
            cell.setCellStyle(tableCellStyle);

            cell.setCellValue(
                    ((Element) (((Element) (nodeList.item(i - 4))).getElementsByTagName("value").item(3)))
                            .getFirstChild().getNodeValue());
        }
        File outputFile = new File(System.getProperty("user.home") + File.separator + "Summary3Report.xls");
        FileOutputStream output = new FileOutputStream(outputFile);
        wb.write(output);
        output.flush();
        output.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    }

}

From source file:edu.duke.cabig.c3pr.xml.Summary3ReportGenerator.java

License:BSD License

public void generateExcel(String summary3ReportXml, String file) throws Exception {

    // creating the workbook and the spreadsheet
    try {/*  ww  w. j av a  2 s  .  c  om*/

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();

        String fileName = "";

        fileName = file;

        InputStream inputStream = new FileInputStream((fileName + ".xml"));
        Document document = builder.parse(inputStream);

        HSSFWorkbook wb = new HSSFWorkbook();

        HSSFSheet spreadSheet = wb.createSheet("Sumary 3 Report");

        PrintSetup printSetup = spreadSheet.getPrintSetup();
        printSetup.setLandscape(true);
        spreadSheet.setFitToPage(true);
        spreadSheet.setHorizontallyCenter(true);

        spreadSheet.setColumnWidth((short) 0, (short) (60 * 256));
        spreadSheet.setColumnWidth((short) 1, (short) (15 * 256));
        spreadSheet.setColumnWidth((short) 2, (short) (30 * 256));

        HSSFRow titleRow = spreadSheet.createRow(0);
        HSSFCell titleCell = titleRow.createCell((short) 0);
        titleRow.setHeightInPoints(40);

        HSSFCellStyle titleCellStyle = wb.createCellStyle();
        titleCellStyle.setAlignment(titleCellStyle.ALIGN_CENTER_SELECTION);
        titleCellStyle.setVerticalAlignment(titleCellStyle.VERTICAL_CENTER);
        titleCell.setCellStyle(titleCellStyle);

        String nullSafeGrantNumber = (document.getElementsByTagName("grantNumber").item(0) != null
                && document.getElementsByTagName("grantNumber").item(0).getFirstChild() != null)
                        ? (document.getElementsByTagName("grantNumber")).item(0).getFirstChild().getNodeValue()
                        : "";
        titleCell.setCellValue("Summary 3: Reportable Patients/Participation " + "in Therapeutic Protocols"
                + "                      " + nullSafeGrantNumber);

        HSSFRow orgRow = spreadSheet.createRow(1);
        orgRow.setHeightInPoints(30);
        HSSFCell organizationCell = orgRow.createCell((short) 0);

        HSSFCellStyle orgCellStyle = wb.createCellStyle();
        orgCellStyle.setAlignment(titleCellStyle.ALIGN_CENTER_SELECTION);
        HSSFFont font = wb.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

        orgCellStyle.setFont(font);
        organizationCell.setCellStyle(orgCellStyle);
        organizationCell
                .setCellValue(((Element) (document.getElementsByTagName("reportingOrganization").item(0)))
                        .getElementsByTagName("name").item(0).getFirstChild().getNodeValue());

        HSSFRow reportingPeriodRow = spreadSheet.createRow(2);
        HSSFFont reportingPeriodFont = wb.createFont();
        reportingPeriodFont.setFontHeightInPoints((short) 9);
        HSSFCellStyle reportingPeriodStyle = wb.createCellStyle();
        reportingPeriodStyle.setFont(reportingPeriodFont);

        reportingPeriodRow.setHeightInPoints(20);
        HSSFCell reportingPeriodCell = reportingPeriodRow.createCell((short) 0);
        reportingPeriodCell.setCellStyle(titleCellStyle);

        reportingPeriodCell.setCellValue("Reporting Period "
                + (document.getElementsByTagName("startDate").item(0).getFirstChild().getNodeValue()) + " - "
                + (document.getElementsByTagName("endDate").item(0).getFirstChild().getNodeValue()));

        // creating the first row of table the table header
        HSSFRow row = spreadSheet.createRow(3);
        HSSFCell tableHeaderCell1 = row.createCell((short) 0);
        HSSFCellStyle tableHeaderCellStyle1 = wb.createCellStyle();
        tableHeaderCellStyle1.setWrapText(true);

        tableHeaderCellStyle1.setBorderRight(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle1.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle1.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle1.setBorderBottom(HSSFCellStyle.BORDER_THIN);

        tableHeaderCellStyle1.setFont(font);
        tableHeaderCell1.setCellStyle(tableHeaderCellStyle1);
        tableHeaderCell1.setCellValue("Disease Site");

        // creating table header 2nd & 3rd cells

        HSSFCell tableHeaderCell2 = row.createCell((short) 1);
        HSSFCellStyle tableHeaderCellStyle2 = wb.createCellStyle();

        tableHeaderCellStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle2.setWrapText(true);

        tableHeaderCell2.setCellStyle(tableHeaderCellStyle2);
        tableHeaderCell2.setCellValue("Newly Registered Patients");

        HSSFCell tableHeaderCell3 = row.createCell((short) 2);

        HSSFCellStyle tableHeaderCellStyle3 = wb.createCellStyle();

        tableHeaderCellStyle3.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle3.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableHeaderCellStyle3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        tableHeaderCellStyle3.setWrapText(true);
        tableHeaderCell3.setCellStyle(tableHeaderCellStyle3);
        tableHeaderCell3.setCellValue("Total patients newly enrolled in therapeutic protocols");

        NodeList nodeList = document.getElementsByTagName("reportData");

        HSSFCellStyle tableCellStyle = wb.createCellStyle();
        tableCellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        tableCellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);

        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$C$1"));
        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$2:$C$2"));
        spreadSheet.addMergedRegion(CellRangeAddress.valueOf("$A$3:$C$3"));
        for (int i = 4; i < nodeList.getLength() + 4; i++) {

            row = spreadSheet.createRow(i);
            HSSFCell cell = row.createCell((short) 0);
            if (i == (4 + nodeList.getLength() - 1)) {
                HSSFCellStyle totalCellStyle = wb.createCellStyle();
                totalCellStyle.setFont(font);
                totalCellStyle.setRightBorderColor((short) 10);
                totalCellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
                tableCellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
                totalCellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
                totalCellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
                cell.setCellStyle(totalCellStyle);
            } else {
                cell.setCellStyle(tableCellStyle);
            }
            cell.setCellValue(((Element) ((Element) (nodeList.item(i - 4))).getElementsByTagName("key").item(0))
                    .getAttribute("name"));

            cell = row.createCell((short) 1);
            cell.setCellStyle(tableCellStyle);

            cell.setCellValue("");

            cell = row.createCell((short) 2);
            cell.setCellStyle(tableCellStyle);

            cell.setCellValue(
                    ((Element) (((Element) (nodeList.item(i - 4))).getElementsByTagName("value").item(3)))
                            .getFirstChild().getNodeValue());
        }
        FileOutputStream output = new FileOutputStream(new File(addExtension(file, "Excel")));
        wb.write(output);
        output.flush();
        output.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    }
}

From source file:excel.FileExcel.java

public File excel_create_katalog_update(ArrayList<UpdKatalog> newKatalogUpdate) {
    if (newKatalogUpdate.size() != 0) {
        DateFormat time = new SimpleDateFormat("hhmm");
        String fileName = "KatalogDiff_" + fmt.format(newKatalogUpdate.get(0).update_date_new) + "_"
                + time.format(newKatalogUpdate.get(0).update_date_new) + ".xls";
        File ExcelKatalogDiff = new File(fileName);
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet();

        // set page
        sheet.getPrintSetup().setLandscape(true);

        //Set Header Information 
        Header headerPage = sheet.getHeader();
        headerPage.setCenter(HeaderFooter.page());
        headerPage.setRight(fileName);/*from  ww w .j a v a  2  s .c o  m*/

        //Set Footer Information with Page Numbers
        Footer footerPage = sheet.getFooter();
        footerPage.setCenter("Page " + HeaderFooter.page() + " of " + HeaderFooter.numPages());

        // prepare variable to edit the xls
        HSSFRow header;
        HSSFCell cell;
        HSSFCellStyle titlestyle = workbook.createCellStyle();
        HSSFCellStyle headerstyle = workbook.createCellStyle();
        HSSFCellStyle datastyle = workbook.createCellStyle();
        HSSFFont boldfont = workbook.createFont();
        HSSFFont normalfont = workbook.createFont();

        // create the title 
        header = sheet.createRow(1);
        cell = header.createCell(1);
        boldfont.setBoldweight(Font.BOLDWEIGHT_BOLD);
        titlestyle.setFont(boldfont);
        titlestyle.setAlignment(CellStyle.ALIGN_CENTER);
        titlestyle.setBorderTop(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderBottom(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderLeft(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderRight(HSSFCellStyle.BORDER_NONE);
        cell.setCellStyle(titlestyle);
        cell.setCellValue("TABEL PERUBAHAN HARGA");
        sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 5));

        // create file info
        header = sheet.createRow(3);
        cell = header.createCell(2);
        cell.setCellValue("Tanggal Update : ");
        cell = header.createCell(3);
        cell.setCellValue(fmt.format(newKatalogUpdate.get(0).update_date_new));

        // create the header
        datastyle.setFont(boldfont);
        headerstyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        header = sheet.createRow(6);
        cell = header.createCell(1);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Kode Barang");
        cell = header.createCell(2);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Harga TPG Lama");
        cell = header.createCell(3);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Tanggal Update Lama");
        cell = header.createCell(4);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Harga TPG Baru");
        cell = header.createCell(5);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Tanggal Update Baru");
        sheet.autoSizeColumn(1);
        sheet.autoSizeColumn(2);
        sheet.autoSizeColumn(3);
        sheet.autoSizeColumn(4);
        sheet.autoSizeColumn(5);

        normalfont.setBoldweight(Font.BOLDWEIGHT_NORMAL);
        datastyle.setFont(normalfont);
        datastyle.setAlignment(CellStyle.ALIGN_RIGHT);
        datastyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

        for (int i = 0; i < newKatalogUpdate.size(); i++) {
            header = sheet.createRow(i + 7);
            cell = header.createCell(1);
            cell.setCellStyle(datastyle);
            cell.setCellValue(newKatalogUpdate.get(i).kode_barang);
            cell = header.createCell(2);
            cell.setCellStyle(datastyle);
            cell.setCellValue(newKatalogUpdate.get(i).harga_tpg_old);
            cell = header.createCell(3);
            cell.setCellStyle(datastyle);
            cell.setCellValue(fmt.format(newKatalogUpdate.get(i).update_date_old));
            cell = header.createCell(4);
            cell.setCellStyle(datastyle);
            cell.setCellValue(newKatalogUpdate.get(i).harga_tpg_new);
            cell = header.createCell(5);
            cell.setCellStyle(datastyle);
            cell.setCellValue(fmt.format(newKatalogUpdate.get(i).update_date_new));
        }
        try {
            // String pathname = "D:\\Document\\Dropbox\\sophie\\DB\\update_" + fmt.format(newKatalogUpdate.get(0).update_date_new) + ".xls";
            FileOutputStream out = new FileOutputStream(ExcelKatalogDiff);
            workbook.write(out);
            out.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            ExcelKatalogDiff = null;
        } catch (IOException e) {
            e.printStackTrace();
            ExcelKatalogDiff = null;
        }
        return ExcelKatalogDiff;
    } else
        return null;
}

From source file:excel.FileExcel.java

public File excel_create_diff_upd_stock(ArrayList<DiffUpdStock> diffinput, Date currtime) {
    if (diffinput.size() != 0) {
        DateFormat time = new SimpleDateFormat("hhmm");
        String fileName = "DailyDiff_" + fmt.format(currtime) + "_" + time.format(currtime) + ".xls";
        File ExcelDailyDiff = new File(fileName);
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet();

        // set page
        sheet.getPrintSetup().setLandscape(false);

        //Set Header Information 
        Header headerPage = sheet.getHeader();
        headerPage.setCenter(HeaderFooter.page());
        headerPage.setRight(fileName);/*from www. ja  v a 2  s. co  m*/

        //Set Footer Information with Page Numbers
        Footer footerPage = sheet.getFooter();
        footerPage.setCenter("Page " + HeaderFooter.page() + " of " + HeaderFooter.numPages());

        // prepare variable to edit the xls
        HSSFRow header;
        HSSFCell cell;
        HSSFCellStyle titlestyle = workbook.createCellStyle();
        HSSFCellStyle headerstyle = workbook.createCellStyle();
        HSSFCellStyle datastyle = workbook.createCellStyle();
        HSSFFont boldfont = workbook.createFont();
        HSSFFont normalfont = workbook.createFont();

        // create the title 
        header = sheet.createRow(1);
        cell = header.createCell(1);
        boldfont.setBoldweight(Font.BOLDWEIGHT_BOLD);
        titlestyle.setFont(boldfont);
        titlestyle.setAlignment(CellStyle.ALIGN_CENTER);
        titlestyle.setBorderTop(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderBottom(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderLeft(HSSFCellStyle.BORDER_NONE);
        titlestyle.setBorderRight(HSSFCellStyle.BORDER_NONE);
        cell.setCellStyle(titlestyle);
        cell.setCellValue("TABEL UPDATE DAILY STOK");
        sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 4));

        // create file info
        header = sheet.createRow(3);
        cell = header.createCell(2);
        cell.setCellValue("Tanggal Stock : ");
        cell = header.createCell(3);
        cell.setCellValue(currtime);

        // create the header
        headerstyle.setFont(boldfont);
        headerstyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
        headerstyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
        header = sheet.createRow(6);
        cell = header.createCell(1);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Unedited Kode Barang");
        cell = header.createCell(2);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Unedited Jumlah Barang");
        cell = header.createCell(3);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Edited Kode Barang");
        cell = header.createCell(4);
        cell.setCellStyle(headerstyle);
        cell.setCellValue("Edited Jumlah Barang");
        sheet.autoSizeColumn(1);
        sheet.autoSizeColumn(2);
        sheet.autoSizeColumn(3);
        sheet.autoSizeColumn(4);

        normalfont.setBoldweight(Font.BOLDWEIGHT_NORMAL);
        datastyle.setFont(normalfont);
        datastyle.setAlignment(CellStyle.ALIGN_RIGHT);
        datastyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        datastyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

        for (int i = 0; i < diffinput.size(); i++) {
            header = sheet.createRow(i + 7);
            cell = header.createCell(1);
            cell.setCellStyle(datastyle);
            cell.setCellValue(diffinput.get(i).oriKodeBarang);
            cell = header.createCell(2);
            cell.setCellStyle(datastyle);
            cell.setCellValue(diffinput.get(i).oriJumlahBarang);
            cell = header.createCell(3);
            cell.setCellStyle(datastyle);
            cell.setCellValue(diffinput.get(i).edtKodeBarang);
            cell = header.createCell(4);
            cell.setCellStyle(datastyle);
            cell.setCellValue(diffinput.get(i).oriJumlahBarang);

        }
        try {
            // String pathname = "D:\\Document\\Dropbox\\sophie\\DB\\update_" + fmt.format(newKatalogUpdate.get(0).update_date_new) + ".xls";
            FileOutputStream out = new FileOutputStream(ExcelDailyDiff);
            workbook.write(out);
            out.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            ExcelDailyDiff = null;
        } catch (IOException e) {
            e.printStackTrace();
            ExcelDailyDiff = null;
        }
        return ExcelDailyDiff;
    }
    return null;
}