Example usage for org.apache.poi.ss.usermodel CellStyle setFont

List of usage examples for org.apache.poi.ss.usermodel CellStyle setFont

Introduction

In this page you can find the example usage for org.apache.poi.ss.usermodel CellStyle setFont.

Prototype

void setFont(Font font);

Source Link

Document

set the font for this style

Usage

From source file:FILING.countyreport.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  ww  w  .  j av  a  2s .  com*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("text/html;charset=UTF-8");
    //        PrintWriter out = response.getWriter();
    try {
        dbConn conn = new dbConn("1");
        String County[];
        County = request.getParameterValues("County");
        String Year = "";
        Year = request.getParameter("Year");
        float percent = 0;
        ArrayList docidarray = new ArrayList();
        System.out.println("countyv " + County);
        String FirstName = "";
        String MiddleName = "";
        String Surname = "";
        String ovcid1 = "";
        String ovcid2 = "";
        int value0 = 0;
        int value1 = 0;
        String Districtid = "";
        String cboid = "";
        String doc = "";
        String docname = "";
        String cboname = "";
        String districtname = "";
        String countyval = "";
        int countercopy = 4;
        int activeOVC = 0;
        int activeHH = 0;
        //             ^^^^^^^^^^^^^CREATE STATIC AND WRITE STATIC DATA TO THE EXCELL^^^^^^^^^^^^
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet shet1 = wb.createSheet();

        //%%%%%%%%%%%%%%%%HEADER FONTS AND COLORATION%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

        // style header with font color yello 

        HSSFFont font_header = wb.createFont();
        font_header.setFontHeightInPoints((short) 10);
        font_header.setFontName("Arial Black");
        font_header.setItalic(true);
        font_header.setBoldweight((short) 05);
        font_header.setColor(HSSFColor.BLACK.index);
        CellStyle style_header = wb.createCellStyle();
        style_header.setFont(font_header);
        style_header.setWrapText(true);
        style_header.setFillForegroundColor(HSSFColor.YELLOW.index);
        style_header.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style_header.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style_header.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style_header.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        style_header.setAlignment(CellStyle.ALIGN_CENTER);
        style_header.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

        // stylex with font color blue  and backgound grey
        HSSFCellStyle stylex = wb.createCellStyle();
        stylex.setFillForegroundColor(HSSFColor.PALE_BLUE.index);
        stylex.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

        HSSFFont fontx = wb.createFont();
        fontx.setColor(HSSFColor.DARK_BLUE.index);
        stylex.setFont(fontx);
        stylex.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stylex.setAlignment(CellStyle.ALIGN_CENTER);

        // gold bg color -style
        HSSFFont font = wb.createFont();
        font.setFontHeightInPoints((short) 12);
        font.setFontName("Cambria");
        font.setItalic(true);
        font.setBoldweight((short) 02);
        font.setColor(HSSFColor.BLACK.index);
        CellStyle style = wb.createCellStyle();
        style.setFont(font);
        style.setWrapText(true);
        style.setFillForegroundColor(HSSFColor.GREY_40_PERCENT.index);
        style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style.setBorderLeft(HSSFCellStyle.BORDER_THIN);

        // for border with no font color
        CellStyle style_border = wb.createCellStyle();
        style_border.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style_border.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style_border.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style_border.setBorderLeft(HSSFCellStyle.BORDER_THIN);

        HSSFFont font1 = wb.createFont();
        font1.setFontHeightInPoints((short) 18);
        font1.setFontName("Cambria");
        font1.setBoldweight((short) 7);
        font1.setColor(HSSFColor.BLACK.index);

        CellStyle style_border1 = wb.createCellStyle();
        style_border1.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style_border1.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style_border1.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style_border1.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        style_border1.setFont(font);
        style_border1.setAlignment(CellStyle.ALIGN_JUSTIFY);
        style_border1.setVerticalAlignment(CellStyle.ALIGN_LEFT);

        HSSFRow rw1 = shet1.createRow(1);
        //cell;

        rw1.setHeightInPoints(30);
        for (int y = 0; y < 11; ++y) {
            HSSFCell cell = rw1.createCell(y);
            cell.setCellStyle(stylex);

            if (y == 0) {
                cell.setCellValue("COUNTY FILING TRACKER REPORT " + Year);

            }
        }
        shet1.addMergedRegion(new CellRangeAddress(1, 1, 0, 11));

        shet1.setColumnWidth(0, 4500);
        shet1.setColumnWidth(1, 8500);
        shet1.setColumnWidth(2, 5000);
        shet1.setColumnWidth(3, 5000);
        shet1.setColumnWidth(4, 5000);
        shet1.setColumnWidth(5, 5000);
        shet1.setColumnWidth(6, 5000);
        shet1.setColumnWidth(7, 5000);
        shet1.setColumnWidth(8, 5000);
        shet1.setColumnWidth(9, 5000);
        shet1.setColumnWidth(10, 5000);
        shet1.setColumnWidth(11, 5000);
        shet1.setColumnWidth(12, 5000);
        shet1.setColumnWidth(13, 5000);
        shet1.setColumnWidth(14, 5000);
        shet1.setColumnWidth(15, 5000);
        shet1.setColumnWidth(16, 5000);
        shet1.setColumnWidth(17, 5000);
        shet1.setColumnWidth(18, 5000);
        shet1.setColumnWidth(19, 5000);
        shet1.setColumnWidth(20, 4500);
        shet1.setColumnWidth(21, 4500);
        shet1.setColumnWidth(22, 3500);

        //  Merge the cells
        //  shet1.addMergedRegion(new CellRangeAddress(1,1,1,3));

        HSSFRow rw4 = shet1.createRow(2);
        rw4.setHeightInPoints(40);
        HSSFRow rw6 = shet1.createRow(3);
        rw6.setHeightInPoints(25);
        //    rw4.setRowStyle(style);
        //    
        //  
        //    rw6.setRowStyle(style);
        // 

        // rw4.createCell(1).setCellValue("Number");
        HSSFCell cell1, cell2, cell3, cell4, cell5, cell6, cell7, cell8, cell9, cell10, cell11, cell12, cell13,
                cell14, cell15, cell16;
        // cells fo row 2 
        cell1 = rw4.createCell(0);
        cell2 = rw4.createCell(1);

        cell4 = rw4.createCell(3);

        cell1.setCellValue("COUNTY");
        cell1.setCellStyle(style);
        cell2.setCellValue("DISTRICT");
        cell2.setCellStyle(style);

        cell6 = rw6.createCell(0);
        cell6.setCellValue("Status");
        cell6.setCellStyle(style);
        cell7 = rw6.createCell(1);
        cell7.setCellValue("");
        cell7.setCellStyle(style_header);
        cell3 = rw4.createCell(2);
        cell3.setCellValue("ACTIVE OVC");
        cell3.setCellStyle(style);
        cell3 = rw4.createCell(3);
        cell3.setCellValue("ACTIVE HH");
        cell3.setCellStyle(style);
        shet1.addMergedRegion(new CellRangeAddress(3, 3, 0, 1));
        int rowcount = 3;
        int doccounter = 4;
        int doccounter1 = 4;
        int columcounter = 3;
        String cboids = "";
        int mergecounter = 2;

        cell6 = rw6.createCell(2);
        cell6.setCellValue("");
        cell6.setCellStyle(stylex);
        cell6 = rw6.createCell(3);
        cell6.setCellValue("");
        cell6.setCellStyle(stylex);
        String getdocname = "select * from ovcdocuments where DocumentName!=''";
        conn.rs3 = conn.state3.executeQuery(getdocname);
        while (conn.rs3.next()) {
            System.out.println("mmm  " + doccounter1);
            System.out.println(conn.rs3.getString(2));
            docname = conn.rs3.getString(2);
            cell3 = rw4.createCell(doccounter1);
            cell3.setCellValue(docname);
            cell3.setCellStyle(style);
            docidarray.add(conn.rs3.getString(1));

            cell6 = rw6.createCell(doccounter1++);
            cell6.setCellValue("Available");
            cell6.setCellStyle(stylex);

            //           cell5=rw6.createCell(doccounter1);
            //          cell5.setCellValue("Not Available"); 
            //          cell5.setCellStyle(stylex);
            //        doccounter1++;

            //         System.out.println("mergecounter b4"+mergecounter);

            // System.out.println("mergecounter after"+mergecounter);  
            // mergecounter++;

            //shet1.addMergedRegion(new CellRangeAddress(2,2,doccounter1,doccounter1++));
        }

        System.out.println("lll " + doccounter1);
        int rowcounter = 4;
        int counter = 0;

        HSSFRow rw5 = null;
        String DistrictID = "";

        for (int j = 0; j < County.length; j++) {
            String getDistrictCounts = "select * from District where Countyid='" + County[j]
                    + "' order by District";
            System.out.println("districtID " + getDistrictCounts);
            conn.rs2 = conn.state2.executeQuery(getDistrictCounts);
            while (conn.rs2.next()) {
                System.out.println("district1" + conn.rs2.getString("District"));
                counter++;
                rowcount++;
                rw5 = shet1.createRow(rowcount);
                for (int i = 2; i < doccounter1; i++) {
                    System.out.println("mm " + i);
                    cell5 = rw5.createCell(i);
                    cell5.setCellValue("");
                    cell5.setCellStyle(style_border1);

                }

                cell2 = rw5.createCell(1);
                cell2.setCellValue(conn.rs2.getString(2));
                cell2.setCellStyle(style_border);

                //            cell5=rw5.createCell(rowcount);
                //        cell6=rw5.createCell(rowcounter++);
                //        cell5.setCellValue("x"); 
                //        cell6.setCellValue("y");
                System.out.println("rowcount " + rowcount + " lll   " + counter + " rowcounter " + rowcounter);

                rw5.setHeightInPoints(25);

                //   cell3=rw5.createCell(2);
                String getDistrict = "select * from County where CountyID='" + County[j] + "' order by County";
                System.out.println("dname " + getDistrict);
                conn.rs4 = conn.state4.executeQuery(getDistrict);
                while (conn.rs4.next()) {
                    districtname = conn.rs4.getString("County");
                    System.out.println("district2" + districtname);
                    cell1 = rw5.createCell(0);
                    cell1.setCellValue(districtname);
                    cell1.setCellStyle(style_border1);

                    // to marge these values 

                }

                System.out.println("doccount " + doccounter);

                doccounter = 4;
                String getData = "select " + "SUM(CASE WHEN ovcfiling.value='1' THEN 1 ELSE 0 END) AS COUNT1, "
                        + "SUM(CASE WHEN ovcfiling.value='0' THEN 1 ELSE 0 END) AS COUNT0,"
                        + "Clientdetails.Cbo," + "ovcfiling.ovcdocid,Clientdetails.District, "
                        + "count(Clientdetails.OVCID)," + "count(DISTINCT(Clientdetails.HouseHoldheadID))"
                        + " from ovcfiling,Clientdetails  " + "WHERE Clientdetails.District ='"
                        + conn.rs2.getString("DistrictID")
                        + "' and Clientdetails.OVCID = ovcfiling.ovcid and Clientdetails.Exited='1' and (Year='"
                        + Year + "' OR Year='') "
                        + "group by ovcfiling.ovcdocid,Clientdetails.Cbo,Clientdetails.District order by Clientdetails.District,ovcfiling.ovcdocid";
                System.out.println("aaaaa  " + getData);
                conn.rs = conn.state.executeQuery(getData);
                while (conn.rs.next()) {

                    value1 = conn.rs.getInt(1);
                    value0 = conn.rs.getInt(2);
                    cboid = conn.rs.getString(3);
                    doc = conn.rs.getString(4);
                    Districtid = conn.rs.getString(5);
                    activeOVC = conn.rs.getInt(6);
                    activeHH = conn.rs.getInt(7);
                    System.out.println("district3 " + Districtid);
                    float activeovc = 0;
                    float activehh = 0;
                    for (int i = 0; i < docidarray.size(); i++) {
                        System.out.println("hh " + docidarray.get(i) + "  " + doc);
                        //                      if(rw5==null){
                        //                    rw5=shet1.createRow(rowcount);
                        //                                    }
                        if (docidarray.get(i).equals(doc)) {
                            System.out.println(doc + "lll" + docidarray.get(i));
                            int cellcount = i + 2;
                            //                      cell2=rw5.createCell(cellcount++);
                            //                      cell2.setCellValue(value1);
                            //                      cell2.setCellStyle(style_border1);
                            //                        String getdocname1="select * from ovcdocuments";
                            //              conn.rs3= conn.state3.executeQuery(getdocname1);
                            //              if(conn.rs3.next()){

                            cell7 = rw5.createCell(2);
                            cell8 = rw5.createCell(3);

                            cell5 = rw5.createCell(doccounter);
                            //                             cell6=rw5.createCell(doccounter);
                            activeovc = activeOVC;
                            activehh = activeHH;
                            if (doc.equals("8")) {
                                percent = value1 / activehh * 100;
                            } else {
                                percent = value1 / activeovc * 100;
                            }
                            System.out.println("percenta " + percent + " " + value1 + "  " + activeOVC + " act "
                                    + activeovc);
                            cell5.setCellValue(Math.round(percent) + "%");
                            //                              cell6.setCellValue(value0); 

                            //FOR ACTICE OVCs
                            cell7.setCellValue(activeOVC);
                            cell7.setCellStyle(style_border);
                            //FOR ACTICE hhs
                            cell8.setCellValue(activeHH);
                            cell8.setCellStyle(style_border);

                            cell5.setCellStyle(style_border);

                            cell6.setCellStyle(style_border);
                            System.out.println("****a  " + doc + " " + doccounter);

                            if (doc.equals("2")) {

                                // System.out.println("****i  "+doc +" "+doccounter);
                                doccounter++;
                                //                                 doccounter++; 
                                System.out.println("am in2");
                                System.out.println("****b  " + doc + " " + doccounter);
                            }
                            if (doc.equals("3")) {
                                percent = value1 / activeovc * 100;
                                doccounter--;
                                //  doccounter--; 
                                //                                doccounter--; 
                                System.out.println("****f  " + doc + " " + doccounter);
                                cell5 = rw5.createCell(doccounter++);
                                cell5.setCellStyle(style_border);
                                cell5.setCellValue(percent);
                                cell6 = rw5.createCell(doccounter);
                                //                                   cell6.setCellStyle(style_border); 
                                //                                cell6.setCellValue(value0);
                                System.out.println("****b  " + doc + " " + doccounter);

                                doccounter--;
                            }
                            //                           else if(!doc.equals("4") && !docidarray.get(i).equals("4")){
                            //                                doccounter++; 
                            //                                 doccounter++; 
                            //                            System.out.println("****c  "+doc +" "+doccounter);
                            //                           }

                            doccounter++;
                        }
                    }

                }
                doccounter = 2;
                //               String getcbo= "select * from CBO where cboid='"+cboid+"'";
                //                      conn.rs2 = conn.state2.executeQuery(getcbo);
                //                      while(conn.rs2.next()){
                //                    
                //                            cell2=rw5.createCell(1);
                //                             cell2.setCellValue(conn.rs2.getString(2));
                //                          
                //                                   System.out.println("rowcount "+rowcount );
                //                                     
                //                      }

                //}

                System.out.println("aaaaaa   " + districtname + "__" + cboname + "____" + docname + "___"
                        + value1 + "__" + value0);

                //   shet1.addMergedRegion(new CellRangeAddress(countercopy,counter,0,0));
                //    countercopy=counter;
                //   cell1.setCellValue(districtname);                 

            }

            if (countyval.equals("")) {
                //     totalvalue= countercopy+counter;
                System.out.println(countercopy + " counter " + counter + "  " + rowcount);
                countyval = districtname;
                System.out.println(countercopy + " nnnn " + counter + " " + rowcount);

                //                            if(counter>countercopy){

                shet1.addMergedRegion(new CellRangeAddress(countercopy, rowcount, 0, 0));
                countercopy = rowcount;
                //cell1.setCellValue(districtname);
                //                            }

                System.out.println(countercopy + " nnn " + counter + " " + rowcount + "  " + countyval);
            }
            // cell1.setCellValue(districtname);

            if (!countyval.equals(districtname) && !countyval.equals("")) {
                countyval = districtname;
                //  cell1.setCellValue(districtname);    
                shet1.addMergedRegion(new CellRangeAddress(countercopy + 1, rowcount, 0, 0));
                countercopy = rowcount;

                //

                System.out.println(counter + "@@@@1 " + rowcount + "__" + countercopy);
                System.out.println(countyval + "@@@@1 " + districtname);
            }
            System.out.println(counter + "@@@@ " + rowcount);
            //shet1.addMergedRegion(new CellRangeAddress(counter,rowcount,0,0));
            System.out.println(countyval + "@@@@ " + districtname);
        }
        System.out.println(counter + "@@@@2 " + rowcount + " copy ");

        // System.out.println("aaaaaannnn   "+districtname+"__"+ cboname +"____"+ doc +"___"+value1 +"__"+value0 ); 

        // write it as an excel attachment
        ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
        wb.write(outByteStream);
        byte[] outArray = outByteStream.toByteArray();
        response.setContentType("application/ms-excel");
        response.setContentLength(outArray.length);
        response.setHeader("Expires:", "0"); // eliminates browser caching
        response.setHeader("Content-Disposition",
                "attachment; filename=County_Filing_Tracker_Report_" + Year + ".xls");
        OutputStream outStream = response.getOutputStream();
        outStream.write(outArray);
        outStream.flush();
    } finally {
        //            out.close();
    }
}

