Example usage for org.apache.poi.hssf.usermodel HSSFFont BOLDWEIGHT_BOLD

List of usage examples for org.apache.poi.hssf.usermodel HSSFFont BOLDWEIGHT_BOLD

Introduction

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

Prototype

short BOLDWEIGHT_BOLD

To view the source code for org.apache.poi.hssf.usermodel HSSFFont BOLDWEIGHT_BOLD.

Click Source Link

Document

Bold boldness (bold)

Usage

From source file:gov.nih.nci.evs.reportwriter.formatter.AsciiToExcelFormatter.java

License:BSD License

public Boolean convert(String textfile, String delimiter, String outfile) throws Exception {

    Vector<String> headings = getColumnHeadings(textfile, delimiter);
    Vector<Integer> maxChars = getColumnMaxChars(textfile, delimiter);

    // Note: Special Case for CDISC STDM Terminology report.
    int extensible_col = -1;
    if (_specialCases_CDISC)
        extensible_col = findColumnIndicator(headings, "Extensible");

    int heading_height_multiplier = 1;
    for (int i = 0; i < maxChars.size(); i++) {
        String heading = (String) headings.elementAt(i);
        int maxCellLen = maxChars.elementAt(i);
        int maxTokenLen = getMaxTokenLength(heading);
        if (maxTokenLen > maxCellLen) {
            maxCellLen = maxTokenLen;/*from   w w  w .j a  v a  2s.c o  m*/
            maxChars.setElementAt(new Integer(maxCellLen), i);
        }
        if (maxCellLen < MAX_CODE_WIDTH) {
            Vector<String> tokens = parseData(heading, " ");
            if (tokens.size() > heading_height_multiplier)
                heading_height_multiplier = tokens.size();
        }
    }

    Boolean[] a = findWrappedColumns(textfile, delimiter, MAX_WIDTH);
    // Note: The max column number allowed in an Excel spreadsheet is 256
    int[] b = new int[255];
    for (int i = 0; i < 255; i++) {
        b[i] = 0;
    }

    File file = new File(textfile);
    String absolutePath = file.getAbsolutePath();
    _logger.debug("Absolute Path: " + absolutePath);
    String filename = file.getName();
    _logger.debug("filename: " + filename);

    int m = filename.indexOf(".");
    String workSheetLabel = filename.substring(0, m);
    int n = workSheetLabel.indexOf("__");
    workSheetLabel = workSheetLabel.substring(0, n);
    _logger.debug("workSheetLabel: " + workSheetLabel);

    if (workSheetLabel.compareTo("") == 0)
        return Boolean.FALSE;

    String pathName = file.getPath();
    _logger.debug("Path: " + pathName);

    BufferedReader br = getBufferReader(textfile);
    FileOutputStream fout = new FileOutputStream(outfile);
    HSSFWorkbook wb = new HSSFWorkbook();

    HSSFSheet ws = wb.createSheet(workSheetLabel);
    HSSFCellStyle toprow = wb.createCellStyle();
    HSSFCellStyle highlightedrow = wb.createCellStyle();

    HSSFCellStyle cs = wb.createCellStyle();

    // Note: GF20673 shade top row
    HSSFFont font = wb.createFont();
    font.setColor(HSSFColor.BLACK.index);
    font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    toprow.setFont(font);

    if (extensible_col == -1) {
        toprow.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
    } else {
        //toprow.setFillForegroundColor(HSSFColor.YELLOW.index);
        toprow.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
    }

    toprow.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    toprow.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
    toprow.setWrapText(true);

    highlightedrow.setFont(font);
    //highlightedrow.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
    //highlightedrow.setFillForegroundColor(HSSFColor.LIGHT_BLUE.index);
    highlightedrow.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index);

    highlightedrow.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    highlightedrow.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
    // highlightedrow.setWrapText(true);

    cs.setWrapText(true);
    // cs.setAlignment(HSSFCellStyle.ALIGN_JUSTIFY);
    cs.setAlignment(HSSFCellStyle.VERTICAL_TOP);

    HSSFRow wr = null;
    int rownum = 0;
    // int baseline_height = 15;
    int baseline_height = 12;
    while (true) {
        String line = br.readLine();
        if (line == null)
            break;
        // line = line.trim(); Note: 090512 first value could be empty
        if (line.length() <= 0)
            continue;

        Vector<String> v = parseData(line, delimiter);
        wr = ws.createRow(rownum);
        // wr.setHeightInPoints(60);
        if (rownum == 0) {
            wr.setHeightInPoints(baseline_height * heading_height_multiplier);
        } else {
            wr.setHeightInPoints(baseline_height);
            if (ADJUST_HEIGHT) {
                int num_lines = getHeightInPoints(v, ADJUST_HEIGHT, MAX_CELL_WIDTH);
                wr.setHeightInPoints(baseline_height * num_lines);
            }
        }

        // Note: Special Case for CDISC STDM Terminology report.
        boolean highlight_row = false;
        if (_specialCases_CDISC)
            highlight_row = extensible_col != -1 && v.elementAt(extensible_col).trim().length() > 0;

        for (int i = 0; i < v.size(); i++) {
            HSSFCell wc = wr.createCell(i);
            if (rownum == 0) {
                wc.setCellStyle(toprow);
            } else if (a[i].equals(Boolean.TRUE)) {

                wc.setCellStyle(cs);
                wc.setCellType(HSSFCell.CELL_TYPE_STRING);

                if (highlight_row)
                    wc.setCellStyle(highlightedrow);

            } else {
                if (highlight_row)
                    wc.setCellStyle(highlightedrow);
            }

            String s = (String) v.elementAt(i);
            s = s.trim();

            if (s.length() > b[i]) {
                b[i] = s.length();
            }
            if (s.equals("")) {
                s = null;
            }

            wc.setCellValue(s);
            if (_ncitCodeColumns.contains(i) && rownum > 0 && s != null && s.length() > 0) {
                try {
                    wc.setCellFormula("HYPERLINK(\"" + getNCItCodeUrl(s) + "\", \"" + s + "\")");
                } catch (Exception e) {
                    ExceptionUtils.print(_logger, e, "The following string is too large to be a "
                            + "valid NCIt code (" + filename + "): " + s);
                }
            }
        }
        rownum++;
    }

    br.close();
    for (int i = 0; i < 255; i++) {
        if (b[i] != 0) {
            int multiplier = b[i];
            if (i < headings.size()) {
                Integer int_obj = (Integer) maxChars.elementAt(i);
                multiplier = int_obj.intValue();
            }

            // Note(GF20673): 315 is the magic number for this font and size
            int colWidth = multiplier * 315;

            // Fields like definition run long, some sanity required
            if (colWidth > 20000) {
                colWidth = 20000;
            }
            // _logger.debug("Calculated column width " + i + ": " +
            // colWidth);
            ws.setColumnWidth(i, colWidth);
        }
    }

    // Note(GF20673): Freeze top row
    ws.createFreezePane(0, 1, 0, 1);
    wb.write(fout);
    fout.close();
    return Boolean.TRUE;
}

