Example usage for org.apache.poi.ss.util CellRangeAddress CellRangeAddress

List of usage examples for org.apache.poi.ss.util CellRangeAddress CellRangeAddress

Introduction

In this page you can find the example usage for org.apache.poi.ss.util CellRangeAddress CellRangeAddress.

Prototype

public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) 

Source Link

Document

Creates new cell range.

Usage

From source file:functions.excels.exports.HistoriqueDesEspecesExcel.java

License:Apache License

public HistoriqueDesEspecesExcel(Map<String, String> info, HistoriqueDesEspeces hde) throws IOException {
    super();//from  w w  w  .  jav a  2 s . c o m
    Sheet sheet = wb.createSheet("Historique des espces");
    Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece")));
    SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe")));
    Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe")));
    String maille = info.get("maille");
    String titre = "Historie des espces ";
    if (espece != null)
        titre += "de " + espece.espece_nom;
    else if (sous_groupe != null)
        titre += "de " + sous_groupe;
    else if (groupe != null)
        titre += "de " + groupe;
    if (!maille.equals(""))
        titre += " dans la maille " + maille;
    titre += " (" + hde.getSomme() + " tmoignages, " + hde.nbTemoignagesRejetes + " tmoignages rejets)";
    sheet.createRow(0).createCell(0).setCellValue(titre);
    sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based)
            0, //last row  (0-based)
            0, //first column (0-based)
            12 //last column  (0-based)
    ));
    Row row = sheet.createRow(1);
    row.createCell(0).setCellValue("Priode");
    row.createCell(1).setCellValue("Nbr. Obs.");
    int i = 0;
    while (i < hde.histogramme.length) {
        row = sheet.createRow(i + 2);
        row.createCell(0);
        row.createCell(1);
        sheet.getRow(i + 2).getCell(0).setCellValue(hde.legende.get(i));
        sheet.getRow(i + 2).getCell(1).setCellValue(hde.histogramme[i]);
        i++;
    }
    sheet.autoSizeColumn(0);
    sheet.autoSizeColumn(1);
}

From source file:functions.excels.exports.MaChronologieExcel.java

License:Apache License

public MaChronologieExcel(Map<String, String> info, MaChronologie maChronologie) {
    super();/*from  w w w  . j  av  a 2  s.  com*/
    Sheet sheet = wb.createSheet("Ma chronologie");
    String temoin = info.get("temoin");
    String titre = "Chronologie des tmoignages ";
    titre += " dposs par " + temoin;
    sheet.createRow(0).createCell(0).setCellValue(titre);
    sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based)
            0, //last row  (0-based)
            0, //first column (0-based)
            12 //last column  (0-based)
    ));
    Row rowHead = sheet.createRow(1);
    rowHead.createCell(0).setCellValue("Fiche ID");
    rowHead.createCell(1).setCellValue("UTM");
    rowHead.createCell(2).setCellValue("Lieu-dit");
    rowHead.createCell(3).setCellValue("Commune");
    rowHead.createCell(4).setCellValue("Dp.");
    rowHead.createCell(5).setCellValue("Date min");
    rowHead.createCell(6).setCellValue("Date");
    rowHead.createCell(7).setCellValue("Espce");
    rowHead.createCell(8).setCellValue("Nombre");
    rowHead.createCell(9).setCellValue("Stade/Sexe");
    rowHead.createCell(10).setCellValue("Tmoins");
    rowHead.createCell(11).setCellValue("Mmo");
    rowHead.createCell(12).setCellValue("Groupe");
    CellStyle cellStyleDate = wb.createCellStyle();
    CreationHelper creationHelper = wb.getCreationHelper();
    cellStyleDate.setDataFormat(creationHelper.createDataFormat().getFormat("dd/mm/yyyy"));
    int i = 2;
    for (Observation observation : maChronologie.chronologie) {
        for (InformationsComplementaires complement : observation.getInfos()) {
            Row row = sheet.createRow(i);
            Fiche fiche = observation.observation_fiche;
            row.createCell(0).setCellValue(fiche.fiche_id);
            row.createCell(1).setCellValue(fiche.fiche_utm.utm);
            row.createCell(2).setCellValue(fiche.fiche_lieudit);
            if (fiche.fiche_commune != null) {
                row.createCell(3).setCellValue(fiche.fiche_commune.ville_nom_aer);
                row.createCell(4).setCellValue(fiche.fiche_commune.ville_departement.departement_code);
            }
            if (fiche.fiche_date_min != null) {
                Cell cell = row.createCell(5);
                cell.setCellValue(fiche.fiche_date_min.getTime());
                cell.setCellStyle(cellStyleDate);
            }
            Cell cell = row.createCell(6);
            cell.setCellValue(fiche.fiche_date.getTime());
            cell.setCellStyle(cellStyleDate);
            row.createCell(7).setCellValue(observation.observation_espece.espece_nom);
            Integer nombre = complement.informations_complementaires_nombre_de_specimens;
            if (nombre == null)
                row.createCell(8).setCellValue("?");
            else
                row.createCell(8).setCellValue(nombre);
            row.createCell(9)
                    .setCellValue(complement.informations_complementaires_stade_sexe.stade_sexe_intitule);
            StringBuilder membres = new StringBuilder();
            List<FicheHasMembre> fhms = fiche.getFicheHasMembre();
            for (int j = 0; j < fhms.size() - 1; j++) {
                membres.append(fhms.get(j).membre);
                membres.append(", ");
            }
            if (!fhms.isEmpty())
                membres.append(fhms.get(fhms.size() - 1).membre);
            else
                membres.append("et al.");
            row.createCell(10).setCellValue(membres.toString());
            row.createCell(11).setCellValue(fiche.fiche_memo);
            row.createCell(12).setCellValue(
                    observation.observation_espece.espece_sous_groupe.sous_groupe_groupe.groupe_nom);
            i++;
        }
    }
    for (int j = 0; j < 11; j++)
        sheet.autoSizeColumn(j);
}