From source file:FormatStatics.HeaderFormats.java

/**
 * A method to create a header style that is Grey in color and bold
 * @param wb The current workbook object
 * @return The desired cellstyle format//from   www.  ja v a 2 s.c o m
 */
public static CellStyle GreyBoldCenterHeader(Workbook wb) {
    CellStyle style;
    Font headerFont = wb.createFont();
    headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setAlignment(CellStyle.ALIGN_CENTER);
    style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(headerFont);
    return style;
}

From source file:FormatStatics.HeaderFormats.java

/**
 * A generic method for creating a cell style with a gray bold header
 * @param wb The current workbook object
 * @return The desired cellstyle format//from   w  ww.ja v a2  s . co  m
 */
public static CellStyle GreyBoldHeader(Workbook wb) {
    CellStyle style;
    Font headerFont = wb.createFont();
    headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(headerFont);
    return style;
}

From source file:FormatStatics.HeaderFormats.java

/**
 * A generic method for creating a cell style with a gray header
 * @param wb The current workbook object
 * @return The desired cellstyle format/* w  w  w.j a  v  a2 s  .co  m*/
 */
public static CellStyle GreyHeader(Workbook wb) {
    CellStyle style;
    Font headerFont = wb.createFont();
    style = BorderedStyle.createBorderedStyle(wb);
    style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(headerFont);
    return style;
}