From source file:gov.nih.nci.ncicb.cadsr.bulkloader.util.excel.ExcelUtility.java

License:BSD License

public static boolean getIsBold(HSSFWorkbook workbook, HSSFSheet sheet, int row, short col) {
    HSSFCell cell = sheet.getRow(row).getCell(col);
    HSSFFont font = workbook.getFontAt(cell.getCellStyle().getFontIndex());

    return font.getBoldweight() == HSSFFont.BOLDWEIGHT_BOLD;
}

From source file:gov.nih.nci.ncicb.cadsr.cdebrowser.process.GetExcelDownload.java

License:BSD License

public void generateExcelFile(String filename, DBUtil dbUtil) throws Exception {
    Connection cn = null;/*from   ww  w  .j a  va  2s. com*/

    Statement st = null;
    ResultSet rs = null;
    PrintWriter pw = null;
    String where = "";
    DataElementSearchBean desb = null;
    DESearchQueryBuilder deSearch = null;
    String source = null;
    HSSFWorkbook wb = null;
    FileOutputStream fileOut = null;
    source = getStringInfo("src");

    String RAI = "";
    try {
        RAI = "'" + CaDSRUtil.getNciRegistryId() + "'";
    } catch (IOException e) {
        RAI = DEFAULT_RAI;
    }

    try {
        //String dataSource = getStringInfo("SBREXT_DSN");
        //cn = dbUtil.getConnection(); -- Commented for JBoss deployment
        //ApplicationParameters ap = ApplicationParameters.getInstance("cdebrowser");
        dbUtil.getOracleConnectionFromContainer(); //getConnectionFromContainer(); went back to original call
        cn = dbUtil.getConnection();
        st = cn.createStatement();

        if ("deSearch".equals(source) || "deSearchPrior".equals(source)) {

            desb = (DataElementSearchBean) getInfoObject("desb");

            deSearch = (DESearchQueryBuilder) getInfoObject(ProcessConstants.DE_SEARCH_QUERY_BUILDER);
            where = deSearch.getXMLQueryStmt();
        } else if ("cdeCart".equals(source) || "cdeCartPrior".equals(source)) {
            HttpServletRequest myRequest = (HttpServletRequest) getInfoObject("HTTPRequest");

            HttpSession userSession = myRequest.getSession(false);
            CDECart cart = (CDECart) userSession.getAttribute(CaDSRConstants.CDE_CART);
            Collection items = cart.getDataElements();
            CDECartItem item = null;
            boolean firstOne = true;
            StringBuffer whereBuffer = new StringBuffer("");
            Iterator itemsIt = items.iterator();

            while (itemsIt.hasNext()) {
                item = (CDECartItem) itemsIt.next();

                if (firstOne) {
                    whereBuffer.append("'" + item.getId() + "'");

                    firstOne = false;
                } else {
                    whereBuffer.append(",'" + item.getId() + "'");
                }
            }

            where = whereBuffer.toString();
        } else {
            throw new Exception("No result set to download");
        }

        String sqlStmt = "SELECT DE_EXCEL_GENERATOR_VIEW.*," + RAI + " as \"RAI\" FROM DE_EXCEL_GENERATOR_VIEW "
                + "WHERE DE_IDSEQ IN " + " ( " + where + " )  ";

        //+" ORDER BY PREFERRED_NAME ";
        rs = st.executeQuery(sqlStmt);
        List colInfo = this.initColumnInfo(source);
        wb = new HSSFWorkbook();

        HSSFSheet sheet = wb.createSheet();
        int rowNumber = 0;

        HSSFCellStyle boldCellStyle = wb.createCellStyle();
        HSSFFont font = wb.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        boldCellStyle.setFont(font);
        boldCellStyle.setAlignment(HSSFCellStyle.ALIGN_GENERAL);

        // Create a row and put the column header in it
        HSSFRow row = sheet.createRow(rowNumber++);
        short col = 0;

        for (int i = 0; i < colInfo.size(); i++) {
            ColumnInfo currCol = (ColumnInfo) colInfo.get(i);

            if (currCol.type.indexOf("Array") >= 0) {
                for (int nestedI = 0; nestedI < currCol.nestedColumns.size(); nestedI++) {
                    ColumnInfo nestedCol = (ColumnInfo) currCol.nestedColumns.get(nestedI);

                    HSSFCell cell = row.createCell(col++);
                    cell.setCellValue(currCol.displayName + nestedCol.displayName);
                    cell.setCellStyle(boldCellStyle);
                }
            } else {
                HSSFCell cell = row.createCell(col++);

                cell.setCellValue(currCol.displayName);
                cell.setCellStyle(boldCellStyle);
            }
        }

        int maxRowNumber = 0;

        while (rs.next()) {
            row = sheet.createRow(rowNumber);
            col = 0;

            for (int i = 0; i < colInfo.size(); i++) {
                ColumnInfo currCol = (ColumnInfo) colInfo.get(i);

                if (currCol.type.indexOf("Array") >= 0) {
                    ARRAY array = null;

                    if (currCol.type.equalsIgnoreCase("Array")) {
                        array = ((OracleResultSet) rs).getARRAY(currCol.rsColumnName);
                    } else if (currCol.type.equalsIgnoreCase("StructArray")) {
                        STRUCT struct = ((OracleResultSet) rs).getSTRUCT(currCol.rsColumnName);
                        Object[] valueStruct = struct.getAttributes();
                        array = (ARRAY) valueStruct[currCol.rsIndex];
                    }

                    if ((array != null) && (array.length() != 0)) {
                        ResultSet nestedRs = array.getResultSet();

                        int nestedRowNumber = 0;

                        while (nestedRs.next()) {
                            row = sheet.getRow(rowNumber + nestedRowNumber);

                            if (row == null) {
                                row = sheet.createRow(rowNumber + nestedRowNumber);

                                maxRowNumber = rowNumber + nestedRowNumber;
                            }
                            STRUCT valueStruct = null;
                            //                              STRUCT valueStruct = (STRUCT) nestedRs.getObject(2);
                            try {
                                valueStruct = (STRUCT) nestedRs.getObject(2);
                            } catch (SQLException sqlEx) {

                                //sqlEx.printStackTrace();

                            }
                            if (valueStruct != null) {
                                Datum[] valueDatum = valueStruct.getOracleAttributes();

                                for (short nestedI = 0; nestedI < currCol.nestedColumns.size(); nestedI++) {
                                    ColumnInfo nestedCol = (ColumnInfo) currCol.nestedColumns.get(nestedI);

                                    HSSFCell cell = row.createCell((short) (col + nestedI));

                                    if (nestedCol.rsSubIndex < 0) {
                                        if (valueDatum[nestedCol.rsIndex] != null) {
                                            if (nestedCol.type.equalsIgnoreCase("Number")) {
                                                cell.setCellValue(
                                                        ((NUMBER) valueDatum[nestedCol.rsIndex]).floatValue());
                                            } else if (nestedCol.type.equalsIgnoreCase("Date")) {
                                                cell.setCellValue(((DATE) valueDatum[nestedCol.rsIndex])
                                                        .dateValue().toString());
                                            } else {
                                                String stringCellValue = ((CHAR) valueDatum[nestedCol.rsIndex])
                                                        .stringValue();
                                                cell.setCellValue(StringUtils
                                                        .updateDataForSpecialCharacters(stringCellValue));
                                                //                                    cell.setCellValue(
                                                //                                          ((CHAR) valueDatum[nestedCol.rsIndex]).stringValue());
                                            }
                                        }
                                    } else {
                                        STRUCT nestedStruct = (STRUCT) valueDatum[nestedCol.rsIndex];

                                        Datum[] nestedDatum = nestedStruct.getOracleAttributes();

                                        if (nestedCol.type.equalsIgnoreCase("Number")) {
                                            //changed the conversion from stringValue from floatValue 07/11/2007 to fix GF7664 Prerna
                                            cell.setCellValue(
                                                    ((NUMBER) nestedDatum[nestedCol.rsSubIndex]).stringValue());
                                        } else if (nestedCol.type.equalsIgnoreCase("String")) {
                                            String stringCellValue = ((CHAR) nestedDatum[nestedCol.rsSubIndex])
                                                    .toString();
                                            cell.setCellValue(StringUtils
                                                    .updateDataForSpecialCharacters(stringCellValue));
                                            //                                 cell.setCellValue(
                                            //                                       ((CHAR) nestedDatum[nestedCol.rsSubIndex]).toString());
                                        }
                                    }
                                }
                            }

                            nestedRowNumber++;
                        }
                    }

                    col += currCol.nestedColumns.size();
                } else if (currCol.type.equalsIgnoreCase("Struct")) {
                    STRUCT struct = ((OracleResultSet) rs).getSTRUCT(currCol.rsColumnName);

                    Object[] valueStruct = struct.getAttributes();
                    HSSFCell cell = row.createCell(col++);
                    cell.setCellValue(
                            StringUtils.updateDataForSpecialCharacters((String) valueStruct[currCol.rsIndex]));
                } else {
                    row = sheet.getRow(rowNumber);
                    HSSFCell cell = row.createCell(col++);
                    // Changed the way date is displayed in Excel in 4.0
                    String columnName = ((ColumnInfo) colInfo.get(i)).rsColumnName;
                    if (currCol.type.equalsIgnoreCase("Date")) {
                        cell.setCellValue(
                                (rs.getDate(columnName) != null) ? (rs.getDate(columnName)).toString() : "");
                    } else {
                        /* if (columnName.equals("RAI")) {
                           if (rowNumber == 1)
                         cell.setCellValue(RAI);
                           else
                         cell.setCellValue("");
                        }
                        else { */
                        cell.setCellValue(StringUtils.updateDataForSpecialCharacters(rs.getString(columnName)));
                        //}
                    }
                }
            }
            if (maxRowNumber > rowNumber)
                rowNumber = maxRowNumber + 2;
            else
                rowNumber += 2;
        }
        fileOut = new FileOutputStream(filename);
        wb.write(fileOut);
    } catch (Exception ex) {
        log.error("Exception caught in Generate Excel File", ex);
        ex.printStackTrace();
        throw ex;
    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (cn != null) {
                cn.close(); // Uncommented for JBoss deployment
            }
            if (fileOut != null) {
                fileOut.close();
            }
        } catch (Exception e) {
            log.debug("Unable to perform clean up due to the following error ", e);
        }
    }
}