From source file:functions.excels.exports.MaillesParEspeceExcel.java

License:Apache License

public MaillesParEspeceExcel(Map<String, String> info, MaillesParEspece cb) throws IOException {
    ArrayList<Espece> especes = new ArrayList<Espece>(cb.mailles_par_espece.keySet());
    Collections.sort(especes, new Comparator<Espece>() {
        @Override/*from w w w  .j ava 2  s. c o  m*/
        public int compare(Espece arg0, Espece arg1) {
            return arg0.espece_nom.compareTo(arg1.espece_nom);
        }
    });
    Sheet sheet = wb.createSheet("Mailles par espce");
    Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece")));
    SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe")));
    Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe")));
    StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade")));
    //Titre
    String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1");
    String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2");
    String titre = "Mailles par espce pour ";
    if (espece != null)
        titre += espece.espece_nom;
    else if (sous_groupe != null)
        titre += " les espces " + sous_groupe;
    else if (groupe != null)
        titre += " les espces " + groupe;
    if (stade_sexe != null)
        titre += " au stade " + stade_sexe;
    titre += crLf + "du " + date1 + " au " + date2;

    int page = 0;
    int ligne = 7;
    for (Espece especeATraiter : especes) {
        //Coller le logo en haut  gauche
        this.collerLogo(page);
        HashMap<UTMS, Integer> observations = cb.mailles_par_espece.get(especeATraiter);
        Row row = sheet.createRow(ligne);
        sheet.createRow(ligne - 4).createCell(4).setCellValue(titre);
        sheet.addMergedRegion(new CellRangeAddress(ligne - 4, //first row (0-based)
                ligne - 3, //last row  (0-based)
                4, //first column (0-based)
                8 //last column  (0-based)
        ));
        row.createCell(0).setCellValue(especeATraiter.espece_nom);
        sheet.addMergedRegion(new CellRangeAddress(ligne, //first row (0-based)
                ligne, //last row  (0-based)
                0, //first column (0-based)
                1 //last column  (0-based)
        ));
        ligne++;
        row = sheet.createRow(ligne);
        row.createCell(0).setCellValue("Maille");
        row.createCell(1).setCellValue("Nbre Obs.");
        ligne++;
        boolean ecritAGauche = true;
        for (UTMS utm : UTMS.findAll()) {
            int nbrObs = observations.get(utm);
            if (nbrObs != 0) {
                if (ecritAGauche) {
                    row = sheet.createRow(ligne);
                    row.createCell(0).setCellValue(utm.utm);
                    row.createCell(1).setCellValue(nbrObs);
                    ligne++;
                } else {
                    row = sheet.getRow(ligne);
                    row.createCell(2).setCellValue(utm.utm);
                    row.createCell(3).setCellValue(nbrObs);
                    ligne++;
                }
                if (ligne % LIGNES == (LIGNES - 2)) {
                    if (ecritAGauche) {
                        ecritAGauche = !ecritAGauche;
                        ligne -= (LIGNES - 10);
                        row = sheet.getRow(ligne);
                        row.createCell(2).setCellValue("Maille");
                        row.createCell(3).setCellValue("Nbre Obs.");
                    } else {
                        ecritAGauche = !ecritAGauche;
                        //On crit le pied de page
                        row = sheet.createRow(ligne + 1);
                        row.createCell(8).setCellValue("Page " + (page + 1));
                        //On fait une nouvelle page
                        ligne += 10;
                        page++;
                        this.collerLogo(page);
                        sheet.createRow(ligne - 4).createCell(4).setCellValue(titre);
                        sheet.addMergedRegion(new CellRangeAddress(ligne - 4, //first row (0-based)
                                ligne - 3, //last row  (0-based)
                                4, //first column (0-based)
                                8 //last column  (0-based)
                        ));
                        row = sheet.createRow(ligne);
                        row.createCell(0).setCellValue(especeATraiter.espece_nom);
                        sheet.addMergedRegion(new CellRangeAddress(ligne, //first row (0-based)
                                ligne, //last row  (0-based)
                                0, //first column (0-based)
                                1 //last column  (0-based)
                        ));
                        ligne++;
                        row = sheet.createRow(ligne);
                        row.createCell(0).setCellValue("Maille");
                        row.createCell(1).setCellValue("Nbre Obs.");
                    }
                }
            }
        }
        //On passe forcment  la page suivante.
        while (ligne % LIGNES != 7)
            ligne++;
        //On crit le pied de page
        row = sheet.createRow(ligne - 8);
        row.createCell(8).setCellValue("Page " + (page + 1));
        //On ajoute l'image de la carte !
        Carte carte = new Carte(observations);
        this.pasteMap(carte, page);
        page++;
    }

}

