Example usage for org.apache.poi.hssf.usermodel HSSFCellStyle setBorderBottom

List of usage examples for org.apache.poi.hssf.usermodel HSSFCellStyle setBorderBottom

Introduction

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

Prototype

@Override
public void setBorderBottom(BorderStyle border) 

Source Link

Document

set the type of border to use for the bottom border of the cell

Usage

From source file:org.oep.cmon.report.portlet.util.ActionUtil.java

License:Apache License

/**
 * This is function excelLephilinhvuc//from   ww  w  .j a  va  2  s . c  o  m
 * Version: 1.0
 *  
 * History: 
 *   DATE        AUTHOR      DESCRIPTION 
 *  ------------------------------------------------- 
 *  3-March-2013  Nam Dinh    Create new
 * @param req
 * @param res
 */
public static void excelLephilinhvuc(ResourceRequest req, ResourceResponse res) {
    try {
        String coQuanQuanLyId = req.getParameter("coQuanQuanLyId");
        CoQuanQuanLy coQuanQuanLy = new CoQuanQuanLyImpl();
        if (coQuanQuanLyId != null && !coQuanQuanLyId.equals("0")) {
            coQuanQuanLy = CoQuanQuanLyLocalServiceUtil.getCoQuanQuanLy(Long.valueOf(coQuanQuanLyId));
        }
        HSSFWorkbook workbook = new HSSFWorkbook();

        HSSFSheet sheet = workbook.createSheet("Tinh_hinh_thu_le_phi_theo_linh_vuc");

        // define a cell style
        HSSFFont tableHeaderFont = (HSSFFont) workbook.createFont();
        tableHeaderFont.setBoldweight((short) 5000);

        HSSFFont ngaythangFont = (HSSFFont) workbook.createFont();
        ngaythangFont.setItalic(true);

        HSSFFont titleFont = (HSSFFont) workbook.createFont();
        titleFont.setBoldweight((short) 5000);
        titleFont.setFontHeightInPoints((short) 15);

        HSSFCellStyle styleCellHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleCellHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellHeader.setFont(tableHeaderFont);
        styleCellHeader.setWrapText(true);

        HSSFCellStyle styleCellNgaythang = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNgaythang.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellNgaythang.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNgaythang.setFont(ngaythangFont);
        styleCellNgaythang.setWrapText(true);

        HSSFCellStyle styleCellCenter = (HSSFCellStyle) workbook.createCellStyle();
        styleCellCenter.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellCenter.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellCenter.setWrapText(true);

        HSSFCellStyle styleCellLeft = (HSSFCellStyle) workbook.createCellStyle();
        styleCellLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellLeft.setWrapText(true);

        HSSFCellStyle styleCellRight = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRight.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRight.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRight.setWrapText(true);
        styleCellRight.setFont(tableHeaderFont);

        HSSFCellStyle styleCellRightNobold = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRightNobold.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRightNobold.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRightNobold.setWrapText(true);

        HSSFCellStyle styleHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleHeader.setFont(tableHeaderFont);
        styleHeader.setWrapText(true);

        HSSFCellStyle styleCellNhomTTHC = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNhomTTHC.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellNhomTTHC.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNhomTTHC.setFont(tableHeaderFont);

        HSSFCellStyle styleTitle = (HSSFCellStyle) workbook.createCellStyle();
        styleTitle.setFont(titleFont);
        styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        // end style
        String tungay = ParamUtil.getString(req, "tungay");
        String denngay = ParamUtil.getString(req, "denngay");
        int rowNum = 1;
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowUBND = sheet.createRow(rowNum);
        rowUBND.createCell(0).setCellValue("");
        rowUBND.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 6));
        rowUBND.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.chxhcnvn"));
        rowUBND.getCell(2).setCellStyle(styleCellHeader);

        rowNum++;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowTenDonVi = sheet.createRow(rowNum);
        rowTenDonVi.createCell(0).setCellValue(coQuanQuanLy.getTen());
        rowTenDonVi.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 6));
        rowTenDonVi.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.dltdhp"));
        rowTenDonVi.getCell(2).setCellStyle(styleCellHeader);

        rowNum++;
        List<Lephi_linhvuc> listlephilinhvuc = Lephi_linhvucLocalServiceUtil
                .lephilinhvuc(ParamUtil.getString(req, "id_linhvuc"), tungay, denngay);

        String linhvuc = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.linhvuc");
        String tongsohoso = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.tongsohoso");
        String lephi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.lephi");
        String phihoso = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.phihoso");
        String tonglephi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.tonglephi");
        String ghichu = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.ghichu");
        String tieude = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.tieude");
        String[] header = { "STT", linhvuc, tongsohoso, lephi, phihoso, tonglephi, ghichu };

        rowNum++;
        int[] width = { 1500, 15000, 5000, 5000, 5000, 5000, 5000, 5000, 5000 };
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum + 1, (short) 6));
        HSSFRow titleRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell titleCell = titleRow.createCell(0);
        titleCell.setCellStyle(styleTitle);
        titleCell.setCellValue(tieude);

        rowNum += 2;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 6));
        HSSFRow ngaythangRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell ngaythangCell = ngaythangRow.createCell(0);
        ngaythangCell.setCellStyle(styleCellNgaythang);
        ngaythangCell.setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.tungay") + " " + tungay
                + " " + ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.denngay") + " " + denngay);

        rowNum = rowNum + 3;
        HSSFRow headerRow = (HSSFRow) sheet.createRow(rowNum);
        int colNum = 0;
        for (int i = 0; i < header.length; i++) {
            HSSFCell cell = headerRow.createCell(colNum);
            cell.setCellStyle(styleHeader);
            cell.setCellValue(header[i]);
            sheet.setColumnWidth(i, width[i]);
            colNum++;
        }
        rowNum++;
        long tong = 0;
        int stt = 0;
        for (int a = 0; a < listlephilinhvuc.size(); a++) {
            // khai bao dong va cac cell
            stt++;
            HSSFRow row = (HSSFRow) sheet.createRow(rowNum);
            HSSFCell cell = row.createCell(0);
            HSSFCell cell1 = row.createCell(1);
            HSSFCell cell2 = row.createCell(2);
            HSSFCell cell3 = row.createCell(3);
            HSSFCell cell4 = row.createCell(4);
            HSSFCell cell5 = row.createCell(5);
            HSSFCell cell6 = row.createCell(6);
            // set style cho cac cell
            cell.setCellStyle(styleCellCenter);
            cell1.setCellStyle(styleCellLeft);
            cell2.setCellStyle(styleCellCenter);
            cell3.setCellStyle(styleCellRightNobold);
            cell4.setCellStyle(styleCellRightNobold);
            cell5.setCellStyle(styleCellRightNobold);
            cell6.setCellStyle(styleCellRightNobold);
            // set gia tri cho cac cell
            cell.setCellValue(stt);
            cell1.setCellValue(NhomThuTucHanhChinhLocalServiceUtil
                    .getNhomThuTucHanhChinh(listlephilinhvuc.get(a).getNHOMTHUTUCHANHCHINHID()).getTen());
            cell2.setCellValue(listlephilinhvuc.get(a).getTONGHOSO());
            cell3.setCellValue(listlephilinhvuc.get(a).getLEPHIHOSO());
            cell4.setCellValue(listlephilinhvuc.get(a).getPHIHOSO());
            cell5.setCellValue(listlephilinhvuc.get(a).getTONGLEPHI());

            tong = tong + Long.valueOf(listlephilinhvuc.get(a).getTONGLEPHI());
            rowNum++;
        }

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 4));
        HSSFRow rowTong = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell cell = rowTong.createCell(0);
        HSSFCell cell1 = rowTong.createCell(1);
        HSSFCell cell2 = rowTong.createCell(2);
        HSSFCell cell3 = rowTong.createCell(3);
        HSSFCell cell4 = rowTong.createCell(4);
        HSSFCell cell5 = rowTong.createCell(5);
        HSSFCell cell6 = rowTong.createCell(6);
        // set style cho cac cell
        cell.setCellStyle(styleCellRight);
        cell1.setCellStyle(styleCellCenter);
        cell2.setCellStyle(styleCellCenter);
        cell3.setCellStyle(styleCellCenter);
        cell4.setCellStyle(styleCellCenter);
        cell5.setCellStyle(styleCellRightNobold);
        cell6.setCellStyle(styleCellCenter);
        // set value for cells of rowtong
        cell.setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.tongcong"));
        cell5.setCellValue(tong);
        res.setContentType("application/vnd.ms-excel");
        res.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate");
        res.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate");
        res.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=Baocaotinhhinhlephi.xls");
        OutputStream out = res.getPortletOutputStream();
        workbook.write(out);
        out.flush();
        out.close();
    } catch (Exception e) {
    }
}