From source file:gov.nih.nci.ncicb.cadsr.cdebrowser.struts.actions.CompareCDEAction.java

License:BSD License

public ActionForward downloadToExcel(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws IOException, ServletException {
    DynaActionForm hrefCRFForm = (DynaActionForm) form;

    CDECompareList cdeList = (CDECompareList) this.getSessionObject(request, CDE_COMPARE_LIST);

    // create a new excel workbook
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();//from www. j  av  a  2  s .co m
    short rowNumber = 0;
    short colNumber = 0;

    //create bold cell style
    HSSFCellStyle boldCellStyle = wb.createCellStyle();
    HSSFFont font = wb.createFont();
    font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    boldCellStyle.setFont(font);
    boldCellStyle.setAlignment(HSSFCellStyle.ALIGN_GENERAL);

    // Create a row and put some cells in it. Rows are 0 based.
    HSSFRow row = sheet.createRow(rowNumber++);
    HSSFCell cell = row.createCell((short) 0);
    cell.setCellValue("Data Element");
    cell.setCellStyle(boldCellStyle);

    List cdeColl = cdeList.getCdeList();

    addNewRow(sheet, rowNumber++, "Public ID", boldCellStyle, cdeColl, "CDEId");
    addNewRow(sheet, rowNumber++, "Long Name", boldCellStyle, cdeColl, "longName");
    addNewRow(sheet, rowNumber++, "Document Text", boldCellStyle, cdeColl, "longCDEName");
    addNewRow(sheet, rowNumber++, "Definition", boldCellStyle, cdeColl, "preferredDefinition");
    addNewRow(sheet, rowNumber++, "Owned by Context", boldCellStyle, cdeColl, "contextName");
    addNewRow(sheet, rowNumber++, "Used by Context", boldCellStyle, cdeColl, "usingContexts");
    addNewRow(sheet, rowNumber++, "Origin", boldCellStyle, cdeColl, "origin");
    addNewRow(sheet, rowNumber++, "Workflow Status", boldCellStyle, cdeColl, "aslName");
    addNewRow(sheet, rowNumber++, "Registration Status", boldCellStyle, cdeColl, "registrationStatus");
    addNewRow(sheet, rowNumber++, "Short Name", boldCellStyle, cdeColl, "preferredName");
    addNewRow(sheet, rowNumber++, "Version", boldCellStyle, cdeColl, "version");

    row = sheet.createRow(rowNumber++);
    row = sheet.createRow(rowNumber++);
    cell = row.createCell((short) 0);
    cell.setCellValue("Data Element Concept");
    cell.setCellStyle(boldCellStyle);

    List cdeConceptList = new ArrayList();

    for (int i = 0; i < cdeColl.size(); i++)
        cdeConceptList.add(i, ((DataElement) cdeColl.get(i)).getDataElementConcept());

    addNewRow(sheet, rowNumber++, "Public ID", boldCellStyle, cdeConceptList, "publicId");
    addNewRow(sheet, rowNumber++, "Long Name", boldCellStyle, cdeConceptList, "longName");
    addNewRow(sheet, rowNumber++, "Short Name", boldCellStyle, cdeConceptList, "preferredName");
    addNewRow(sheet, rowNumber++, "Definition", boldCellStyle, cdeConceptList, "preferredDefinition");
    addNewRow(sheet, rowNumber++, "Context", boldCellStyle, cdeConceptList, "contextName");
    addNewRow(sheet, rowNumber++, "Conceptual Domain Short Name", boldCellStyle, cdeConceptList, "CDPrefName");
    addNewRow(sheet, rowNumber++, "Object Class Short Name", boldCellStyle, cdeConceptList,
            "objectClass.preferredName");
    addNewRow(sheet, rowNumber++, "Property Short Name", boldCellStyle, cdeConceptList,
            "property.preferredName");
    addNewRow(sheet, rowNumber++, "Origin", boldCellStyle, cdeConceptList, "origin");
    addNewRow(sheet, rowNumber++, "Workflow Status", boldCellStyle, cdeConceptList, "aslName");

    row = sheet.createRow(rowNumber++);
    row = sheet.createRow(rowNumber++);
    cell = row.createCell((short) 0);
    cell.setCellValue("Value Domain");
    cell.setCellStyle(boldCellStyle);

    addNewRow(sheet, rowNumber++, "Public ID", boldCellStyle, cdeColl, "valueDomain.publicId");
    addNewRow(sheet, rowNumber++, "Long Name", boldCellStyle, cdeColl, "valueDomain.longName");
    addNewRow(sheet, rowNumber++, "Short Name", boldCellStyle, cdeColl, "valueDomain.preferredName");
    addNewRow(sheet, rowNumber++, "Definition", boldCellStyle, cdeColl, "valueDomain.preferredDefinition");
    addNewRow(sheet, rowNumber++, "Data Type", boldCellStyle, cdeColl, "valueDomain.datatype");
    addNewRow(sheet, rowNumber++, "Unit of Measure", boldCellStyle, cdeColl, "valueDomain.unitOfMeasure");
    addNewRow(sheet, rowNumber++, "Display Format", boldCellStyle, cdeColl, "valueDomain.displayFormat");
    addNewRow(sheet, rowNumber++, "Maximum Length", boldCellStyle, cdeColl, "valueDomain.maxLength");
    addNewRow(sheet, rowNumber++, "Minimum Length", boldCellStyle, cdeColl, "valueDomain.minLength");
    addNewRow(sheet, rowNumber++, "Decimal Place", boldCellStyle, cdeColl, "valueDomain.decimalPlace");
    addNewRow(sheet, rowNumber++, "High Value", boldCellStyle, cdeColl, "valueDomain.highValue");
    addNewRow(sheet, rowNumber++, "Low Value", boldCellStyle, cdeColl, "valueDomain.lowValue");
    addNewRow(sheet, rowNumber++, "Value Domain Type", boldCellStyle, cdeColl, "valueDomain.VDType");
    addNewRow(sheet, rowNumber++, "Conceptual Domain Short Name", boldCellStyle, cdeColl,
            "valueDomain.CDPrefName");
    addNewRow(sheet, rowNumber++, "Representation", boldCellStyle, cdeColl,
            "valueDomain.representation.longName");
    addNewRow(sheet, rowNumber++, "Origin", boldCellStyle, cdeColl, "valueDomain.origin");
    addNewRow(sheet, rowNumber++, "Workflow Status", boldCellStyle, cdeColl, "valueDomain.aslName");
    addNewRow(sheet, rowNumber++, "Version", boldCellStyle, cdeColl, "valueDomain.version");

    List pvTitles = new ArrayList();
    pvTitles.add(0, "Value");
    pvTitles.add(1, "Value Meaning");
    pvTitles.add(2, "Description");
    List pvProperties = new ArrayList();
    pvProperties.add(0, "shortMeaningValue");
    pvProperties.add(1, "shortMeaning");
    pvProperties.add(2, "shortMeaningDescription");

    rowNumber += this.exportObjects(sheet, rowNumber, "Permissible Values", "valueDomain.validValues",
            boldCellStyle, cdeColl, pvProperties, pvTitles);

    List refDocPropertyTitles = new ArrayList();
    refDocPropertyTitles.add(0, "Document Name");
    refDocPropertyTitles.add(1, "Document Type");
    refDocPropertyTitles.add(2, "Document Text");
    List refDocProperties = new ArrayList();
    refDocProperties.add(0, "docName");
    refDocProperties.add(1, "docType");
    refDocProperties.add(2, "docText");

    rowNumber += this.exportObjects(sheet, rowNumber, "Reference Document", "refereceDocs", boldCellStyle,
            cdeColl, refDocProperties, refDocPropertyTitles);

    List csPropertyTitles = new ArrayList();
    csPropertyTitles.add(0, "CS* Short Name");
    csPropertyTitles.add(1, "CS* Definition");
    csPropertyTitles.add(2, "CSI* Name");
    csPropertyTitles.add(3, "CSI* Type");
    List csProperties = new ArrayList();
    csProperties.add(0, "classSchemeName");
    csProperties.add(1, "classSchemeDefinition");
    csProperties.add(2, "classSchemeItemName");
    csProperties.add(3, "classSchemeItemType");

    rowNumber += this.exportObjects(sheet, rowNumber, "Classifications", "classifications", boldCellStyle,
            cdeColl, csProperties, csPropertyTitles);

    row = sheet.createRow(rowNumber++);
    row = sheet.createRow(rowNumber++);
    cell = row.createCell((short) 0);
    cell.setCellValue("Data Element Derivation");
    cell.setCellStyle(boldCellStyle);

    addNewRow(sheet, rowNumber++, "Derivation Type", boldCellStyle, cdeColl, "derivedDataElement.type.name");
    addNewRow(sheet, rowNumber++, "Rule", boldCellStyle, cdeColl, "derivedDataElement.rule");
    addNewRow(sheet, rowNumber++, "Method", boldCellStyle, cdeColl, "derivedDataElement.methods");
    addNewRow(sheet, rowNumber++, "Concatenation Character", boldCellStyle, cdeColl,
            "derivedDataElement.concatenationCharacter");

    List dedPropertyTitles = new ArrayList();
    dedPropertyTitles.add(0, "Long Name");
    dedPropertyTitles.add(1, "Context");
    dedPropertyTitles.add(2, "Public ID");
    dedPropertyTitles.add(3, "Version");
    List dedProperties = new ArrayList();
    dedProperties.add(0, "longName");
    dedProperties.add(1, "contextName");
    dedProperties.add(2, "CDEId");
    dedProperties.add(3, "version");

    rowNumber += this.exportObjects(sheet, rowNumber, "Component Data Elements",
            "derivedDataElement.dataElementDerivation", boldCellStyle, cdeColl, dedProperties,
            dedPropertyTitles);

    CDEBrowserParams params = CDEBrowserParams.getInstance();
    String excelFilename = params.getXMLDownloadDir() + "compareCDEs" + ".xls";
    FileOutputStream fileOut = new FileOutputStream(excelFilename);
    wb.write(fileOut);
    fileOut.close();

    File f = new File(excelFilename);
    String ctype = ContentTypeHelper.getContentType(f.getName());

    response.setContentType(ctype);
    response.setContentLength((int) f.length());
    response.setHeader("Content-Disposition", "attachment;filename=\"" + f.getName() + "\"");
    response.setHeader("Pragma", "public");
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control", "max-age=0");

    try {
        // create buffer
        byte[] buffer = new byte[1024];

        int r = 0;
        // write out file
        FileInputStream fin = new FileInputStream(f);
        OutputStream out = response.getOutputStream();

        while ((r = fin.read(buffer, 0, buffer.length)) != -1) {
            out.write(buffer, 0, r);
        }

        try {
            fin.close();

            out.flush();
            out.close();
        } catch (Exception e) {
        }

        out = null;
        fin = null;
        buffer = null;
    } catch (Exception ex) {
        String msg = ex.getMessage();

        response.setContentType("text/html");
        response.setContentLength(msg.length());
        PrintWriter out = response.getWriter();
        out.println("Unexpected error");
        out.flush();
        out.close();
    }

    return null;
}

From source file:gov.nih.nci.ncicb.cadsr.common.downloads.impl.GetExcelDownloadImpl.java

License:BSD License

private void generateExcelFile() throws Exception {
    Connection cn = null;/*  www  .  jav a  2  s. com*/
    Statement st = null;
    ResultSet rs = null;
    FileOutputStream fileOut = null;

    try {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet();
        int rowNumber = 0;

        HSSFCellStyle boldCellStyle = wb.createCellStyle();
        HSSFFont font = wb.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        boldCellStyle.setFont(font);
        boldCellStyle.setAlignment(HSSFCellStyle.ALIGN_GENERAL);

        // Create a row and put the column header in it
        HSSFRow row = sheet.createRow(rowNumber++);
        short col = 0;
        List colInfo = this.initColumnInfo(source);

        for (int i = 0; i < colInfo.size(); i++) {
            ColumnInfo currCol = (ColumnInfo) colInfo.get(i);

            if (currCol.type.indexOf("Array") >= 0) {
                for (int nestedI = 0; nestedI < currCol.nestedColumns.size(); nestedI++) {
                    ColumnInfo nestedCol = (ColumnInfo) currCol.nestedColumns.get(nestedI);

                    HSSFCell cell = row.createCell(col++);
                    cell.setCellValue(currCol.displayName + nestedCol.displayName);
                    cell.setCellStyle(boldCellStyle);
                }
            } else {
                HSSFCell cell = row.createCell(col++);

                cell.setCellValue(currCol.displayName);
                cell.setCellStyle(boldCellStyle);
            }
        }

        String sqlStmt = "SELECT * FROM DE_EXCEL_GENERATOR_VIEW " + "WHERE DE_IDSEQ IN " + " ( " + where
                + " )  ";

        ConnectionHelper connHelper = new ConnectionHelper(jndiName);
        cn = connHelper.getConnection();

        if (cn == null) {
            throw new Exception("Cannot get the connection for the JNDI name [" + jndiName + "]");
        }

        st = cn.createStatement();
        rs = st.executeQuery(sqlStmt);
        generateDataRow(rowNumber, sheet, colInfo, rs);
        String filename = getFileName();
        fileOut = new FileOutputStream(filename);
        wb.write(fileOut);

    } catch (SQLException e) {
        log.warn("Database error ", e);
    } catch (Exception ex) {
        log.error("Exception caught in Generate Excel File", ex);
        throw ex;
    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (cn != null) {
                cn.close();
            }
            if (fileOut != null) {
                fileOut.close();
            }
        } catch (Exception e) {
            log.debug("Unable to perform clean up due to the following error ", e);
        }
    }

}