From source file:functions.excels.exports.MaillesParPeriodeExcel.java

License:Apache License

public MaillesParPeriodeExcel(Map<String, String> info, MaillesParPeriode mpp) throws IOException {
    ArrayList<Espece> especes = new ArrayList<Espece>(mpp.nb_mailles_par_espece.keySet());
    Collections.sort(especes, new Comparator<Espece>() {
        @Override/*  w w  w. j ava2 s.  co m*/
        public int compare(Espece arg0, Espece arg1) {
            return arg0.espece_nom.compareTo(arg1.espece_nom);
        }
    });
    Sheet sheet = wb.createSheet("Mailles par espce");
    Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece")));
    SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe")));
    Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe")));
    StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade")));
    //Titre
    String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1");
    String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2");
    String titre = "Mailles par priode pour ";
    if (espece != null)
        titre += espece.espece_nom;
    else if (sous_groupe != null)
        titre += " les espces " + sous_groupe;
    else if (groupe != null)
        titre += " les espces " + groupe;
    if (stade_sexe != null)
        titre += " au stade " + stade_sexe;
    titre += crLf + "du " + date1 + " au " + date2;

    int page = 0;
    int ligne = 7;
    boolean ecritAGauche = true;
    //Coller le logo en haut  gauche
    this.collerLogo(page);
    Row row = sheet.createRow(ligne);
    sheet.createRow(ligne - 4).createCell(4).setCellValue(titre);
    sheet.addMergedRegion(new CellRangeAddress(ligne - 4, //first row (0-based)
            ligne - 3, //last row  (0-based)
            4, //first column (0-based)
            8 //last column  (0-based)
    ));
    ligne++;
    for (Espece especeATraiter : especes) {
        if (ecritAGauche) {
            row = sheet.createRow(ligne);
            row.createCell(0).setCellValue(especeATraiter.espece_nom);
            sheet.addMergedRegion(new CellRangeAddress(ligne, //first row (0-based)
                    ligne, //last row  (0-based)
                    0, //first column (0-based)
                    1 //last column  (0-based)
            ));
            row.createCell(2).setCellValue(mpp.nb_mailles_par_espece.get(especeATraiter) + " maille(s)");
            ligne++;
        } else {
            row = sheet.getRow(ligne);
            row.createCell(4).setCellValue(especeATraiter.espece_nom);
            sheet.addMergedRegion(new CellRangeAddress(ligne, //first row (0-based)
                    ligne, //last row  (0-based)
                    4, //first column (0-based)
                    5 //last column  (0-based)
            ));
            row.createCell(6).setCellValue(mpp.nb_mailles_par_espece.get(especeATraiter) + "  maille(s)");
            ligne++;
        }
        if (ligne % LIGNES == (LIGNES - 2)) {
            if (ecritAGauche) {
                ecritAGauche = !ecritAGauche;
                ligne -= (LIGNES - 10);
            } else {
                ecritAGauche = !ecritAGauche;
                //On crit le pied de page
                row = sheet.createRow(ligne + 1);
                row.createCell(8).setCellValue("Page " + (page + 1));
                //On fait une nouvelle page
                ligne += 10;
                page++;
                this.collerLogo(page);
                sheet.createRow(ligne - 4).createCell(4).setCellValue(titre);
                sheet.addMergedRegion(new CellRangeAddress(ligne - 4, //first row (0-based)
                        ligne - 3, //last row  (0-based)
                        4, //first column (0-based)
                        8 //last column  (0-based)
                ));
            }
        }
    }
}