From source file:org.oep.cmon.report.portlet.util.ActionUtil.java

License:Apache License

/**
 * This is function excelLephitonghop/*w  w  w  .j  av a  2 s.  co  m*/
 * Version: 1.0
 *  
 * History: 
 *   DATE        AUTHOR      DESCRIPTION 
 *  ------------------------------------------------- 
 *  3-March-2013  Nam Dinh    Create new
 * @param req
 * @param res
 */
public static void excelLephitonghop(ResourceRequest req, ResourceResponse res) {
    try {
        String coQuanQuanLyId = req.getParameter("coQuanQuanLyId");
        CoQuanQuanLy coQuanQuanLy = new CoQuanQuanLyImpl();
        if (coQuanQuanLyId != null && !coQuanQuanLyId.equals("0")) {
            coQuanQuanLy = CoQuanQuanLyLocalServiceUtil.getCoQuanQuanLy(Long.valueOf(coQuanQuanLyId));
        }
        HSSFWorkbook workbook = new HSSFWorkbook();

        HSSFSheet sheet = workbook.createSheet("Tinh_hinh_thu_le_phi_tong_hop");

        // define a cell style
        HSSFFont tableHeaderFont = (HSSFFont) workbook.createFont();
        tableHeaderFont.setBoldweight((short) 5000);

        HSSFFont ngaythangFont = (HSSFFont) workbook.createFont();
        ngaythangFont.setItalic(true);

        HSSFFont titleFont = (HSSFFont) workbook.createFont();
        titleFont.setBoldweight((short) 5000);
        titleFont.setFontHeightInPoints((short) 15);

        HSSFCellStyle styleCellHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleCellHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellHeader.setFont(tableHeaderFont);
        styleCellHeader.setWrapText(true);

        HSSFCellStyle styleCellNgaythang = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNgaythang.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellNgaythang.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNgaythang.setFont(ngaythangFont);
        styleCellNgaythang.setWrapText(true);

        HSSFCellStyle styleCellCenter = (HSSFCellStyle) workbook.createCellStyle();
        styleCellCenter.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellCenter.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellCenter.setWrapText(true);

        HSSFCellStyle styleCellLeft = (HSSFCellStyle) workbook.createCellStyle();
        styleCellLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellLeft.setWrapText(true);

        HSSFCellStyle styleCellRight = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRight.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRight.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRight.setWrapText(true);
        styleCellRight.setFont(tableHeaderFont);

        HSSFCellStyle styleCellRightNobold = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRightNobold.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRightNobold.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRightNobold.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRightNobold.setWrapText(true);

        HSSFCellStyle styleHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleHeader.setFont(tableHeaderFont);
        styleHeader.setWrapText(true);

        HSSFCellStyle styleCellNhomTTHC = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNhomTTHC.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellNhomTTHC.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNhomTTHC.setFont(tableHeaderFont);

        HSSFCellStyle styleTitle = (HSSFCellStyle) workbook.createCellStyle();
        styleTitle.setFont(titleFont);
        styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        // end style
        String tungay = ParamUtil.getString(req, "tungay");
        String denngay = ParamUtil.getString(req, "denngay");
        int rowNum = 1;
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowUBND = sheet.createRow(rowNum);
        rowUBND.createCell(0).setCellValue("");
        rowUBND.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 6));
        rowUBND.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.chxhcnvn"));
        rowUBND.getCell(2).setCellStyle(styleCellHeader);

        rowNum++;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowTenDonVi = sheet.createRow(rowNum);
        rowTenDonVi.createCell(0).setCellValue(coQuanQuanLy.getTen());
        rowTenDonVi.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 6));
        rowTenDonVi.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.dltdhp"));
        rowTenDonVi.getCell(2).setCellStyle(styleCellHeader);

        rowNum++;
        List<NhomThuTucHanhChinh> listnhomtt = NhomThuTucHanhChinhLocalServiceUtil.getNhomThuTucHanhChinhs(0,
                NhomThuTucHanhChinhLocalServiceUtil.getNhomThuTucHanhChinhsCount());
        List<Lephi_tonghop> listlephitonghop = Lephi_tonghopLocalServiceUtil
                .lephitonghop(ParamUtil.getString(req, "id_loaihoso"), tungay, denngay);

        String linhvuc = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.linhvuc");
        String tongsohoso = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.tongsohoso");
        String lephi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.lephi");
        String phihoso = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.phihoso");
        String tonglephi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.tonglephi");
        String ghichu = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephilinhvuc.ghichu");
        String tieude = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephitonghop.tieude");
        String[] header = { "STT", linhvuc, tongsohoso, lephi, phihoso, tonglephi, ghichu };

        rowNum++;
        int[] width = { 1500, 15000, 5000, 5000, 5000, 5000, 5000, 5000, 5000 };
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum + 1, (short) 6));
        HSSFRow titleRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell titleCell = titleRow.createCell(0);
        titleCell.setCellStyle(styleTitle);
        titleCell.setCellValue(tieude);

        rowNum += 2;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 6));
        HSSFRow ngaythangRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell ngaythangCell = ngaythangRow.createCell(0);
        ngaythangCell.setCellStyle(styleCellNgaythang);
        ngaythangCell.setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.tungay") + " " + tungay
                + " " + ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.denngay") + " " + denngay);

        rowNum = rowNum + 3;
        HSSFRow headerRow = (HSSFRow) sheet.createRow(rowNum);
        int colNum = 0;
        for (int i = 0; i < header.length; i++) {
            HSSFCell cell = headerRow.createCell(colNum);
            cell.setCellStyle(styleHeader);
            cell.setCellValue(header[i]);
            sheet.setColumnWidth(i, width[i]);
            colNum++;
        }
        rowNum++;
        long tong = 0;
        int stt = 0;
        for (int j = 0; j < listnhomtt.size(); j++) {
            if (ActionUtil.checkLePhiTongHopByNHOMTTHCID(listnhomtt.get(j).getId(), listlephitonghop)) {
                sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 6));
                HSSFRow rowNhomTTHC = (HSSFRow) sheet.createRow(rowNum);
                HSSFCell cellNhomTTHC = rowNhomTTHC.createCell(0);
                cellNhomTTHC.setCellValue(listnhomtt.get(j).getTen());
                cellNhomTTHC.setCellStyle(styleCellNhomTTHC);
                rowNhomTTHC.createCell(6).setCellStyle(styleCellNhomTTHC);
                rowNum++;
                for (int a = 0; a < listlephitonghop.size(); a++) {
                    // khai bao dong va cac cell
                    if (listnhomtt.get(j).getId() == listlephitonghop.get(a).getNHOMTHUTUCHANHCHINHID()) {
                        stt++;
                        HSSFRow row = (HSSFRow) sheet.createRow(rowNum);
                        HSSFCell cell = row.createCell(0);
                        HSSFCell cell1 = row.createCell(1);
                        HSSFCell cell2 = row.createCell(2);
                        HSSFCell cell3 = row.createCell(3);
                        HSSFCell cell4 = row.createCell(4);
                        HSSFCell cell5 = row.createCell(5);
                        HSSFCell cell6 = row.createCell(6);
                        // set style cho cac cell
                        cell.setCellStyle(styleCellCenter);
                        cell1.setCellStyle(styleCellLeft);
                        cell2.setCellStyle(styleCellCenter);
                        cell3.setCellStyle(styleCellRightNobold);
                        cell4.setCellStyle(styleCellRightNobold);
                        cell5.setCellStyle(styleCellRightNobold);
                        cell6.setCellStyle(styleCellRightNobold);
                        // set gia tri cho cac cell
                        cell.setCellValue(stt);
                        cell1.setCellValue(
                                ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaolephitonghop.thang") + " "
                                        + listlephitonghop.get(a).getTHANGNHAN());
                        cell2.setCellValue(listlephitonghop.get(a).getTONGHOSO());
                        cell3.setCellValue(listlephitonghop.get(a).getLEPHI());
                        cell4.setCellValue(listlephitonghop.get(a).getPHIHOSO());
                        cell5.setCellValue(listlephitonghop.get(a).getTONGLEPHI());

                        tong = tong + Long.valueOf(listlephitonghop.get(a).getTONGLEPHI());
                        rowNum++;
                    }
                }
            }
        }

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 4));
        HSSFRow rowTong = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell cell = rowTong.createCell(0);
        HSSFCell cell1 = rowTong.createCell(1);
        HSSFCell cell2 = rowTong.createCell(2);
        HSSFCell cell3 = rowTong.createCell(3);
        HSSFCell cell4 = rowTong.createCell(4);
        HSSFCell cell5 = rowTong.createCell(5);
        HSSFCell cell6 = rowTong.createCell(6);
        // set style cho cac cell
        cell.setCellStyle(styleCellRight);
        cell1.setCellStyle(styleCellCenter);
        cell2.setCellStyle(styleCellCenter);
        cell3.setCellStyle(styleCellCenter);
        cell4.setCellStyle(styleCellCenter);
        cell5.setCellStyle(styleCellRightNobold);
        cell6.setCellStyle(styleCellCenter);
        // set value for cells of rowtong
        cell.setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.tongcong"));
        cell5.setCellValue(tong);
        res.setContentType("application/vnd.ms-excel");
        res.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate");
        res.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=Baocaotinhhinhlephi.xls");
        OutputStream out = res.getPortletOutputStream();
        workbook.write(out);
        out.flush();
        out.close();
    } catch (Exception e) {
    }
}