From source file:gov.va.med.pharmacy.peps.presentation.common.displaytag.DefaultHssfExportView.java

License:Artistic License

/**
 * doExport creates excel file for download
 * @param out OutputStream/*from w ww  .ja  va  2 s .c om*/
 * @see org.displaytag.export.BinaryExportView#doExport(java.io.OutputStream)
 * @throws IOException IOException
 * @throws JspException JspException
 */
public void doExport(OutputStream out) throws IOException, JspException {
    try {
        HSSFWorkbook wb = new HSSFWorkbook();
        sheet = wb.createSheet("Table_Export");

        int rowNum = 0;
        int colNum = 0;

        //Create a header row
        HSSFRow xlsRow = sheet.createRow(rowNum++);

        HSSFCellStyle headerStyle = wb.createCellStyle();
        headerStyle.setFillPattern(HSSFCellStyle.FINE_DOTS);
        headerStyle.setFillBackgroundColor(HSSFColor.BLUE_GREY.index);
        HSSFFont bold = wb.createFont();
        bold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        bold.setColor(HSSFColor.WHITE.index);
        headerStyle.setFont(bold);

        Iterator iterator = this.model.getHeaderCellList().iterator();

        while (iterator.hasNext()) {
            HeaderCell headerCell = (HeaderCell) iterator.next();

            String columnHeader = headerCell.getTitle();

            if (columnHeader == null) {
                columnHeader = StringUtils.capitalize(headerCell.getBeanPropertyName());
            }

            HSSFCell cell = xlsRow.createCell(colNum++);
            cell.setCellValue(columnHeader);
            cell.setCellStyle(headerStyle);
        }

        RowIterator rowIterator = this.model.getRowIterator(this.exportFull);

        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            xlsRow = sheet.createRow(rowNum++);
            colNum = 0;

            // iterate on columns
            ColumnIterator columnIterator = row.getColumnIterator(this.model.getHeaderCellList());

            while (columnIterator.hasNext()) {
                Column column = columnIterator.nextColumn();

                Object value = column.getValue(this.decorated);

                HSSFCell cell = xlsRow.createCell(colNum++);

                if (value instanceof Number) {
                    Number num = (Number) value;
                    cell.setCellValue(num.doubleValue());
                } else if (value instanceof Date) {
                    cell.setCellValue((Date) value);
                } else if (value instanceof Calendar) {
                    cell.setCellValue((Calendar) value);
                } else {
                    cell.setCellValue(escapeColumnValue(value));
                }

            }
        }

        wb.write(out);

        //            new HssfTableWriter(wb).writeTable(this.model, "-1");            
        //            wb.write(out);
    } catch (Exception e) {
        throw new HssfGenerationException(e);
    }
}