From source file:GapAnalysis.gapAnalysis.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    //PrintWriter out = response.getWriter();
    try {//from   w w w .ja  va2  s. co  m

        ArrayList keyal = new ArrayList();
        ArrayList countyal = new ArrayList();
        ArrayList scountyal = new ArrayList();
        ArrayList facilal = new ArrayList();
        ArrayList yearmonthal = new ArrayList();
        ArrayList monthal = new ArrayList();
        ArrayList sectional = new ArrayList();

        XSSFWorkbook wb;

        String periodname = "";
        String allpath = getServletContext().getRealPath("/Gapanalysis.xlsm");

        System.out.println(allpath);

        XSSFWorkbook workbook;
        String mydrive = allpath.substring(0, 1);
        // wb = new XSSFWorkbook( OPCPackage.open(allpath) );

        Date da = new Date();
        String dat2 = da.toString().replace(" ", "_");
        dat2 = dat2.toString().replace(":", "_");

        String np = mydrive + ":\\APHIAPLUS\\InternalSystem\\Gapanalysis" + dat2 + ".xlsm";
        System.out.println("path:: " + np);
        // String desteepath1 = getServletContext().getRealPath("/Females 15to24.xlsm");
        String sr = getServletContext().getRealPath("/Gapanalysis.xlsm");
        //check if file exists

        //first time , it should create those folders that host the macro file
        File f = new File(np);
        if (!f.exists() && !f.isDirectory()) { /* do something */
            copytemplates ct = new copytemplates();
            ct.transfermacros(sr, np);
            //rem np is the destination file name  

            System.out.println("Copying macro template first time ..");

        } else
        //copy the file alone  
        {
            copytemplates ct = new copytemplates();
            //copy the agebased file only
            ct.copymacros(sr, np);

        }
        String filepth = np;

        File allpathfile = new File(filepth);

        OPCPackage pkg = OPCPackage.open(allpathfile);

        pathtodelete = filepth;
        wb = new XSSFWorkbook(pkg);

        dbConn conn = new dbConn();
        HashMap<String, String> rawdatahashmap = new HashMap<String, String>();

        int year = 0;
        String yearval = "";
        int prevyear = 0;

        String quarter = "";

        String yearmonth = "";
        String startyearmonth = "";
        String endyearmonth = "";

        yearval = request.getParameter("year").toString();

        System.out.println("YEARVAL" + yearval);
        year = Integer.parseInt(yearval);
        prevyear = year - 1;
        quarter = request.getParameter("quarter");
        periodname += yearval + "_";
        if (quarter.equals("1")) {
            startyearmonth = prevyear + "10";
            endyearmonth = prevyear + "12";
            periodname = prevyear + "_(Oct_Dec)";
        } else if (quarter.equals("2")) {
            startyearmonth = year + "01";
            endyearmonth = year + "03";
            periodname = yearval + "_(Jan-Mar)";
        } else if (quarter.equals("3")) {
            startyearmonth = year + "04";
            endyearmonth = year + "06";
            periodname = yearval + "_(Apr_Jun)";
        } else if (quarter.equals("4")) {
            startyearmonth = year + "07";
            endyearmonth = year + "09";
            periodname = yearval + "_(Jul_Sep)";
        }

        int colsmerging = 6;
        String Sections[] = { "ART", "HTC", "PMTCT" };
        String headers[] = { "County", "Sub-County", "Facility", "Year", "Month" };
        String headergsn[] = { "County", "Sub-County", "Facility" };
        //if one wants gaps for one service area
        if (request.getParameterValues("gapsection") != null) {

            Sections = request.getParameterValues("gapsection");

        }
        //This is the loop that well use to create worksheets for each 

        String period = " 1=1 and Annee=" + yearval + " and yearmonth between " + startyearmonth + " and "
                + endyearmonth + " ";
        String gsnperiod = " 1=1  ";

        //______________________________________________________________________________________
        //______________________________________________________________________________________

        Font font = wb.createFont();
        font.setFontHeightInPoints((short) 18);
        font.setFontName("Cambria");
        font.setColor((short) 0000);
        CellStyle style = wb.createCellStyle();
        style.setFont(font);
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        Font font2 = wb.createFont();
        font2.setFontName("Cambria");
        font2.setColor((short) 0000);
        CellStyle style2 = wb.createCellStyle();
        style2.setFont(font2);
        style2.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        style2.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style2.setAlignment(HSSFCellStyle.ALIGN_LEFT);
        style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

        CellStyle stborder = wb.createCellStyle();
        stborder.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stborder.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stborder.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stborder.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stborder.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        CellStyle stylex = wb.createCellStyle();
        stylex.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
        stylex.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        stylex.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stylex.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stylex.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        CellStyle stylex1 = wb.createCellStyle();
        stylex1.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
        stylex1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        stylex1.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stylex1.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stylex1.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stylex1.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stylex1.setAlignment(HSSFCellStyle.ALIGN_LEFT);

        CellStyle stylex2 = wb.createCellStyle();
        stylex2.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
        stylex2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        stylex2.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stylex2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stylex2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stylex2.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stylex2.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        CellStyle stylex3 = wb.createCellStyle();
        stylex3.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
        stylex3.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        stylex3.setBorderTop(HSSFCellStyle.BORDER_THIN);
        stylex3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        stylex3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        stylex3.setBorderRight(HSSFCellStyle.BORDER_THIN);
        stylex3.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        Font fontx = wb.createFont();
        fontx.setColor(HSSFColor.BLACK.index);
        fontx.setFontName("Cambria");
        stylex.setFont(fontx);
        stylex.setWrapText(true);
        stylex1.setFont(fontx);
        stylex1.setWrapText(true);

        stylex2.setFont(fontx);
        stylex2.setWrapText(true);

        //==================================================

        for (int a = 0; a < Sections.length; a++) {
            int column = 0;
            int Row = 3;

            Sheet shet = wb.createSheet(Sections[a]);

            Row rwx = shet.createRow(2);
            Row rw1 = null;
            Row rw2 = null;
            Row rw = shet.createRow(0);
            rw.setHeightInPoints(25);
            Cell cl0 = rw.createCell(0);
            cl0.setCellValue(Sections[a] + " GAP ANALYSIS");
            cl0.setCellStyle(stylex1);

            //this will depend on the length of the number of elements being checked

            for (int b = 1; b <= colsmerging; b++) {
                Cell clx = rw.createCell(b);
                clx.setCellValue("");
                clx.setCellStyle(stylex);
            }

            //now go to the database and do a query for each section
            int determinant = 2;
            String getqueries = " Select * from gap_analysis where active=1 and section='" + Sections[a] + "' ";

            conn.rs = conn.st.executeQuery(getqueries);
            while (conn.rs.next()) {

                //if an excel sheet exists, then get the row number 1

                if (shet.getRow(1) != null) {
                    rw1 = shet.getRow(1);
                } else {
                    rw1 = shet.createRow(1);
                    rw1.setHeightInPoints(25);
                }

                //print blanks before printing real header
                //for gsns, we only print three columns and no period
                if (conn.rs.getString("id").equals("1")) {

                    for (int p = 0; p < headergsn.length; p++) {
                        Cell cl2 = rw1.createCell(column + p);
                        cl2.setCellValue("");
                        cl2.setCellStyle(stylex);
                        shet.setColumnWidth(column + p, 5000);
                    }
                } else {

                    for (int p = 0; p < headers.length; p++) {
                        Cell cl2 = rw1.createCell(column + p);
                        cl2.setCellValue("");
                        cl2.setCellStyle(stylex);
                        shet.setColumnWidth(column + p, 5000);
                    }

                }
                determinant++;
                if (determinant % 2 == 0) {

                    Cell cl1 = rw1.createCell(column);
                    cl1.setCellValue(conn.rs.getString("rule"));
                    cl1.setCellStyle(stylex3);

                } else {

                    Cell cl1 = rw1.createCell(column);
                    cl1.setCellValue(conn.rs.getString("rule"));
                    cl1.setCellStyle(stylex2);

                }

                //Create the column header  

                if (shet.getRow(2) != null) {
                    rw2 = shet.getRow(2);
                } else {
                    rw2 = shet.createRow(2);
                    rw2.setHeightInPoints(25);
                }
                if (conn.rs.getString("id").equals("1")) {

                    for (int p = 0; p < headergsn.length; p++) {
                        Cell cl2 = rw2.createCell(column + p);
                        cl2.setCellValue(headergsn[p]);
                        cl2.setCellStyle(stylex);
                    }
                } else {

                    for (int p = 0; p < headers.length; p++) {
                        Cell cl2 = rw2.createCell(column + p);
                        cl2.setCellValue(headers[p]);
                        cl2.setCellStyle(stylex);
                    }

                }

                String currentqry = conn.rs.getString("query");
                //process each query as you 
                //pass the necessary period parameters from the interface
                //rem each query ends with a 'and'
                if (conn.rs.getString("id").equals("1")) {
                    currentqry += gsnperiod;
                } else {

                    currentqry += period + " and subpartnera." + Sections[a] + "= 1 ";

                }

                System.out.println("" + currentqry);
                Row = 3;
                conn.rs1 = conn.st1.executeQuery(currentqry);

                while (conn.rs1.next()) {

                    if (shet.getRow(Row) != null) {
                        rwx = shet.getRow(Row);
                    } else {
                        rwx = shet.createRow(Row);
                        rwx.setHeightInPoints(25);
                    }
                    Cell cly = rwx.createCell(column);
                    cly.setCellValue(conn.rs1.getString("County"));
                    cly.setCellStyle(style2);

                    Cell cly2 = rwx.createCell(column + 1);
                    cly2.setCellValue(conn.rs1.getString("DistrictNom"));
                    cly2.setCellStyle(style2);//gsn sites do not have a yearmonth

                    Cell cly1 = rwx.createCell(column + 2);
                    cly1.setCellValue(conn.rs1.getString("SubPartnerNom"));
                    cly1.setCellStyle(style2);

                    //if the current list is not inclusive of GSNs

                    if (!conn.rs.getString(1).equals("1")) {

                        Cell cly3 = rwx.createCell(column + 3);
                        cly3.setCellValue(new Integer(conn.rs1.getString("yearmonth").substring(0, 4)));
                        cly3.setCellStyle(style2);

                        //the month section

                        Cell cly3x = rwx.createCell(column + 4);
                        cly3x.setCellValue(new Integer(conn.rs1.getString("yearmonth").substring(4)));
                        cly3x.setCellStyle(style2);

                        //my key is a 
                        String mykey = Sections[a] + conn.rs1.getString("SubPartnerNom") + "_"
                                + conn.rs1.getString("yearmonth") + "_";
                        //add all the facilities at this point
                        //ignore the sites in ART since they are static
                        if (!keyal.contains(mykey)) {
                            keyal.add(mykey);
                            countyal.add(conn.rs1.getString("County"));
                            scountyal.add(conn.rs1.getString("DistrictNom"));
                            facilal.add(conn.rs1.getString("SubPartnerNom"));
                            sectional.add(Sections[a]);
                            yearmonthal.add(conn.rs1.getString("yearmonth"));
                            monthal.add(conn.rs1.getString("yearmonth").substring(4));

                        }

                    }

                    Row++;

                }

                if (conn.rs.getString(1).equals("1")) {
                    column += 3;
                } else {
                    column += 5;
                }
                if (conn.rs.getString("id").equals("1")) {
                    shet.addMergedRegion(new CellRangeAddress(1, 1, 0, column - 1));
                } else {
                    shet.addMergedRegion(new CellRangeAddress(1, 1, column - 5, column - 1));
                }

            } //end of all queries per section

            shet.addMergedRegion(new CellRangeAddress(0, 0, 0, column - 1));

        } // end of sheets loop   

        //create a new sheet

        //county   subcounty   facility   yearmonth   section

        Sheet shet = wb.getSheet("Sheet1");

        Row rw = shet.createRow(0);
        Cell cl0 = rw.createCell(0);
        cl0.setCellValue("county");
        cl0.setCellStyle(stylex1);

        Cell cl1 = rw.createCell(1);
        cl1.setCellValue("subcounty");
        cl1.setCellStyle(stylex1);

        Cell cl2 = rw.createCell(2);
        cl2.setCellValue("facility");
        cl2.setCellStyle(stylex1);

        Cell cl3 = rw.createCell(3);
        cl3.setCellValue("year");
        cl3.setCellStyle(stylex1);

        Cell cl4 = rw.createCell(4);
        cl4.setCellValue("month");
        cl4.setCellStyle(stylex1);

        Cell cl5 = rw.createCell(5);
        cl5.setCellValue("section");
        cl5.setCellStyle(stylex1);

        for (int q = 0; q < keyal.size(); q++) {

            Row rwx = shet.createRow(q + 1);

            Cell cl01 = rwx.createCell(0);
            cl01.setCellValue(countyal.get(q).toString());
            cl01.setCellStyle(style2);

            Cell cl11 = rwx.createCell(1);
            cl11.setCellValue(scountyal.get(q).toString());
            cl11.setCellStyle(style2);

            Cell cl21 = rwx.createCell(2);
            cl21.setCellValue(facilal.get(q).toString());
            cl21.setCellStyle(style2);

            Cell cl31 = rwx.createCell(3);
            cl31.setCellValue(new Integer(yearmonthal.get(q).toString().substring(0, 4)));
            cl31.setCellStyle(style2);

            Cell cl41 = rwx.createCell(4);
            cl41.setCellValue(new Integer(monthal.get(q).toString()));
            cl41.setCellStyle(style2);

            Cell cl51 = rwx.createCell(5);
            cl51.setCellValue(sectional.get(q).toString());
            cl51.setCellStyle(style2);

        }

        IdGenerator IG = new IdGenerator();
        String createdOn = IG.CreatedOn();

        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=GapAnalysis_For" + periodname + "_Generatted_On_" + createdOn + ".xlsm");
        OutputStream outStream = response.getOutputStream();
        outStream.write(outArray);
        outStream.flush();
        outStream.close();
        pkg.close();

        if (conn.rs != null) {
            conn.rs.close();
        }
        if (conn.rs1 != null) {
            conn.rs1.close();
        }
        if (conn.st1 != null) {
            conn.st1.close();
        }
        if (conn.st != null) {
            conn.st.close();
        }

        File file = new File(pathtodelete);
        System.out.println("path: 2" + pathtodelete);

        if (file.delete()) {
            System.out.println(file.getName() + " is deleted!");
        } else {
            System.out.println("Delete operation  failed.");
        }

    } catch (SQLException ex) {
        Logger.getLogger(gapAnalysis.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InvalidFormatException ex) {
        Logger.getLogger(gapAnalysis.class.getName()).log(Level.SEVERE, null, ex);
    } finally {

    }
}