From source file:FormatStatics.HeaderFormats.java

/**
 * A generic method for creating a cell style with a custom color bold header
 * @param wb The current workbook object
 * @param color a lowercase string indicating the color desired
 * @return The desired cellstyle format/*from   w  ww .j a  v a 2s .  c  o m*/
 */
public static CellStyle CustomBoldCenterHeader(Workbook wb, String color) {
    CellStyle style;
    Font headerFont = wb.createFont();
    headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setAlignment(CellStyle.ALIGN_CENTER);
    style.setFillForegroundColor(InterpretColor(color));
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(headerFont);
    return style;
}

From source file:FormatStatics.HeaderFormats.java

/**
 * A generic method for creating a cell style with a custom bold header
 * @param wb The current workbook object
 * @param color a short value indicating the color desired; from the Apache
 * POI short list of colors//  w  w w  . ja  v a2s.co  m
 * @return The desired cellstyle format
 */
public static CellStyle CustomBoldCenterHeader(Workbook wb, short color) {
    CellStyle style;
    Font headerFont = wb.createFont();
    headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setAlignment(CellStyle.ALIGN_CENTER);
    style.setFillForegroundColor(color);
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(headerFont);
    return style;
}

From source file:FormatStatics.HighlightStyle.java

/**
 * A Highlight style that uses a custom color short value; short values
 * are derived from the Apache POI color definitions
 * @param wb The current workbook object
 * @param color a short value indicating the color desired; from the Apache
 * POI short list of colors//from ww  w  . j a  v  a  2s. c o  m
 * @return The desired cellstyle format
 */
