Usages of

org.apache.poi.xssf.streaming.SXSSFCell.getCellStyle()
/** * ������������������������������������ * * @param nRow * ������������ * @return ������������ */ public static int getRowForBold(SXSSFSheet sheet,int nRow,int pageRowNum) { int nRowIndex=nRow; for(nRowIndex=nRow;nRowIndex>(nRow-pageRowNum);nRowIndex--){ SXSSFRow row = OoxmlFastUtil.getRowAnyway(sheet, nRowIndex); if (row != null) { SXSSFCell cell = getCellAnyway(row, 0); CellStyle styletmp = cell.getCellStyle(); if (styletmp.getBorderTop()==(XSSFCellStyle.BORDER_MEDIUM)) { break; } } } return nRowIndex; }
/** * metodo pubblico da chiamare per la generazione di un file excel * richiede che siano stati impostati i parametri obbligatori: headers, types, styles e data * i parametri headerHeight e rowHiweght sono facoltativi */ public void generate() { // check sui dati necessari alla generazione del file excel if (headers==null) throw new SystemException("Missing headers field"); if (types==null) throw new SystemException("Missing types field"); if (styles==null) throw new SystemException("Missing styles field"); if (data==null) throw new SystemException("Missing data field"); if (headers.size()!=types.size()) throw new SystemException("Size types field not equal size headers fields"); if (headers.size()!=styles.size()) throw new SystemException("Size styles field not equal size headers fields"); // Creo il workbook solo se e' il primo foglio che genero, altrimenti riuso quello gia' creato if(workBook == null){ workBook = new SXSSFWorkbook(500); } // creazione dello sheet SXSSFSheet sheet = null; sheet = (SXSSFSheet)workBook.createSheet(sheetName == null ? "Sheet1" : sheetName); // chiamata a metodo per l'impostazione degli stili aggiuntivi in base al contenuto delle celle createStyles(); // chiamata a metodo per l'impostazione degli stili aggiuntivi in base al contenuto delle celle createStylesForTypes(); // creazione della riga di interstazione SXSSFRow headerRow = (SXSSFRow)sheet.createRow(0); int contHeaders=0; // impostazione delle colonne di intestazione in base ai parametri passati for (String header : headers) { SXSSFCell headerCell = (SXSSFCell)headerRow.createCell(contHeaders++); headerCell.setCellStyle(cellStyleHeader); headerCell.setCellValue(header); } // eventuale impostazione altezza intestazione if (headerHeight!=-1) { headerRow.setHeight(headerHeight); } int rowNum=1; // impostazione matrice dei dati for (ArrayList<Object> rowData : data) { // creazione di una riga di dati SXSSFRow row= (SXSSFRow)sheet.createRow(rowNum++); int colNum = 0; for (Object cellData : rowData) { // creazione di una cella di dati SXSSFCell cell=(SXSSFCell)row.createCell(colNum); // // impostazione dello stile della cella // switch (styles.get(colNum)) { // case EXCEL_STYLE_YELLOW: { // cell.setCellStyle(cellStyleYellow); // break; // } // case EXCEL_STYLE_PINK: { // cell.setCellStyle(cellStylePink); // break; // } // } // impostazione del contenuto della cella in base al tipo di cella (numerica o alfanumerica) switch (types.get(colNum)) { case EXCEL_TYPE_TEXT: { if (cellData!=null && cellData.toString().length() > 0){ cell.setCellStyle(cellStyleText); cell.setCellType(SXSSFCell.CELL_TYPE_STRING); cell.setCellValue(cellData.toString()); } break; } case EXCEL_TYPE_NUMBER: { if (cellData!=null && cellData.toString().length() > 0){ cell.setCellStyle(cellStyleNumber); cell.setCellType(SXSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(Double.parseDouble(cellData.toString())); } break; } case EXCEL_TYPE_DATE:{ if (cellData!=null && cellData.toString().length() > 0){ cell.setCellStyle(cellStyleDate); cell.setCellValue((Date)cellData); } break; } case EXCEL_TYPE_BOOLEAN:{ if(cellData != null && cellData.toString().length() > 0){ cell.setCellStyle(cellStyleBoolean); cell.setCellType(SXSSFCell.CELL_TYPE_STRING); if((Boolean)cellData){ cell.setCellValue("S��"); } else{ cell.setCellValue("No"); } } break; } case EXCEL_TYPE_PRICE:{ if(cellData != null && cellData.toString().length() > 0){ cell.setCellStyle(cellStylePrice); cell.setCellType(SXSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(((BigDecimal)cellData).doubleValue()); } break; } default: { throw new SystemException("Cell type " + types.get(colNum) + " not recognized"); } } //Aggiunta di eventuali colori cell.setCellStyle(addColorToStyle(((XSSFCellStyle)cell.getCellStyle()),styles.get(colNum))); colNum++; } // eventuale impostazione dell'altezza della riga di dati if (rowHeight!=-1) { row.setHeight(rowHeight); } } // impostazione della propriet�� autoSize su tutte le colonne dello sheet for (int indice=0;indice<contHeaders;indice++) { sheet.autoSizeColumn(indice); } }
Usage snippet has been bookmarked! Review your bookmarks
Thank you! Review your likes