From source file:generate.XGenerator.java

public static void doMerge(Sheet worksheet, int rowIndex, int columnIndex, int rowSpan, int columnSpan,
        boolean border) {
    range = new CellRangeAddress(rowIndex, rowIndex + rowSpan - 1, columnIndex, columnIndex + columnSpan - 1);
    Cell cell = worksheet.getRow(rowIndex).getCell(columnIndex);
    if (CopyRow.getNbOfMergedRegions(worksheet, rowIndex + rowSpan - 1) <= 0) {
        worksheet.addMergedRegion(range);
    }/*from   ww  w . j  a  v  a 2s  .c  o  m*/
    if (border == true) {
        RegionUtil.setBorderTop(CellStyle.BORDER_THIN, range, worksheet);
        RegionUtil.setBorderLeft(CellStyle.BORDER_THIN, range, worksheet);
        RegionUtil.setBorderRight(CellStyle.BORDER_THIN, range, worksheet);
        RegionUtil.setBorderBottom(CellStyle.BORDER_THIN, range, worksheet);
    }
}

From source file:htmlparser.xls.XLSFile.java

public void createScoreTable(XSSFColor oddrow_color, XSSFColor title_bg_color, XSSFColor title_font_color,
        int highlight) {

    String sheetname = WorkbookUtil.createSafeSheetName(this.parser.getCompetitionName());
    this.scoresheet = this.excelfile.createSheet(sheetname);

    CreationHelper createHelper = this.excelfile.getCreationHelper();

    CellStyle cellStyle = this.excelfile.createCellStyle();
    cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
    cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
    cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderRight(CellStyle.BORDER_THIN);
    cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderTop(CellStyle.BORDER_THIN);
    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());

    int rows = 0;

    Row headline = this.scoresheet.createRow(rows);
    Cell cheadline = headline.createCell(0);
    cheadline.setCellValue(createHelper.createRichTextString(this.parser.getCompetitionName()));
    XSSFCellStyle customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    XSSFFont fh = (XSSFFont) this.excelfile.createFont();
    fh.setFontHeightInPoints((short) 16);
    fh.setBoldweight(Font.BOLDWEIGHT_BOLD);
    fh.setColor(title_bg_color);/*from   w ww  .j  a va 2s.  c  om*/
    customstyle.setFont(fh);
    cheadline.setCellStyle(customstyle);
    int length = this.parser.getTeams().get(0).getData().size();
    CellRangeAddress headrow = new CellRangeAddress(rows, rows, 0, length);
    this.scoresheet.addMergedRegion(headrow);
    RegionUtil.setBorderBottom(CellStyle.BORDER_THIN, headrow, this.scoresheet, this.excelfile);
    RegionUtil.setBottomBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.scoresheet, this.excelfile);
    RegionUtil.setBorderLeft(CellStyle.BORDER_THIN, headrow, this.scoresheet, this.excelfile);
    RegionUtil.setLeftBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.scoresheet, this.excelfile);
    RegionUtil.setBorderRight(CellStyle.BORDER_THIN, headrow, this.scoresheet, this.excelfile);
    RegionUtil.setRightBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.scoresheet, this.excelfile);
    RegionUtil.setBorderTop(CellStyle.BORDER_THIN, headrow, this.scoresheet, this.excelfile);
    RegionUtil.setTopBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.scoresheet, this.excelfile);
    rows++;

    Row colNms = this.scoresheet.createRow(rows++);
    customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    customstyle.setFillForegroundColor(title_bg_color);
    customstyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
    XSSFFont f1 = (XSSFFont) this.excelfile.createFont();
    f1.setColor(title_font_color);
    f1.setBoldweight(Font.BOLDWEIGHT_BOLD);
    customstyle.setFont(f1);
    int cCN = 0;
    for (String s : this.shColNms) {

        Cell c = colNms.createCell(cCN);
        c.setCellValue(createHelper.createRichTextString(s));
        c.setCellStyle(customstyle);
        cCN++;

    }

    double ordNum = 1;

    customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    customstyle.setFillForegroundColor(oddrow_color);
    customstyle.setFillPattern(CellStyle.SOLID_FOREGROUND);

    for (Team t : this.parser.getTeams()) {

        Row r = this.scoresheet.createRow(rows++);

        int cell = 0;

        Cell order = r.createCell(cell++);
        order.setCellValue(ordNum++);
        if (rows % 2 == 0)
            order.setCellStyle(customstyle);
        else
            order.setCellStyle(cellStyle);

        for (String s : t.getData()) {

            Cell c = r.createCell(cell);

            c.setCellValue(createHelper.createRichTextString(s));

            if (rows % 2 == 0)
                c.setCellStyle(customstyle);
            else
                c.setCellStyle(cellStyle);

            cell++;

        }

    }

    for (int i = 0; i <= length; i++) {

        this.scoresheet.autoSizeColumn(i);

    }

    if (highlight >= 0) {

        highlight += 2;

        Row r = this.scoresheet.getRow(highlight);
        customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
        customstyle.cloneStyleFrom(r.getCell(0).getCellStyle());
        Font bold = this.excelfile.createFont();
        bold.setBoldweight(Font.BOLDWEIGHT_BOLD);
        customstyle.setFont(bold);

        for (Cell c : r) {
            c.setCellStyle(customstyle);
        }
    }

}