public static CellStyle CustomBoldHighlight(Workbook wb, Short color) {
    CellStyle style;
    Font highlightFont = wb.createFont();
    highlightFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setAlignment(CellStyle.ALIGN_LEFT);
    style.setFillForegroundColor(color);
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(highlightFont);
    return style;
}

From source file:FormatStatics.HighlightStyle.java

/**
 * A simple highlight style that returns a bright yellow highlight cell style
 * @param wb The current workbook object
 * @return The desired yellow cell style
 *///from   w  w  w. ja  v a2 s. c  o m
public static CellStyle YellowBoldHighlight(Workbook wb) {
    CellStyle style;
    Font highlightFont = wb.createFont();
    highlightFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
    style = BorderedStyle.createBorderedStyle(wb);
    style.setAlignment(CellStyle.ALIGN_LEFT);
    style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    style.setFont(highlightFont);
    return style;
}

From source file:forseti.reportes.JReportesDlg.java

License:Open Source License

public void generarArchivoXLS(HttpServletRequest request, HttpServletResponse response, Workbook wb)
        throws ServletException, IOException {
    JReportesSet m_RepSet = (JReportesSet) request.getAttribute("m_RepSet");
    JReportesLevel1 m_setL1 = (JReportesLevel1) request.getAttribute("m_setL1");
    JReportesCompL1Set m_setCL1 = (JReportesCompL1Set) request.getAttribute("m_setCL1");
    Boolean m_bSelectL1 = (Boolean) request.getAttribute("m_bSelectL1");
    Boolean m_bSelectL2 = (Boolean) request.getAttribute("m_bSelectL2");
    Boolean m_bSelectL3 = (Boolean) request.getAttribute("m_bSelectL3");
    Boolean m_bComputeL1 = (Boolean) request.getAttribute("m_bComputeL1");
    Boolean m_bComputeL2 = (Boolean) request.getAttribute("m_bComputeL2");
    Boolean m_bComputeL3 = (Boolean) request.getAttribute("m_bComputeL3");
    JReportesBind3Set m_colL1 = (JReportesBind3Set) request.getAttribute("m_colL1");
    JReportesBind3Set m_colL2 = (JReportesBind3Set) request.getAttribute("m_colL2");
    JReportesBind3Set m_colL3 = (JReportesBind3Set) request.getAttribute("m_colL3");
    JReportesBind3Set m_colCL1 = (JReportesBind3Set) request.getAttribute("m_colCL1");
    JReportesBind3Set m_colCL2 = (JReportesBind3Set) request.getAttribute("m_colCL2");
    JReportesBind3Set m_colCL3 = (JReportesBind3Set) request.getAttribute("m_colCL3");

    String fsi_filtro = (String) request.getAttribute("fsi_filtro");

    Sheet sheet = wb.createSheet("reporte " + Integer.toString(m_RepSet.getAbsRow(0).getID_Report()));

    short nrow = 0;
    Row row = sheet.createRow(nrow++);/*from www .j  a v  a 2  s. c  om*/
    Font font = wb.createFont();
    font.setBoldweight(Font.BOLDWEIGHT_BOLD);
    font.setColor(HSSFColor.DARK_BLUE.index);
    Cell cell = row.createCell(0);
    cell.setCellValue(m_RepSet.getAbsRow(0).getDescription() + " " + fsi_filtro);
    CellStyle cellStyle = wb.createCellStyle();
    cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
    cellStyle.setVerticalAlignment(CellStyle.VERTICAL_BOTTOM);
    cellStyle.setFont(font);
    cell.setCellStyle(cellStyle);

    JRepCellStyles cellStyles = new JRepCellStyles(wb);
    /*
    Font fenc = wb.createFont();
    fenc.setBoldweight(Font.BOLDWEIGHT_BOLD);
    fenc.setColor(HSSFColor.WHITE.index);
            
    Font fnorm = wb.createFont();
    fnorm.setColor(HSSFColor.BLACK.index);
            
    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    CellStyle cellStyle = wb.createCellStyle();
    cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    cellStyle.setFont(font);
            
    if(alin != null)
    {
      if(alin.equals("center"))
     cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
      else if(alin.equals("right"))
     cellStyle.setAlignment(CellStyle.ALIGN_RIGHT);
      else
     cellStyle.setAlignment(CellStyle.ALIGN_LEFT);
    }
            
    if(tipocel != null)
    {
      if(tipocel.equals("encabezado"))
      {
     cellStyle.setBorderTop(CellStyle.BORDER_THIN);
     cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
     cellStyle.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
     cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
             
      }
      else if(tipocel.equals("agregado"))
      {
     cellStyle.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
     cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
      }
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    */

    if (m_bSelectL1.booleanValue()) {
        Row rowl = sheet.createRow(nrow++);
        for (int i = 0; i < m_colL1.getNumRows(); i++) {
            if (m_colL1.getAbsRow(i).getWillShow()) {
                JUtil.DatoXLS(cellStyles, rowl, i, m_colL1.getAbsRow(i).getColName().toUpperCase(), "general",
                        "STRING", m_colL1.getAbsRow(i).getAlinHor(), "encabezado", "fenc", request);
                //celll1.getCellStyle().setBorderTop(CellStyle.BORDER_THIN);
                //celll1.getCellStyle().setBorderBottom(CellStyle.BORDER_THIN);
            }
        }
    }

    if (m_bSelectL2.booleanValue()) {
        Row rowl = sheet.createRow(nrow++);
        for (int i = 0; i < m_colL2.getNumRows(); i++) {
            if (m_colL2.getAbsRow(i).getWillShow()) {
                JUtil.DatoXLS(cellStyles, rowl, i, m_colL2.getAbsRow(i).getColName().toUpperCase(), "general",
                        "STRING", m_colL2.getAbsRow(i).getAlinHor(), "encabezado", "fenc", request);
                //celll2.getCellStyle().setBorderTop(CellStyle.BORDER_THIN);
                //celll2.getCellStyle().setBorderBottom(CellStyle.BORDER_THIN);
            }
        }
    }

    if (m_bSelectL3.booleanValue()) {
        Row rowl = sheet.createRow(nrow++);
        for (int i = 0; i < m_colL3.getNumRows(); i++) {
            if (m_colL3.getAbsRow(i).getWillShow()) {
                JUtil.DatoXLS(cellStyles, rowl, i, m_colL3.getAbsRow(i).getColName().toUpperCase(), "general",
                        "STRING", m_colL3.getAbsRow(i).getAlinHor(), "encabezado", "fenc", request);
                //celll3.getCellStyle().setBorderTop(CellStyle.BORDER_THIN);
                //celll3.getCellStyle().setBorderBottom(CellStyle.BORDER_THIN);
            }
        }
    }

    if (m_bSelectL1.booleanValue()) {
        for (int RL1 = 0; RL1 < m_setL1.getNumRows(); RL1++) {
            Row rowl1 = sheet.createRow(nrow++);
            for (int CL1 = 0; CL1 < m_colL1.getNumRows(); CL1++) {
                if (m_colL1.getAbsRow(CL1).getWillShow())
                    JUtil.DatoXLS(cellStyles, rowl1, CL1,
                            m_setL1.getAbsRow(RL1).getSTS(m_colL1.getAbsRow(CL1).getColName()),
                            m_colL1.getAbsRow(CL1).getFormat(), m_colL1.getAbsRow(CL1).getBindDataType(),
                            m_colL1.getAbsRow(CL1).getAlinHor(), null, "fnorm", request);
            }

            // Nivel 2
            if (m_bSelectL2.booleanValue()) {
                for (int RL2 = 0; RL2 < m_setL1.getAbsRow(RL1).getSetL2().getNumRows(); RL2++) {
                    Row rowl2 = sheet.createRow(nrow++);
                    for (int CL2 = 0; CL2 < m_colL2.getNumRows(); CL2++) {
                        if (m_colL2.getAbsRow(CL2).getWillShow())
                            JUtil.DatoXLS(cellStyles, rowl2, CL2,
                                    m_setL1.getAbsRow(RL1).getSetL2().getAbsRow(RL2)
                                            .getSTS(m_colL2.getAbsRow(CL2).getColName()),
                                    m_colL2.getAbsRow(CL2).getFormat(),
                                    m_colL2.getAbsRow(CL2).getBindDataType(),
                                    m_colL2.getAbsRow(CL2).getAlinHor(), null, "fnorm", request);
                    }

                    // Nivel 3
                    if (m_bSelectL3.booleanValue()) {
                        for (int RL3 = 0; RL3 < m_setL1.getAbsRow(RL1).getSetL2().getAbsRow(RL2).getSetL3()
                                .getNumRows(); RL3++) {
                            Row rowl3 = sheet.createRow(nrow++);
                            for (int CL3 = 0; CL3 < m_colL3.getNumRows(); CL3++) {
                                if (m_colL3.getAbsRow(CL3).getWillShow())
                                    JUtil.DatoXLS(cellStyles, rowl3, CL3,
                                            m_setL1.getAbsRow(RL1).getSetL2().getAbsRow(RL2).getSetL3()
                                                    .getAbsRow(RL3).getSTS(m_colL3.getAbsRow(CL3).getColName()),
                                            m_colL3.getAbsRow(CL3).getFormat(),
                                            m_colL3.getAbsRow(CL3).getBindDataType(),
                                            m_colL3.getAbsRow(CL3).getAlinHor(), null, "fnorm", request);

                            }

                        }
                        if (m_bComputeL3.booleanValue()) {
                            for (int RC3 = 0; RC3 < m_setL1.getAbsRow(RL1).getSetL2().getAbsRow(RL2).getSetCL3()
                                    .getNumRows(); RC3++) {
                                Row rowc3 = sheet.createRow(nrow++);
                                for (int CC3 = 0; CC3 < m_colCL3.getNumRows(); CC3++) {
                                    if (m_colCL3.getAbsRow(CC3).getWillShow())
                                        JUtil.DatoXLS(cellStyles, rowc3, CC3,
                                                m_setL1.getAbsRow(RL1).getSetL2().getAbsRow(RL2).getSetCL3()
                                                        .getAbsRow(RC3)
                                                        .getSTS(m_colCL3.getAbsRow(CC3).getColName()),
                                                m_colCL3.getAbsRow(CC3).getFormat(),
                                                m_colCL3.getAbsRow(CC3).getBindDataType(),
                                                m_colCL3.getAbsRow(CC3).getAlinHor(), "agregado", "fenc",
                                                request);
                                }

                            }
                        } // Fin SI CL3
                    } // Fin SI L3
                }
                if (m_bComputeL2.booleanValue()) {
                    for (int RC2 = 0; RC2 < m_setL1.getAbsRow(RL1).getSetCL2().getNumRows(); RC2++) {
                        Row rowc2 = sheet.createRow(nrow++);
                        for (int CC2 = 0; CC2 < m_colCL2.getNumRows(); CC2++) {
                            if (m_colCL2.getAbsRow(CC2).getWillShow())
                                JUtil.DatoXLS(cellStyles, rowc2, CC2,
                                        m_setL1.getAbsRow(RL1).getSetCL2().getAbsRow(RC2)
                                                .getSTS(m_colCL2.getAbsRow(CC2).getColName()),
                                        m_colCL2.getAbsRow(CC2).getFormat(),
                                        m_colCL2.getAbsRow(CC2).getBindDataType(),
                                        m_colCL2.getAbsRow(CC2).getAlinHor(), "agregado", "fenc", request);
                        }
                    }
                } // Fin SI CL2
            } // Fin SI L2
        }
        if (m_bComputeL1.booleanValue()) {
            for (int RC1 = 0; RC1 < m_setCL1.getNumRows(); RC1++) {
                Row rowc1 = sheet.createRow(nrow++);
                for (int CC1 = 0; CC1 < m_colCL1.getNumRows(); CC1++) {
                    if (m_colCL1.getAbsRow(CC1).getWillShow())
                        JUtil.DatoXLS(cellStyles, rowc1, CC1,
                                m_setCL1.getAbsRow(RC1).getSTS(m_colCL1.getAbsRow(CC1).getColName()),
                                m_colCL1.getAbsRow(CC1).getFormat(), m_colCL1.getAbsRow(CC1).getBindDataType(),
                                m_colCL1.getAbsRow(CC1).getAlinHor(), "agregado", "fenc", request);
                }
            }
        } // Fin SI CL1
    } // Fin SI L1

    int colsmer;
    if (m_colL1.getNumRows() > m_colL2.getNumRows() && m_colL1.getNumRows() > m_colL3.getNumRows())
        colsmer = m_colL1.getNumRows() - 1;
    else if (m_colL2.getNumRows() > m_colL1.getNumRows() && m_colL2.getNumRows() > m_colL3.getNumRows())
        colsmer = m_colL2.getNumRows() - 1;
    else
        colsmer = m_colL3.getNumRows() - 1;

    sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, (colsmer == -1 ? 0 : colsmer)));

}