From source file:gr.abiss.calipso.util.ExcelUtils.java

License:Open Source License

public ExcelUtils(List items, ItemSearch itemSearch, Component callerComponent) {
    this.wb = new HSSFWorkbook();
    this.sheet = wb.createSheet("calipso");
    this.sheet.setDefaultColumnWidth((short) 12);

    HSSFFont fBold = wb.createFont();/*from   w w  w.j a  va  2s.  c  o m*/
    fBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    this.csBold = wb.createCellStyle();
    this.csBold.setFont(fBold);

    this.csDate = wb.createCellStyle();
    this.csDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));

    this.items = items;
    this.itemSearch = itemSearch;

    this.callerComponent = callerComponent;

}

From source file:info.jtrac.service.ExcelUtils.java

License:Apache License

public ExcelUtils(List<Item> items, ItemSearch itemSearch) {
    this.wb = new HSSFWorkbook();
    this.sheet = wb.createSheet("jtrac");
    this.sheet.setDefaultColumnWidth((short) 12);

    HSSFFont fBold = wb.createFont();/* ww w  .  j a v  a  2  s  .  co  m*/
    fBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    this.csBold = wb.createCellStyle();
    this.csBold.setFont(fBold);

    this.csDate = wb.createCellStyle();
    this.csDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));

    this.items = items;
    this.itemSearch = itemSearch;
}