From source file:htmlparser.xls.XLSFile.java

public void createMatchTable(XSSFColor oddrow_color, XSSFColor title_bg_color, XSSFColor title_font_color) {

    String sheetname = WorkbookUtil.createSafeSheetName(this.parser.getTeamName());
    this.matchsheet = this.excelfile.createSheet(sheetname);

    CreationHelper createHelper = this.excelfile.getCreationHelper();

    CellStyle cellStyle = this.excelfile.createCellStyle();
    cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
    cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
    cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderRight(CellStyle.BORDER_THIN);
    cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
    cellStyle.setBorderTop(CellStyle.BORDER_THIN);
    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());

    int rows = 0;

    Row headline = this.matchsheet.createRow(rows);
    Cell cheadline = headline.createCell(0);
    cheadline.setCellValue(createHelper.createRichTextString(this.parser.getTeamName()));
    XSSFCellStyle customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    XSSFFont fh = (XSSFFont) this.excelfile.createFont();
    fh.setFontHeightInPoints((short) 16);
    fh.setBoldweight(Font.BOLDWEIGHT_BOLD);
    fh.setColor(title_bg_color);//www  . ja v a 2 s.c  om
    customstyle.setFont(fh);
    cheadline.setCellStyle(customstyle);
    int length = this.parser.getMatches().get(0).getData().size();
    CellRangeAddress headrow = new CellRangeAddress(rows, rows, 0, length - 1);
    this.matchsheet.addMergedRegion(headrow);
    RegionUtil.setBorderBottom(CellStyle.BORDER_THIN, headrow, this.matchsheet, this.excelfile);
    RegionUtil.setBottomBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.matchsheet, this.excelfile);
    RegionUtil.setBorderLeft(CellStyle.BORDER_THIN, headrow, this.matchsheet, this.excelfile);
    RegionUtil.setLeftBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.matchsheet, this.excelfile);
    RegionUtil.setBorderRight(CellStyle.BORDER_THIN, headrow, this.matchsheet, this.excelfile);
    RegionUtil.setRightBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.matchsheet, this.excelfile);
    RegionUtil.setBorderTop(CellStyle.BORDER_THIN, headrow, this.matchsheet, this.excelfile);
    RegionUtil.setTopBorderColor(IndexedColors.BLACK.getIndex(), headrow, this.matchsheet, this.excelfile);
    rows++;

    Row colNms = this.matchsheet.createRow(rows++);
    customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    customstyle.setFillForegroundColor(title_bg_color);
    customstyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
    XSSFFont f1 = (XSSFFont) this.excelfile.createFont();
    f1.setColor(title_font_color);
    f1.setBoldweight(Font.BOLDWEIGHT_BOLD);
    customstyle.setFont(f1);
    int cCN = 0;
    for (String s : this.mhColNms) {

        Cell c = colNms.createCell(cCN);
        c.setCellValue(createHelper.createRichTextString(s));
        c.setCellStyle(customstyle);
        cCN++;

    }

    customstyle = (XSSFCellStyle) this.excelfile.createCellStyle();
    customstyle.cloneStyleFrom(cellStyle);
    customstyle.setFillForegroundColor(oddrow_color);
    customstyle.setFillPattern(CellStyle.SOLID_FOREGROUND);

    for (Match t : this.parser.getMatches()) {

        Row r = this.matchsheet.createRow(rows++);

        int cell = 0;

        for (String s : t.getData()) {

            Cell c = r.createCell(cell);

            c.setCellValue(createHelper.createRichTextString(s));

            if (rows % 2 == 0)
                c.setCellStyle(customstyle);
            else
                c.setCellStyle(cellStyle);

            cell++;

        }

    }

    for (int i = 0; i < length; i++) {

        this.matchsheet.autoSizeColumn(i);

    }

}