From source file:org.oep.cmon.report.portlet.util.ActionUtil.java

License:Apache License

/**
 * This is function excel BaoCaochungthuc
 * Version: 1.0/*from w w  w  . j  av a2s.  c  o m*/
 *  
 * History: 
 *   DATE        AUTHOR      DESCRIPTION 
 *  ------------------------------------------------- 
 *  3-March-2013  Nam Dinh    Create new
 * @param req
 * @param res
 */
public static void excelBaocaochungthuc(ResourceRequest req, ResourceResponse res) {
    try {
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        String coQuanQuanLyId = req.getParameter("coQuanQuanLyId");
        CoQuanQuanLy coQuanQuanLy = new CoQuanQuanLyImpl();
        if (coQuanQuanLyId != null && !coQuanQuanLyId.equals("0")) {
            coQuanQuanLy = CoQuanQuanLyLocalServiceUtil.getCoQuanQuanLy(Long.valueOf(coQuanQuanLyId));
        }
        HSSFWorkbook workbook = new HSSFWorkbook();

        HSSFSheet sheet = workbook.createSheet("Baocaohosochungthuc");

        // define a cell style
        HSSFFont tableHeaderFont = (HSSFFont) workbook.createFont();
        tableHeaderFont.setBoldweight((short) 5000);

        HSSFFont ngaythangFont = (HSSFFont) workbook.createFont();
        ngaythangFont.setItalic(true);

        HSSFFont titleFont = (HSSFFont) workbook.createFont();
        titleFont.setBoldweight((short) 5000);
        titleFont.setFontHeightInPoints((short) 15);

        HSSFCellStyle styleCellHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleCellHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellHeader.setFont(tableHeaderFont);
        styleCellHeader.setWrapText(true);

        HSSFCellStyle styleCellNgaythang = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNgaythang.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellNgaythang.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNgaythang.setFont(ngaythangFont);
        styleCellNgaythang.setWrapText(true);

        HSSFCellStyle styleCellCenter = (HSSFCellStyle) workbook.createCellStyle();
        styleCellCenter.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellCenter.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellCenter.setWrapText(true);

        HSSFCellStyle styleCellLeft = (HSSFCellStyle) workbook.createCellStyle();
        styleCellLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellLeft.setWrapText(true);

        HSSFCellStyle styleCellRight = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRight.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRight.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRight.setWrapText(true);
        styleCellRight.setFont(tableHeaderFont);

        HSSFCellStyle styleHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleHeader.setFont(tableHeaderFont);
        styleHeader.setWrapText(true);

        HSSFCellStyle styleCellNhomTTHC = (HSSFCellStyle) workbook.createCellStyle();
        styleCellNhomTTHC.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellNhomTTHC.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellNhomTTHC.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellNhomTTHC.setFont(tableHeaderFont);

        HSSFCellStyle styleTitle = (HSSFCellStyle) workbook.createCellStyle();
        styleTitle.setFont(titleFont);
        styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        // end style
        String tungay = ParamUtil.getString(req, "tungay");
        String denngay = ParamUtil.getString(req, "denngay");
        int rowNum = 1;
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowUBND = sheet.createRow(rowNum);
        rowUBND.createCell(0).setCellValue("");
        rowUBND.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 11));
        rowUBND.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.chxhcnvn"));
        rowUBND.getCell(2).setCellStyle(styleCellHeader);

        rowNum++;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 1));
        HSSFRow rowTenDonVi = sheet.createRow(rowNum);
        rowTenDonVi.createCell(0).setCellValue(coQuanQuanLy.getTen());
        rowTenDonVi.getCell(0).setCellStyle(styleCellHeader);

        sheet.addMergedRegion(new Region(rowNum, (short) 2, rowNum, (short) 11));
        rowTenDonVi.createCell(2).setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.dltdhp"));
        rowTenDonVi.getCell(2).setCellStyle(styleCellHeader);
        rowNum++;
        String str_loaihoso = ParamUtil.getString(req, "id_loaihoso");
        List<HoSoChungThuc> listhosochungthuc = ActionUtil.listhsct(str_loaihoso, tungay, denngay);

        String sochungthuc = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.sochungthuc");
        String nguoinop = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.nguoinop");
        String diachi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.diachi");
        String noidungcongviec = ActionUtil.getLanguage(req,
                "vn.dtt.cmon.report.baocaochungthuc.noidungcongviec");
        String loaigiayto = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.loaigiayto");
        String sobo = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.sobo");
        String sotrang = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.sotrang");
        String ngaynhan = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.ngaynhan");
        String ngaytraketqua = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.ngaytraketqua");
        String lephi = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.lephi");
        String nguoithuchien = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.nguoithuchien");
        String nguoiky = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.nguoiky");
        String tieude = ActionUtil.getLanguage(req, "vn.dtt.cmon.report.baocaochungthuc.tieude");
        String[] header = { "STT", sochungthuc, nguoinop, diachi, noidungcongviec, loaigiayto, sobo, sotrang,
                ngaynhan, ngaytraketqua, lephi, nguoithuchien, nguoiky };

        rowNum++;
        int[] width = { 1500, 2000, 5000, 5000, 5000, 5000, 2000, 2000, 3000, 3000, 2000, 4000, 4000 };
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum + 1, (short) 12));
        HSSFRow titleRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell titleCell = titleRow.createCell(0);
        titleCell.setCellStyle(styleTitle);
        titleCell.setCellValue(tieude);

        rowNum += 2;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 12));
        HSSFRow ngaythangRow = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell ngaythangCell = ngaythangRow.createCell(0);
        ngaythangCell.setCellStyle(styleCellNgaythang);
        ngaythangCell.setCellValue(ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.tungay") + " " + tungay
                + " " + ActionUtil.getLanguage(req, "vn.dtt.cmon.report.excel.denngay") + " " + denngay);

        rowNum = rowNum + 3;
        HSSFRow headerRow = (HSSFRow) sheet.createRow(rowNum);
        int colNum = 0;
        for (int i = 0; i < header.length; i++) {
            HSSFCell cell = headerRow.createCell(colNum);
            cell.setCellStyle(styleHeader);
            cell.setCellValue(header[i]);
            sheet.setColumnWidth(i, width[i]);
            colNum++;
        }
        rowNum++;
        long tong = 0;
        int stt = 0;
        for (int a = 0; a < listhosochungthuc.size(); a++) {
            // khai bao dong va cac cell
            stt++;
            HSSFRow row = (HSSFRow) sheet.createRow(rowNum);
            HSSFCell cell = row.createCell(0);
            HSSFCell cell1 = row.createCell(1);
            HSSFCell cell2 = row.createCell(2);
            HSSFCell cell3 = row.createCell(3);
            HSSFCell cell4 = row.createCell(4);
            HSSFCell cell5 = row.createCell(5);
            HSSFCell cell6 = row.createCell(6);
            HSSFCell cell7 = row.createCell(7);
            HSSFCell cell8 = row.createCell(8);
            HSSFCell cell9 = row.createCell(9);
            HSSFCell cell10 = row.createCell(10);
            HSSFCell cell11 = row.createCell(11);
            HSSFCell cell12 = row.createCell(12);
            // set style cho cac cell
            cell.setCellStyle(styleCellCenter);
            cell1.setCellStyle(styleCellLeft);
            cell2.setCellStyle(styleCellCenter);
            cell3.setCellStyle(styleCellCenter);
            cell4.setCellStyle(styleCellCenter);
            cell5.setCellStyle(styleCellCenter);
            cell6.setCellStyle(styleCellCenter);
            cell7.setCellStyle(styleCellCenter);
            cell8.setCellStyle(styleCellCenter);
            cell9.setCellStyle(styleCellCenter);
            cell10.setCellStyle(styleCellCenter);
            cell11.setCellStyle(styleCellCenter);
            cell12.setCellStyle(styleCellCenter);

            // set gia tri cho cac cell
            String diachithuongtru = listhosochungthuc.get(a).getDiaChiThuongTruNguoiNop() != null
                    ? listhosochungthuc.get(a).getDiaChiThuongTruNguoiNop()
                    : "";
            String dienthoaididong = listhosochungthuc.get(a).getSoDienThoaiDiDongNguoiNop() != null
                    ? "T:" + listhosochungthuc.get(a).getSoDienThoaiDiDongNguoiNop()
                    : "";
            cell.setCellValue(stt);
            cell1.setCellValue(listhosochungthuc.get(a).getSoChungThuc() != null
                    ? listhosochungthuc.get(a).getSoChungThuc()
                    : "");
            cell2.setCellValue(listhosochungthuc.get(a).getHoTenNguoiNopHoSo() != null
                    ? listhosochungthuc.get(a).getHoTenNguoiNopHoSo()
                    : "");
            cell3.setCellValue(diachithuongtru + "\n" + dienthoaididong);
            cell4.setCellValue(listhosochungthuc.get(a).getTenChungThuc());
            cell5.setCellValue(
                    listhosochungthuc.get(a).getThuTucHanhChinhId() != null ? ThuTucHanhChinhLocalServiceUtil
                            .getThuTucHanhChinh(listhosochungthuc.get(a).getThuTucHanhChinhId()).getTen() : "");
            cell6.setCellValue(listhosochungthuc.get(a).getSoBoHoSo());
            cell7.setCellValue(listhosochungthuc.get(a).getSoTo());
            cell8.setCellValue(listhosochungthuc.get(a).getNgayNopHoSo() != null
                    ? df.format(listhosochungthuc.get(a).getNgayNopHoSo())
                    : "");
            cell9.setCellValue(listhosochungthuc.get(a).getNgayTraKetQua() != null
                    ? df.format(listhosochungthuc.get(a).getNgayTraKetQua())
                    : "");
            cell10.setCellValue(listhosochungthuc.get(a).getLePhi());
            cell11.setCellValue(
                    listhosochungthuc.get(a).getCanBoTiepNhanId() != null
                            ? CongChucLocalServiceUtil
                                    .fetchCongChuc(listhosochungthuc.get(a).getCanBoTiepNhanId()).getHoVaTen()
                            : "");
            cell12.setCellValue(
                    listhosochungthuc.get(a).getTenCanBoKy() != null ? listhosochungthuc.get(a).getTenCanBoKy()
                            : "");
            rowNum++;
        }

        res.setContentType("application/vnd.ms-excel");
        res.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate");
        res.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=Baocaohosochungthuc.xls");
        OutputStream out = res.getPortletOutputStream();
        workbook.write(out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.oep.cmon.report.portlet.util.ActionUtil.java

License:Apache License

/**
 * This is function excel report detail//from  w w  w.  j  a  va2  s .  c  o  m
 * Version: 1.0
 *  
 * History: 
 *   DATE        AUTHOR      DESCRIPTION 
 *  ------------------------------------------------- 
 *  3-March-2013  Nam Dinh    Create new
 * @param resourceRequest
 * @param resourceResponse
 */
public static void excelbaocaochitiet(ResourceRequest resourceRequest, ResourceResponse resourceResponse) {
    try {
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet("new sheet");
        HSSFFont Row2_font = workbook.createFont();
        Row2_font.setFontName(HSSFFont.FONT_ARIAL);
        Row2_font.setFontHeightInPoints((short) 13);
        Row2_font.setUnderline(HSSFFont.U_SINGLE);

        HSSFFont ngaythang_font = workbook.createFont();
        ngaythang_font.setFontName(HSSFFont.FONT_ARIAL);
        ngaythang_font.setFontHeightInPoints((short) 13);
        ngaythang_font.setItalic(true);

        HSSFFont style_font = workbook.createFont();
        style_font.setFontHeightInPoints((short) 13);

        HSSFFont trangthai_font = workbook.createFont();
        trangthai_font.setFontName(HSSFFont.FONT_ARIAL);
        trangthai_font.setFontHeightInPoints((short) 11);
        trangthai_font.setItalic(true);

        /*define a cell style*/
        HSSFFont tableHeaderFont = (HSSFFont) workbook.createFont();
        tableHeaderFont.setBoldweight((short) 3500);
        HSSFFont titleFont = (HSSFFont) workbook.createFont();
        titleFont.setBoldweight((short) 3500);
        titleFont.setFontHeightInPoints((short) 13);

        HSSFFont titleTongStyle_font = (HSSFFont) workbook.createFont();
        titleTongStyle_font.setFontHeightInPoints((short) 13);
        titleTongStyle_font.setBoldweight((short) 3500);

        HSSFCellStyle styleCellCenter = (HSSFCellStyle) workbook.createCellStyle();
        styleCellCenter.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellCenter.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleCellCenter.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellCenter.setWrapText(true);

        HSSFCellStyle styleCellLeft = (HSSFCellStyle) workbook.createCellStyle();
        styleCellLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        styleCellLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellLeft.setWrapText(true);

        HSSFCellStyle styleCellRight = (HSSFCellStyle) workbook.createCellStyle();
        styleCellRight.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleCellRight.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        styleCellRight.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleCellRight.setWrapText(true);

        HSSFCellStyle titleTongStyle = (HSSFCellStyle) workbook.createCellStyle();
        titleTongStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        titleTongStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
        titleTongStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
        titleTongStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        titleTongStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        titleTongStyle.setFont(titleTongStyle_font);

        HSSFCellStyle titleLinhvucStyle = (HSSFCellStyle) workbook.createCellStyle();
        titleLinhvucStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        titleLinhvucStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
        titleLinhvucStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
        titleLinhvucStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        titleLinhvucStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        titleLinhvucStyle.setFont(titleTongStyle_font);

        HSSFCellStyle styleQuochieu = (HSSFCellStyle) workbook.createCellStyle();
        styleQuochieu.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleQuochieu.setFont(style_font);

        HSSFCellStyle styleRow2 = (HSSFCellStyle) workbook.createCellStyle();
        styleRow2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleRow2.setFont(Row2_font);

        HSSFCellStyle ngaythang_style = (HSSFCellStyle) workbook.createCellStyle();
        ngaythang_style.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
        ngaythang_style.setFont(ngaythang_font);

        HSSFCellStyle style_trangthai = (HSSFCellStyle) workbook.createCellStyle();
        style_trangthai.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        style_trangthai.setFont(trangthai_font);

        HSSFCellStyle style_tungay_denngay = (HSSFCellStyle) workbook.createCellStyle();
        style_tungay_denngay.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        style_tungay_denngay.setFont(trangthai_font);

        HSSFCellStyle styleHeader = (HSSFCellStyle) workbook.createCellStyle();
        styleHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderTop(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderRight(HSSFCellStyle.BORDER_THIN);
        styleHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        styleHeader.setFont(tableHeaderFont);
        styleHeader.setWrapText(true);

        HSSFCellStyle styleTitle = (HSSFCellStyle) workbook.createCellStyle();
        styleTitle.setFont(titleFont);
        styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

        /*end style*/
        int rowNum = 0;
        String[] header = { "STT", "Lnh vc",
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tenhoso"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.sohoso"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.trangthai"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.diachi"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.dienthoai"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.nguoinophoso"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.chuhoso"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ngaynhan"),
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ngaytra"),
                "Tnh trng\n h s",
                LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ghichu") };
        int[] width = { 1200, 3750, 3750, 4200, 3650, 3650, 3650, 3650, 3750, 3750, 3750, 3750, 3750 };

        String[] listloaihoso = null;
        if (Validator.isNotNull(ParamUtil.getParameterValues(resourceRequest, "chon_hoso"))) {
            listloaihoso = ParamUtil.getParameterValues(resourceRequest, "chon_hoso");
        }
        String ngaynhan_tungay = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "ngaynhan_tungay"))) {
            ngaynhan_tungay = ParamUtil.getString(resourceRequest, "ngaynhan_tungay");
        }
        String ngaynhan_denngay = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "ngaynhan_denngay"))) {
            ngaynhan_denngay = ParamUtil.getString(resourceRequest, "ngaynhan_denngay");
        }
        String trangthai_hoso = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "trangthai_hoso"))) {
            trangthai_hoso = ParamUtil.getString(resourceRequest, "trangthai_hoso");
        }
        String tinhtrang = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "tinhtrang_hoso"))) {
            tinhtrang = ParamUtil.getString(resourceRequest, "tinhtrang_hoso");
        }
        String loaidangky = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "loaidangky_hoso"))) {
            loaidangky = ParamUtil.getString(resourceRequest, "loaidangky_hoso");
        }
        String ten_donvi = "";
        if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "chon_donvi"))) {
            ten_donvi = ParamUtil.getString(resourceRequest, "chon_donvi");
        }
        List<Baocaochitiet> list = BaocaochitietLocalServiceUtil.hienthiDanhsachBaocao(listloaihoso,
                ngaynhan_tungay, ngaynhan_denngay, trangthai_hoso, tinhtrang, loaidangky, QueryUtil.ALL_POS,
                QueryUtil.ALL_POS);

        sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 0, (short) 2));
        HSSFRow Quochieu = sheet.createRow(rowNum);
        HSSFCell Quochieucell_1 = Quochieu.createCell(0);
        HSSFCell Quochieucell_2 = Quochieu.createCell(3);
        Quochieucell_1.setCellStyle(styleQuochieu);
        Quochieucell_2.setCellStyle(styleQuochieu);
        Quochieucell_1.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.qlc"));
        sheet.addMergedRegion(new Region(rowNum, (short) 3, (short) 0, (short) 12));
        Quochieucell_2.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.chxhcnvn"));
        rowNum = rowNum + 1;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 1, (short) 2));
        HSSFRow Row_2 = sheet.createRow(rowNum);
        //HSSFCell Quan = Row_2.createCell(0);
        //Quan.setCellValue(LanguageUtil.get((PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG) ,resourceRequest.getLocale(),"vn.dtt.cmon.report.excel.qlc"));
        //Quan.setCellStyle(styleRow2);

        sheet.addMergedRegion(new Region(rowNum, (short) 3, (short) 1, (short) 12));
        HSSFCell Tieungu = Row_2.createCell(3);
        Tieungu.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.dltdhp"));
        Tieungu.setCellStyle(styleRow2);
        rowNum = rowNum + 1;

        Calendar dateTime = Calendar.getInstance();
        SimpleDateFormat ngay_format = new SimpleDateFormat("dd");
        SimpleDateFormat thang_format = new SimpleDateFormat("MM");
        SimpleDateFormat nam_format = new SimpleDateFormat("yyyy");
        Date time = dateTime.getTime();
        String day = ngay_format.format(time);
        String month = thang_format.format(time);
        String year = nam_format.format(time);
        sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 2, (short) 10));
        HSSFRow Row_3 = sheet.createRow(rowNum);
        HSSFCell ngaythang = Row_3.createCell(0);
        ngaythang.setCellValue(ten_donvi + ", "
                + LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.ngay")
                + " " + day + " "
                + LanguageUtil
                        .get((PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.thang")
                + " " + month + " "
                + LanguageUtil.get(
                        (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                        resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nam")
                + " " + year);
        ngaythang.setCellStyle(ngaythang_style);
        rowNum = rowNum + 1;

        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
        HSSFRow titleRow = sheet.createRow(rowNum);
        HSSFCell titleCell = titleRow.createCell(0);
        titleCell.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tieude"));
        titleCell.setCellStyle(styleTitle);
        if (ngaynhan_tungay != "" && ngaynhan_denngay != "") {
            rowNum = rowNum + 1;
            sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
            HSSFRow TimeReportRow = sheet.createRow(rowNum);
            HSSFCell TimeReportCell = TimeReportRow.createCell(0);
            TimeReportCell.setCellValue(LanguageUtil.get(
                    (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                    resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay
                    + " "
                    + LanguageUtil.get(
                            (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                            resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay")
                    + ": " + ngaynhan_denngay);
            TimeReportCell.setCellStyle(style_tungay_denngay);
        } else if (ngaynhan_tungay != "" && ngaynhan_denngay == "") {
            rowNum = rowNum + 1;
            ngaynhan_denngay = "01/12/" + ngaynhan_tungay.substring(6, 10);
            sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
            HSSFRow TimeReportRow = sheet.createRow(rowNum);
            HSSFCell TimeReportCell = TimeReportRow.createCell(0);
            TimeReportCell.setCellValue(LanguageUtil.get(
                    (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                    resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay
                    + " "
                    + LanguageUtil.get(
                            (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                            resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay")
                    + ": " + ngaynhan_denngay);
            TimeReportCell.setCellStyle(style_tungay_denngay);
        } else if (ngaynhan_tungay == "" && ngaynhan_denngay != "") {
            rowNum = rowNum + 1;
            ngaynhan_tungay = "01/01/" + ngaynhan_denngay.substring(6, 10);
            sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
            HSSFRow TimeReportRow = sheet.createRow(rowNum);
            HSSFCell TimeReportCell = TimeReportRow.createCell(0);
            TimeReportCell.setCellValue(LanguageUtil.get(
                    (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                    resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay
                    + " "
                    + LanguageUtil.get(
                            (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                            resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay")
                    + ": " + ngaynhan_denngay);
            TimeReportCell.setCellStyle(style_tungay_denngay);
        } else {
            rowNum = rowNum + 1;
            ngaynhan_tungay = "01/01/" + year;
            ngaynhan_denngay = "01/12/" + year;
            sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
            HSSFRow TimeReportRow = sheet.createRow(rowNum);
            HSSFCell TimeReportCell = TimeReportRow.createCell(0);
            TimeReportCell.setCellValue(LanguageUtil.get(
                    (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                    resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay
                    + " "
                    + LanguageUtil.get(
                            (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                            resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay")
                    + ": " + ngaynhan_denngay);
            TimeReportCell.setCellStyle(style_tungay_denngay);
        }
        if (!trangthai_hoso.equals("")) {
            rowNum = rowNum + 1;
            sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10));
            HSSFRow TimeReportRow = sheet.createRow(rowNum);
            HSSFCell TimeReportCell = TimeReportRow.createCell(0);
            TimeReportCell
                    .setCellValue("("
                            + LanguageUtil.get(
                                    (PortletConfig) resourceRequest
                                            .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                                    resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.trangthai")
                            + ": " + TrangThaiHoSoLocalServiceUtil
                                    .getTrangThaiHoSo(Long.parseLong(trangthai_hoso)).getTrangThai()
                            + ")");
            TimeReportCell.setCellStyle(style_trangthai);
        }
        rowNum = rowNum + 3;
        HSSFRow headerRow = (HSSFRow) sheet.createRow(rowNum);
        int colNum = 0;
        for (int i = 0; i < header.length; i++) {
            HSSFCell cell = headerRow.createCell(colNum);
            cell.setCellStyle(styleHeader);
            cell.setCellValue(header[i]);
            sheet.setColumnWidth(i, width[i]);
            colNum++;
        }
        rowNum++;
        long count = 0;
        if (list != null && list.size() > 0) {
            long linhvucId = 0L;
            for (int a = 0; a < list.size(); a++) {
                String tinh_trang = "";
                if (Validator.isNotNull(list.get(a).getNGAYTRAKETQUA())
                        && Validator.isNotNull(list.get(a).getNGAYHENTRAKETQUA())) {
                    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
                    Date ngaytra = df.parse(list.get(a).getNGAYTRAKETQUA());
                    Date ngayhentra = df.parse(list.get(a).getNGAYHENTRAKETQUA());
                    if (ngaytra.before(ngayhentra)) {
                        tinh_trang = "Sm hn";
                    } else if (ngaytra.equals(ngayhentra)) {
                        tinh_trang = "ng hn";
                    } else if (ngaytra.after(ngayhentra)) {
                        tinh_trang = "Tr hn";
                    }
                }
                //khai bao dong va cac cell
                HSSFRow row = (HSSFRow) sheet.createRow(rowNum);
                HSSFCell cell = row.createCell(0);
                HSSFCell cell1 = row.createCell(1);
                HSSFCell cell2 = row.createCell(2);
                HSSFCell cell3 = row.createCell(3);
                HSSFCell cell4 = row.createCell(4);
                HSSFCell cell5 = row.createCell(5);
                HSSFCell cell6 = row.createCell(6);
                HSSFCell cell7 = row.createCell(7);
                HSSFCell cell8 = row.createCell(8);
                HSSFCell cell9 = row.createCell(9);
                HSSFCell cell10 = row.createCell(10);
                HSSFCell cell11 = row.createCell(11);
                HSSFCell cell12 = row.createCell(12);
                //set style cho cac cell
                cell.setCellStyle(styleCellCenter);
                cell1.setCellStyle(styleCellLeft);
                cell2.setCellStyle(styleCellCenter);
                cell3.setCellStyle(styleCellCenter);
                cell4.setCellStyle(styleCellCenter);
                cell5.setCellStyle(styleCellCenter);
                cell6.setCellStyle(styleCellCenter);
                cell7.setCellStyle(styleCellCenter);
                cell8.setCellStyle(styleCellCenter);
                cell9.setCellStyle(styleCellCenter);
                cell10.setCellStyle(styleCellCenter);
                cell11.setCellStyle(styleCellCenter);
                cell12.setCellStyle(styleCellCenter);
                //set gia tri cho cac cell
                cell.setCellValue((a + 1));
                cell1.setCellValue(NhomThuTucHanhChinhLocalServiceUtil
                        .getNhomThuTucHanhChinh(list.get(a).getLINHVUCID()).getTen());
                cell2.setCellValue(list.get(a).getTEN());
                cell3.setCellValue(list.get(a).getMASOHOSO());
                cell4.setCellValue(list.get(a).getTRANGTHAI());
                cell5.setCellValue(list.get(a).getDIACHIHIENNAY());
                cell6.setCellValue(list.get(a).getDIENTHOAIDIDONG());
                cell7.setCellValue(list.get(a).getHOTENNGUOINOPHOSO());
                cell8.setCellValue(list.get(a).getNGUOIDAIDIENPHAPLUAT());
                cell9.setCellValue(list.get(a).getNGAYNHANHOSO());
                cell10.setCellValue(list.get(a).getNGAYTRAKETQUA());
                cell11.setCellValue(tinh_trang);
                cell12.setCellValue(list.get(a).getGHICHU());
                count = a;
                rowNum++;
            }
            count = count + 1;
        } else {
            //khai bao dong va cac cell
            HSSFRow row = (HSSFRow) sheet.createRow(rowNum);
            HSSFCell cell = row.createCell(0);
            HSSFCell cell1 = row.createCell(1);
            HSSFCell cell2 = row.createCell(2);
            HSSFCell cell3 = row.createCell(3);
            HSSFCell cell4 = row.createCell(4);
            HSSFCell cell5 = row.createCell(5);
            HSSFCell cell6 = row.createCell(6);
            HSSFCell cell7 = row.createCell(7);
            HSSFCell cell8 = row.createCell(8);
            HSSFCell cell9 = row.createCell(9);
            HSSFCell cell10 = row.createCell(10);
            HSSFCell cell11 = row.createCell(11);
            HSSFCell cell12 = row.createCell(12);
            //set style cho cac cell
            cell.setCellStyle(styleCellCenter);
            cell1.setCellStyle(styleCellLeft);
            cell2.setCellStyle(styleCellCenter);
            cell3.setCellStyle(styleCellCenter);
            cell4.setCellStyle(styleCellCenter);
            cell5.setCellStyle(styleCellCenter);
            cell6.setCellStyle(styleCellCenter);
            cell7.setCellStyle(styleCellCenter);
            cell8.setCellStyle(styleCellCenter);
            cell9.setCellStyle(styleCellCenter);
            cell10.setCellStyle(styleCellCenter);
            cell11.setCellStyle(styleCellCenter);
            cell12.setCellStyle(styleCellCenter);
            //set gia tri cho cac cell
            cell.setCellValue("");
            cell1.setCellValue("");
            cell2.setCellValue("");
            cell3.setCellValue("");
            cell4.setCellValue("");
            cell5.setCellValue("");
            cell6.setCellValue("");
            cell7.setCellValue("");
            cell8.setCellValue("");
            cell9.setCellValue("");
            cell10.setCellValue("");
            cell11.setCellValue("");
            cell12.setCellValue("");
            count = 0;
            rowNum++;
        }
        sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 11));
        HSSFRow rowTong = (HSSFRow) sheet.createRow(rowNum);
        HSSFCell cell = rowTong.createCell(0);
        HSSFCell cell1 = rowTong.createCell(1);
        HSSFCell cell2 = rowTong.createCell(2);
        HSSFCell cell3 = rowTong.createCell(3);
        HSSFCell cell4 = rowTong.createCell(4);
        HSSFCell cell5 = rowTong.createCell(5);
        HSSFCell cell6 = rowTong.createCell(6);
        HSSFCell cell7 = rowTong.createCell(7);
        HSSFCell cell8 = rowTong.createCell(8);
        HSSFCell cell9 = rowTong.createCell(9);
        HSSFCell cell10 = rowTong.createCell(10);
        HSSFCell cell11 = rowTong.createCell(11);
        HSSFCell cell12 = rowTong.createCell(12);
        //set style cho cac cell
        cell.setCellStyle(titleTongStyle);
        cell1.setCellStyle(styleCellCenter);
        cell2.setCellStyle(styleCellCenter);
        cell3.setCellStyle(styleCellCenter);
        cell4.setCellStyle(styleCellCenter);
        cell5.setCellStyle(styleCellCenter);
        cell6.setCellStyle(styleCellCenter);
        cell7.setCellStyle(styleCellCenter);
        cell8.setCellStyle(styleCellCenter);
        cell9.setCellStyle(styleCellCenter);
        cell10.setCellStyle(styleCellCenter);
        cell11.setCellStyle(styleCellCenter);
        cell12.setCellStyle(styleCellCenter);
        //set value for cells of rowtong 
        cell.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tonghoso"));
        cell12.setCellValue(count);

        rowNum = rowNum + 2;
        sheet.addMergedRegion(new Region(rowNum, (short) 1, rowNum, (short) 2));
        HSSFRow nguoilap_baocaoRow = sheet.createRow(rowNum);
        HSSFCell nguoilap_Cell = nguoilap_baocaoRow.createCell(1);
        nguoilap_Cell.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nguoilap"));
        nguoilap_Cell.setCellStyle(styleTitle);

        sheet.addMergedRegion(new Region(rowNum, (short) 7, rowNum, (short) 10));
        HSSFCell title_nguoibaocao_Cell = nguoilap_baocaoRow.createCell(7);
        title_nguoibaocao_Cell.setCellValue(LanguageUtil.get(
                (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG),
                resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nguoibaocao"));
        title_nguoibaocao_Cell.setCellStyle(styleTitle);

        rowNum = rowNum + 4;

        if (Validator.isNotNull(resourceRequest.getAttribute("THEME_DISPLAY"))) {
            CongChuc congchuc = new CongChucImpl();
            ThemeDisplay themdisplay = (ThemeDisplay) resourceRequest.getAttribute("THEME_DISPLAY");
            User user = themdisplay.getUser();
            TaiKhoanNguoiDung taikhoan = new TaiKhoanNguoiDungImpl();
            taikhoan = TaiKhoanNguoiDungLocalServiceUtil.findByTaiKhoanNguoiDungId(user.getUserId());
            congchuc = ActionUtil.getCongchucByTaiKhoanNguoiDungId(taikhoan.getId());

            sheet.addMergedRegion(new Region(rowNum, (short) 1, rowNum, (short) 2));
            HSSFRow nguoi_baocaoRow = sheet.createRow(rowNum);
            HSSFCell nguoibaocao_Cell = nguoi_baocaoRow.createCell(1);
            nguoibaocao_Cell.setCellValue(congchuc.getHoVaTen());
            nguoibaocao_Cell.setCellStyle(styleTitle);
        }

        resourceResponse.setContentType("application/vnd.ms-excel;charset=utf-8");
        resourceResponse.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate");
        resourceResponse.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=Baocaochitiet.xls");
        OutputStream out = resourceResponse.getPortletOutputStream();
        workbook.write(out);
        out.flush();
        out.close();
    } catch (Exception e) {
    }
}

From source file:org.openmicroscopy.shoola.util.file.ExcelWriter.java

License:Open Source License

/** Creates the default styles. */
private void createStyles() {
    HSSFCellStyle style;

    Iterator<String> fontIterator = fontMap.keySet().iterator();
    String fontName;//w w w.  j  a  v a2 s. c  o m
    while (fontIterator.hasNext()) {
        fontName = fontIterator.next();
        style = workbook.createCellStyle();
        style.setFont(fontMap.get(fontName));
        styleMap.put(fontName, style);
    }
    HSSFDataFormat df;
    style = workbook.createCellStyle();
    style.setFont(fontMap.get(DEFAULT));
    df = workbook.createDataFormat();
    style.setDataFormat(df.getFormat("#.##"));
    styleMap.put(TWODECIMALPOINTS, style);

    style = workbook.createCellStyle();
    style.setFont(fontMap.get(DEFAULT));
    df = workbook.createDataFormat();
    style.setDataFormat(df.getFormat("0"));
    styleMap.put(INTEGER, style);

    style = workbook.createCellStyle();
    style.setFont(fontMap.get(DEFAULT));
    style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    style.setBottomBorderColor(HSSFColor.BLACK.index);
    styleMap.put(CELLBORDER_UNDERLINE, style);

    style = workbook.createCellStyle();
    style.setFont(fontMap.get(DEFAULT));
    style.setBorderTop(HSSFCellStyle.BORDER_THIN);
    style.setTopBorderColor(HSSFColor.BLACK.index);
    styleMap.put(CELLBORDER_TOPLINE, style);

    style = workbook.createCellStyle();
    style.setFont(fontMap.get(DEFAULT));
    style.setBorderTop(HSSFCellStyle.BORDER_THIN);
    style.setTopBorderColor(HSSFColor.BLACK.index);
    style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    style.setBottomBorderColor(HSSFColor.BLACK.index);
    styleMap.put(CELLBORDER_UNDERLINE_TOPLINE, style);
}

From source file:org.openmrs.module.kenyaemr.export.ExportLayouter.java

License:Open Source License

/**
 * Builds the column headers/*from  w  w  w .j a  va2s.  c  o m*/
 * 
 * @param worksheet
 * @param startRowIndex
 *            starting row offset
 * @param startColIndex
 *            starting column offset
 */
public static void buildHeaders(HSSFSheet worksheet, int startRowIndex, int startColIndex) {

    // Create font style for the headers
    Font font = worksheet.getWorkbook().createFont();
    font.setBoldweight(Font.BOLDWEIGHT_BOLD);

    // Create cell style for the headers
    HSSFCellStyle headerCellStyle = worksheet.getWorkbook().createCellStyle();
    headerCellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
    headerCellStyle.setFillPattern(CellStyle.FINE_DOTS);
    headerCellStyle.setAlignment(CellStyle.ALIGN_CENTER);
    headerCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    headerCellStyle.setWrapText(true);
    headerCellStyle.setFont(font);
    headerCellStyle.setBorderBottom(CellStyle.BORDER_THIN);

    // Create the column headers
    HSSFRow rowHeader = worksheet.createRow((short) startRowIndex + 2);
    rowHeader.setHeight((short) 500);

    HSSFCell cell1 = rowHeader.createCell(startColIndex + 0);
    cell1.setCellValue("Order Date");
    cell1.setCellStyle(headerCellStyle);

    HSSFCell cell2 = rowHeader.createCell(startColIndex + 1);
    cell2.setCellValue("Patient Identifier");
    cell2.setCellStyle(headerCellStyle);

    HSSFCell cell3 = rowHeader.createCell(startColIndex + 2);
    cell3.setCellValue("Name");
    cell3.setCellStyle(headerCellStyle);

    HSSFCell cell4 = rowHeader.createCell(startColIndex + 3);
    cell4.setCellValue("Age");
    cell4.setCellStyle(headerCellStyle);

    HSSFCell cell5 = rowHeader.createCell(startColIndex + 4);
    cell5.setCellValue("Gender");
    cell5.setCellStyle(headerCellStyle);

    HSSFCell cell6 = rowHeader.createCell(startColIndex + 5);
    cell6.setCellValue("Sample No.");
    cell6.setCellStyle(headerCellStyle);

    HSSFCell cell7 = rowHeader.createCell(startColIndex + 6);
    cell7.setCellValue("Lab");
    cell7.setCellStyle(headerCellStyle);

    HSSFCell cell8 = rowHeader.createCell(startColIndex + 7);
    cell8.setCellValue("Test");
    cell8.setCellStyle(headerCellStyle);

    HSSFCell cell9 = rowHeader.createCell(startColIndex + 8);
    cell9.setCellValue("Test name");
    cell9.setCellStyle(headerCellStyle);

    HSSFCell cell10 = rowHeader.createCell(startColIndex + 9);
    cell10.setCellValue("Result");
    cell10.setCellStyle(headerCellStyle);
}

From source file:org.openswing.swing.export.java.ExportToExcel.java

License:Open Source License

private int prepareGenericComponent(int rownum, HSSFWorkbook wb, HSSFSheet s, ExportOptions exportOptions,
        ComponentExportOptions opt) throws Throwable {
    Object[] row = null;/*  w  w  w  . j a  v  a  2  s .  co  m*/
    Object obj = null;
    HSSFRow r = null;
    HSSFCell c = null;

    HSSFCellStyle csText = wb.createCellStyle();
    csText.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
    csText.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csText.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csText.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csText.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csTitle = wb.createCellStyle();
    csTitle.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
    csTitle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFFont f = wb.createFont();
    f.setBoldweight(f.BOLDWEIGHT_NORMAL);
    csTitle.setFont(f);

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

    HSSFCellStyle csDecNum = wb.createCellStyle();
    csDecNum.setDataFormat(wb.createDataFormat().getFormat("#,##0.#####"));
    csDecNum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csIntNum = wb.createCellStyle();
    csIntNum.setDataFormat(wb.createDataFormat().getFormat("#,##0"));
    csIntNum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csDateTime = wb.createCellStyle();
    csDateTime.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"/*opt.getDateTimeFormat()*/));
    csDateTime.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderTop(HSSFCellStyle.BORDER_THIN);

    if (opt.getCellsContent() != null)
        for (int i = 0; i < opt.getCellsContent().length; i++) {
            row = opt.getCellsContent()[i];
            r = s.createRow(rownum);

            for (short j = 0; j < row.length; j++) {
                c = r.createCell(j);
                obj = row[j];
                if (obj != null) {

                    if (obj instanceof String) {
                        try {
                            c.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
                        } catch (NoSuchMethodError ex) {
                        }
                        c.setCellValue(obj.toString());
                        c.setCellStyle(csText);
                    } else if (obj instanceof BigDecimal || obj instanceof Double || obj instanceof Float
                            || obj.getClass() == Double.TYPE || obj.getClass() == Float.TYPE) {
                        c.setCellValue(Double.parseDouble(obj.toString()));
                        c.setCellStyle(csDecNum);
                    } else if (obj instanceof Integer || obj instanceof Short || obj instanceof Long
                            || obj.getClass() == Integer.TYPE || obj.getClass() == Short.TYPE
                            || obj.getClass() == Long.TYPE) {
                        c.setCellValue(Double.parseDouble(obj.toString()));
                        c.setCellStyle(csIntNum);
                    } else if (obj instanceof Boolean) {
                        c.setCellValue(((Boolean) obj).booleanValue());
                        c.setCellStyle(csBool);
                    } else if (obj.getClass().equals(boolean.class)) {
                        c.setCellValue(((Boolean) obj).booleanValue());
                        c.setCellStyle(csBool);
                    } else if (obj instanceof Date || obj instanceof java.util.Date
                            || obj instanceof java.sql.Timestamp) {
                        c.setCellValue((java.util.Date) obj);
                        c.setCellStyle(csDateTime);
                    }
                } else {
                    c.setCellValue("");
                    c.setCellStyle(csText);
                }

            }
            rownum++;
        }
    return rownum;
}

From source file:org.openswing.swing.export.java.ExportToExcel.java

License:Open Source License

private int prepareGrid(int rownum, HSSFWorkbook wb, HSSFSheet s, ExportOptions exportOptions,
        GridExportOptions opt) throws Throwable {

    // declare a row object reference
    HSSFRow r = null;//from  ww  w . ja  va  2 s  .  com
    // declare a cell object reference
    HSSFCell c = null;
    // create 3 cell styles
    HSSFCellStyle csText = wb.createCellStyle();
    csText.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
    csText.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csText.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csText.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csText.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csTitle = wb.createCellStyle();
    csTitle.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
    csTitle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csTitle.setBorderTop(HSSFCellStyle.BORDER_THIN);
    HSSFFont f = wb.createFont();
    f.setBoldweight(f.BOLDWEIGHT_NORMAL);
    csTitle.setFont(f);

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

    HSSFCellStyle csDecNum = wb.createCellStyle();
    csDecNum.setDataFormat(wb.createDataFormat().getFormat("#,##0.#####"));
    csDecNum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csDecNum.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csIntNum = wb.createCellStyle();
    csIntNum.setDataFormat(wb.createDataFormat().getFormat("#,##0"));
    csIntNum.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csIntNum.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csDate = wb.createCellStyle();
    csDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"/*opt.getDateFormat()*/));
    csDate.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csDate.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csDate.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csDate.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csTime = wb.createCellStyle();
    csTime.setDataFormat(HSSFDataFormat
            .getBuiltinFormat(exportOptions.getTimeFormat().equals("HH:mm") ? "h:mm" : "h:mm AM/PM"));
    csTime.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csTime.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csTime.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csTime.setBorderTop(HSSFCellStyle.BORDER_THIN);

    HSSFCellStyle csDateTime = wb.createCellStyle();
    csDateTime.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"/*opt.getDateTimeFormat()*/));
    csDateTime.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderRight(HSSFCellStyle.BORDER_THIN);
    csDateTime.setBorderTop(HSSFCellStyle.BORDER_THIN);

    // prepare vo getters methods...
    String methodName = null;
    String attributeName = null;
    Hashtable gettersMethods = new Hashtable();
    Method[] voMethods = opt.getValueObjectType().getMethods();
    for (int i = 0; i < voMethods.length; i++) {
        methodName = voMethods[i].getName();
        if (methodName.startsWith("get")) {
            attributeName = methodName.substring(3, 4).toLowerCase() + methodName.substring(4);
            if (opt.getExportAttrColumns().contains(attributeName))
                gettersMethods.put(attributeName, voMethods[i]);
        }
    }

    Response response = null;
    int start = 0;
    Object value = null;
    Object vo = null;
    int type;
    boolean firstRow = true;

    if (opt.getTitle() != null && !opt.getTitle().equals("")) {
        r = s.createRow(rownum);
        c = r.createCell((short) 0);
        try {
            c.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
        } catch (NoSuchMethodError ex) {
        }
        c.setCellValue(opt.getTitle());
        c.setCellStyle(csTitle);
        rownum++;
        rownum++;
    }
    String[] filters = opt.getFilteringConditions();
    if (filters != null) {
        for (int i = 0; i < filters.length; i++) {
            r = s.createRow(rownum);
            c = r.createCell((short) 0);
            try {
                c.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
            } catch (NoSuchMethodError ex) {
            }
            c.setCellValue(filters[i]);
            rownum++;
        }
        rownum++;
    }

    do {
        response = opt.getGridDataLocator().loadData(GridParams.NEXT_BLOCK_ACTION, start,
                opt.getFilteredColumns(), opt.getCurrentSortedColumns(), opt.getCurrentSortedVersusColumns(),
                opt.getValueObjectType(), opt.getOtherGridParams());
        if (response.isError())
            throw new Exception(response.getErrorMessage());

        for (int j = 0; j < ((VOListResponse) response).getRows().size(); j++) {
            if (firstRow) {
                firstRow = false;
                // create the first row...
                r = s.createRow(rownum++);
                for (short i = 0; i < opt.getExportColumns().size(); i++) {
                    c = r.createCell(i);
                    try {
                        c.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
                    } catch (NoSuchMethodError ex) {
                    }
                    c.setCellValue(opt.getExportColumns().get(i).toString());
                    c.setCellStyle(csTitle);
                }

                for (int k = 0; k < opt.getTopRows().size(); k++) {
                    // create a row for each top rows...
                    vo = opt.getTopRows().get(k);
                    rownum = appendRow(wb, s, vo, exportOptions, opt, gettersMethods, csText, csBool, csDecNum,
                            csIntNum, csDate, csTime, csDateTime, rownum, 0);
                }

            }

            // create a row
            vo = ((VOListResponse) response).getRows().get(j);

            rownum = appendRow(wb, s, vo, exportOptions, opt, gettersMethods, csText, csBool, csDecNum,
                    csIntNum, csDate, csTime, csDateTime, rownum, 1);
        }

        start = start + ((VOListResponse) response).getRows().size();

        if (!((VOListResponse) response).isMoreRows())
            break;
    } while (rownum < opt.getMaxRows());

    for (int j = 0; j < opt.getBottomRows().size(); j++) {
        // create a row for each bottom rows...
        vo = opt.getBottomRows().get(j);
        rownum = appendRow(wb, s, vo, exportOptions, opt, gettersMethods, csText, csBool, csDecNum, csIntNum,
                csDate, csTime, csDateTime, rownum, 2);
    }

    return rownum;
}

From source file:org.openurp.edu.other.service.OtherExamExportService.java

License:Open Source License

protected HSSFCellStyle xlsBorderStyle(HSSFWorkbook workbook, String style, int border) {
    HSSFCellStyle cellStyle = workbook.createCellStyle();
    if (style.indexOf("l") >= 0)
        cellStyle.setBorderLeft((short) border);
    if (style.indexOf("r") >= 0)
        cellStyle.setBorderRight((short) border);
    if (style.indexOf("t") >= 0)
        cellStyle.setBorderTop((short) border);
    if (style.indexOf("b") >= 0)
        cellStyle.setBorderBottom((short) border);
    return cellStyle;

}

From source file:org.orbeon.oxf.util.XLSUtils.java

License:Open Source License

public static void copyCell(HSSFWorkbook workbook, HSSFCell destination, HSSFCell source) {

    // Copy cell content
    destination.setCellType(source.getCellType());
    switch (source.getCellType()) {
    case HSSFCell.CELL_TYPE_BOOLEAN:
        destination.setCellValue(source.getBooleanCellValue());
        break;//from w w  w  .  j  av a 2s  .c  om
    case HSSFCell.CELL_TYPE_FORMULA:
    case HSSFCell.CELL_TYPE_STRING:
        destination.setCellValue(source.getStringCellValue());
        break;
    case HSSFCell.CELL_TYPE_NUMERIC:
        destination.setCellValue(source.getNumericCellValue());
        break;
    }

    // Copy cell style
    HSSFCellStyle sourceCellStyle = source.getCellStyle();
    HSSFCellStyle destinationCellStyle = workbook.createCellStyle();
    destinationCellStyle.setAlignment(sourceCellStyle.getAlignment());
    destinationCellStyle.setBorderBottom(sourceCellStyle.getBorderBottom());
    destinationCellStyle.setBorderLeft(sourceCellStyle.getBorderLeft());
    destinationCellStyle.setBorderRight(sourceCellStyle.getBorderRight());
    destinationCellStyle.setBorderTop(sourceCellStyle.getBorderTop());
    destinationCellStyle.setBottomBorderColor(sourceCellStyle.getBottomBorderColor());
    destinationCellStyle.setDataFormat(sourceCellStyle.getDataFormat());
    destinationCellStyle.setFillBackgroundColor(sourceCellStyle.getFillForegroundColor());
    destinationCellStyle.setFillForegroundColor(sourceCellStyle.getFillForegroundColor());
    destinationCellStyle.setFillPattern(sourceCellStyle.getFillPattern());
    destinationCellStyle.setFont(workbook.getFontAt(sourceCellStyle.getFontIndex()));
    destinationCellStyle.setHidden(sourceCellStyle.getHidden());
    destinationCellStyle.setIndention(sourceCellStyle.getIndention());
    destinationCellStyle.setLeftBorderColor(sourceCellStyle.getLeftBorderColor());
    destinationCellStyle.setLocked(sourceCellStyle.getLocked());
    destinationCellStyle.setRightBorderColor(sourceCellStyle.getRightBorderColor());
    destinationCellStyle.setRotation(sourceCellStyle.getRotation());
    destinationCellStyle.setTopBorderColor(sourceCellStyle.getTopBorderColor());
    destinationCellStyle.setVerticalAlignment(sourceCellStyle.getVerticalAlignment());
    destinationCellStyle.setWrapText(sourceCellStyle.getWrapText());
    destination.setCellStyle(destinationCellStyle);
}