From source file:info.jtrac.util.ExcelUtils.java

License:Apache License

public ExcelUtils(List items, ItemSearch itemSearch) {
    this.wb = new HSSFWorkbook();
    this.sheet = wb.createSheet("jtrac");
    this.sheet.setDefaultColumnWidth((short) 12);

    HSSFFont fBold = wb.createFont();//www. j av  a 2 s .  c  o m
    fBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    this.csBold = wb.createCellStyle();
    this.csBold.setFont(fBold);

    this.csDate = wb.createCellStyle();
    this.csDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));

    this.items = items;
    this.itemSearch = itemSearch;
}

From source file:is.idega.idegaweb.egov.accounting.business.AccountingEntryWriter.java

License:Open Source License

public MemoryFileBuffer writeXLS(IWContext iwc, Map paymentMethod, Map products) throws Exception {
    MemoryFileBuffer buffer = new MemoryFileBuffer();
    MemoryOutputStream mos = new MemoryOutputStream(buffer);

    if (paymentMethod != null && products != null) {
        HSSFWorkbook wb = new HSSFWorkbook();

        HSSFSheet sheet = wb.createSheet(StringHandler.shortenToLength(
                this.iwrb.getLocalizedString("accounting_statistics.statistics", "Statistics"), 30));
        sheet.setColumnWidth((short) 0, (short) (30 * 256));
        sheet.setColumnWidth((short) 1, (short) (14 * 256));

        HSSFFont font = wb.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        font.setFontHeightInPoints((short) 12);
        HSSFCellStyle style = wb.createCellStyle();
        style.setFont(font);/*from   ww w  . j av a2s .  co m*/

        int cellRow = 0;

        HSSFRow row = sheet.createRow(cellRow++);
        HSSFCell cell = row.createCell((short) 0);
        cell.setCellValue(this.iwrb.getLocalizedString("accounting_statistics.item", "Item"));
        cell.setCellStyle(style);

        cell = row.createCell((short) 1);
        cell.setCellValue(this.iwrb.getLocalizedString("accounting_statistics.total", "Total"));
        cell.setCellStyle(style);

        Collection keys = paymentMethod.keySet();
        Iterator iter = keys.iterator();
        while (iter.hasNext()) {
            row = sheet.createRow(cellRow++);
            String key = (String) iter.next();
            int count = ((Collection) paymentMethod.get(key)).size();

            cell = row.createCell((short) 0);
            cell.setCellValue(this.iwrb.getLocalizedString("accounting_statistics.payment_method." + key, key));

            cell = row.createCell((short) 1);
            cell.setCellValue(String.valueOf(count));
        }

        keys = products.keySet();
        iter = keys.iterator();
        while (iter.hasNext()) {
            row = sheet.createRow(cellRow++);
            String key = (String) iter.next();
            int count = ((Collection) products.get(key)).size();

            cell = row.createCell((short) 0);
            cell.setCellValue(
                    this.iwrb.getLocalizedString("accounting_statistics." + this.caseCode + "." + key, key));

            cell = row.createCell((short) 1);
            cell.setCellValue(String.valueOf(count));
        }

        keys = products.keySet();
        iter = keys.iterator();
        while (iter.hasNext()) {
            String key = (String) iter.next();
            createNewSheet(iwc, wb,
                    iwrb.getLocalizedString("accounting_statistics." + this.caseCode + "." + key, key),
                    (List) products.get(key));
        }

        wb.write(mos);
    }
    buffer.setMimeType(MimeTypeUtil.MIME_TYPE_EXCEL_2);
    return buffer;
}