From source file:Import.Utils.XSSFConvert.java

/**
 * @param srcSheet the sheet to copy./*from  w w w .j  a  va  2s.c om*/
 * @param destSheet the sheet to create.
 * @param srcRow the row to copy.
 * @param destRow the row to create.
 * @param styleMap -
 */
public static void copyRow(HSSFSheet srcSheet, XSSFSheet destSheet, HSSFRow srcRow, XSSFRow destRow,
        Map<Integer, HSSFCellStyle> styleMap) {
    // manage a list of merged zone in order to not insert two times a
    // merged zone
    Set<CellRangeAddressWrapper> mergedRegions = new TreeSet<CellRangeAddressWrapper>();
    destRow.setHeight(srcRow.getHeight());
    // pour chaque row
    for (int j = srcRow.getFirstCellNum(); j <= srcRow.getLastCellNum(); j++) {
        HSSFCell oldCell = srcRow.getCell(j); // ancienne cell
        XSSFCell newCell = destRow.getCell(j); // new cell
        if (oldCell != null) {
            if (newCell == null) {
                newCell = destRow.createCell(j);
            }
            // copy chaque cell
            copyCell(oldCell, newCell, styleMap);
            // copy les informations de fusion entre les cellules
            // System.out.println("row num: " + srcRow.getRowNum() +
            // " , col: " + (short)oldCell.getColumnIndex());
            CellRangeAddress mergedRegion = getMergedRegion(srcSheet, srcRow.getRowNum(),
                    (short) oldCell.getColumnIndex());

            if (mergedRegion != null) {
                // System.out.println("Selected merged region: " +
                // mergedRegion.toString());
                CellRangeAddress newMergedRegion = new CellRangeAddress(mergedRegion.getFirstRow(),
                        mergedRegion.getLastRow(), mergedRegion.getFirstColumn(), mergedRegion.getLastColumn());
                // System.out.println("New merged region: " +
                // newMergedRegion.toString());
                CellRangeAddressWrapper wrapper = new CellRangeAddressWrapper(newMergedRegion);
                if (isNewMergedRegion(wrapper, mergedRegions)) {
                    mergedRegions.add(wrapper);
                    destSheet.addMergedRegion(wrapper.range);
                }
            }
        }
    }

}

From source file:info.informationsea.tableio.excel.ExcelSheetWriter.java

License:Open Source License

@Override
public void close() throws Exception {
    if (autoFilter)
        sheet.setAutoFilter(new CellRangeAddress(0, currentRow - 1, 0, maxColumn - 1));
    if (enableHeaderStyle)
        sheet.createFreezePane(0, 1, 0, 1);
    if (autoResizeColumn) {
        for (int i = 0; i < maxColumn; i++) {
            sheet.autoSizeColumn(i);/* w w  w  . ja  va2 s .c  om*/
        }
    }
}