From source file:fr.openwide.core.export.excel.AbstractExcelTableExport.java

License:Apache License

/**
 * Initialisation des styles de cellule//from   w ww. j  a v  a  2s  .  c  om
 */
protected void initStyles() {
    CellStyle defaultStyle = workbook.createCellStyle();
    defaultStyle.setFont(getFont(FONT_NORMAL_NAME));
    setStyleFillForegroundColor(defaultStyle, colorRegistry, HSSFColor.WHITE.index);
    defaultStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
    defaultStyle.setBorderBottom(CellStyle.BORDER_THIN);
    setStyleBottomBorderColor(defaultStyle, colorRegistry, BORDER_COLOR_INDEX);
    defaultStyle.setBorderLeft(CellStyle.BORDER_THIN);
    setStyleLeftBorderColor(defaultStyle, colorRegistry, BORDER_COLOR_INDEX);
    defaultStyle.setBorderRight(CellStyle.BORDER_THIN);
    setStyleRightBorderColor(defaultStyle, colorRegistry, BORDER_COLOR_INDEX);
    defaultStyle.setBorderTop(CellStyle.BORDER_THIN);
    setStyleTopBorderColor(defaultStyle, colorRegistry, BORDER_COLOR_INDEX);
    defaultStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    defaultStyle.setWrapText(true);
    registerStyle(STYLE_DEFAULT_NAME, defaultStyle);

    CellStyle styleHeader = workbook.createCellStyle();
    styleHeader.setAlignment(CellStyle.ALIGN_CENTER);
    styleHeader.setFont(getFont(FONT_HEADER_NAME));
    setStyleFillForegroundColor(styleHeader, colorRegistry, HEADER_BACKGROUND_COLOR_INDEX);
    styleHeader.setFillPattern(CellStyle.SOLID_FOREGROUND);
    styleHeader.setBorderBottom(CellStyle.BORDER_THIN);
    setStyleBottomBorderColor(styleHeader, colorRegistry, BORDER_COLOR_INDEX);
    styleHeader.setBorderLeft(CellStyle.BORDER_THIN);
    setStyleLeftBorderColor(styleHeader, colorRegistry, BORDER_COLOR_INDEX);
    styleHeader.setBorderRight(CellStyle.BORDER_THIN);
    setStyleRightBorderColor(styleHeader, colorRegistry, BORDER_COLOR_INDEX);
    styleHeader.setBorderTop(CellStyle.BORDER_THIN);
    setStyleTopBorderColor(styleHeader, colorRegistry, BORDER_COLOR_INDEX);
    styleHeader.setDataFormat((short) 0);
    styleHeader.setWrapText(true);
    registerStyle(STYLE_HEADER_NAME, styleHeader);

    CellStyle styleOdd = cloneStyle(defaultStyle);
    registerStyle(STYLE_STANDARD_NAME + ROW_ODD_NAME, styleOdd);

    CellStyle styleEven = cloneStyle(styleOdd);
    setStyleFillForegroundColor(styleEven, colorRegistry, EVEN_ROW_BACKGROUND_COLOR_INDEX);
    registerStyle(STYLE_STANDARD_NAME + ROW_EVEN_NAME, styleEven);

    // styles pour les nombres entiers
    short integerFormatIndex = dataFormat.getFormat(integerDataFormat);

    CellStyle styleOddInteger = cloneStyle(styleOdd);
    styleOddInteger.setAlignment(CellStyle.ALIGN_RIGHT);
    styleOddInteger.setDataFormat(integerFormatIndex);
    registerStyle(STYLE_INTEGER_NAME + ROW_ODD_NAME, styleOddInteger);

    CellStyle styleEvenInteger = cloneStyle(styleEven);
    styleEvenInteger.setAlignment(CellStyle.ALIGN_RIGHT);
    styleEvenInteger.setDataFormat(integerFormatIndex);
    registerStyle(STYLE_INTEGER_NAME + ROW_EVEN_NAME, styleEvenInteger);

    // styles pour les nombres dcimaux
    short decimalFormatIndex = dataFormat.getFormat(decimalDataFormat);

    CellStyle styleOddDecimal = cloneStyle(styleOdd);
    styleOddDecimal.setAlignment(CellStyle.ALIGN_RIGHT);
    styleOddDecimal.setDataFormat(decimalFormatIndex);
    registerStyle(STYLE_DECIMAL_NAME + ROW_ODD_NAME, styleOddDecimal);

    CellStyle styleEvenDecimal = cloneStyle(styleEven);
    styleEvenDecimal.setAlignment(CellStyle.ALIGN_RIGHT);
    styleEvenDecimal.setDataFormat(decimalFormatIndex);
    registerStyle(STYLE_DECIMAL_NAME + ROW_EVEN_NAME, styleEvenDecimal);

    // styles pour les dates
    short dateFormatIndex = dataFormat.getFormat(dateDataFormat);

    CellStyle styleOddDate = cloneStyle(styleOdd);
    styleOddDate.setDataFormat(dateFormatIndex);
    registerStyle(STYLE_DATE_NAME + ROW_ODD_NAME, styleOddDate);

    CellStyle styleEvenDate = cloneStyle(styleEven);
    styleEvenDate.setDataFormat(dateFormatIndex);
    registerStyle(STYLE_DATE_NAME + ROW_EVEN_NAME, styleEvenDate);

    // styles pour les dates avec heure
    short dateTimeFormatIndex = dataFormat.getFormat(dateTimeDataFormat);

    CellStyle styleOddDateTime = cloneStyle(styleOdd);
    styleOddDateTime.setDataFormat(dateTimeFormatIndex);
    registerStyle(STYLE_DATE_TIME_NAME + ROW_ODD_NAME, styleOddDateTime);

    CellStyle styleEvenDateTime = cloneStyle(styleEven);
    styleEvenDateTime.setDataFormat(dateTimeFormatIndex);
    registerStyle(STYLE_DATE_TIME_NAME + ROW_EVEN_NAME, styleEvenDateTime);

    // styles pour les pourcentages
    short percentFormatIndex = dataFormat.getFormat(percentDataFormat);

    CellStyle styleOddPercent = cloneStyle(styleOdd);
    styleOddPercent.setDataFormat(percentFormatIndex);
    registerStyle(STYLE_PERCENT_NAME + ROW_ODD_NAME, styleOddPercent);

    CellStyle styleEvenPercent = cloneStyle(styleEven);
    styleEvenPercent.setDataFormat(percentFormatIndex);
    registerStyle(STYLE_PERCENT_NAME + ROW_EVEN_NAME, styleEvenPercent);

    short percentRelativeFormatIndex = dataFormat.getFormat(percentRelativeDataFormat);

    CellStyle styleOddPercentRelative = cloneStyle(styleOdd);
    styleOddPercentRelative.setDataFormat(percentRelativeFormatIndex);
    registerStyle(STYLE_PERCENT_RELATIVE_NAME + ROW_ODD_NAME, styleOddPercentRelative);

    CellStyle styleEvenPercentRelative = cloneStyle(styleEven);
    styleEvenPercentRelative.setDataFormat(percentRelativeFormatIndex);
    registerStyle(STYLE_PERCENT_RELATIVE_NAME + ROW_EVEN_NAME, styleEvenPercentRelative);

    // styles pour les liens
    CellStyle styleOddLink = cloneStyle(styleOdd);
    styleOddLink.setFont(getFont(FONT_LINK_NAME));
    registerStyle(STYLE_LINK_NAME + ROW_ODD_NAME, styleOddLink);

    CellStyle styleEvenLink = cloneStyle(styleEven);
    styleEvenLink.setFont(getFont(FONT_LINK_NAME));
    registerStyle(STYLE_LINK_NAME + ROW_EVEN_NAME, styleEvenLink);

    // styles pour les tailles de fichiers
    short fileSizeFormatIndex = dataFormat.getFormat(fileSizeDataFormat);

    CellStyle styleOddFileSize = cloneStyle(styleOdd);
    styleOddFileSize.setDataFormat(fileSizeFormatIndex);
    registerStyle(STYLE_FILE_SIZE_NAME + ROW_ODD_NAME, styleOddFileSize);

    CellStyle styleEvenFileSize = cloneStyle(styleEven);
    styleEvenFileSize.setDataFormat(fileSizeFormatIndex);
    registerStyle(STYLE_FILE_SIZE_NAME + ROW_EVEN_NAME, styleEvenFileSize);
}