List of usage examples for org.apache.poi.hssf.usermodel HSSFRow setHeight
@Override public void setHeight(short height)
From source file:com.leosys.core.utils.ExcelUtil.java
public void exportExcel(List<?> dataList, OutputStream out) throws Exception { HSSFWorkbook workbook = null;/*from w w w .j av a 2 s .c o m*/ HSSFSheet sheet = null; HSSFRow row = null; HSSFCell cell = null; HSSFCellStyle titleStyle = null; int rowIndex = 0; try { workbook = new HSSFWorkbook();// sheet = workbook.createSheet("?");// ? sheet.setDefaultColumnWidth((short) 30);// 15 titleStyle = workbook.createCellStyle();//? titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titleStyle.setFillForegroundColor(HSSFColor.WHITE.index); titleStyle.setFillBackgroundColor(HSSFColor.WHITE.index); titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); HSSFFont font = workbook.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setFontHeightInPoints((short) 17); titleStyle.setFont(font); row = sheet.createRow(rowIndex++); row.setHeight((short) 600); for (short i = 0; i < headArr.length; i++) { cell = row.createCell(i); //? if (i == 0) cell.setCellValue(new HSSFRichTextString(title)); cell.setCellStyle(titleStyle); } // ??? sheet.addMergedRegion(new Region(0, (short) 0, 0, (short) (headArr.length - 1))); titleStyle = workbook.createCellStyle(); titleStyle.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index); titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); font = workbook.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); font.setFontHeightInPoints((short) 13); titleStyle.setFont(font);// ?? row = sheet.createRow(rowIndex++);// for (short i = 0; i < headArr.length; i++) { cell = row.createCell(i); cell.setCellStyle(titleStyle); cell.setCellValue(new HSSFRichTextString(headArr[i])); } //? titleStyle = workbook.createCellStyle(); titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); if (dataList == null || dataList.isEmpty()) return; short dataType = 0;// if (dataList.get(0) instanceof Map<?, ?>) dataType = 1; else if (dataList.get(0) instanceof List<?>) dataType = 2; if (dataType == 0) { String[] dataArr = null; for (Object data : dataList) { dataArr = (String[]) data; if (dataArr == null) continue; row = sheet.createRow(rowIndex++); for (short i = 0; i < headArr.length; i++) { if (i < dataArr.length) { Object val = dataArr[i]; if (rendererArr != null && rendererArr[i] != null) val = rendererArr[i].renderer(dataArr[i], i, dataArr); fillCell(row, titleStyle, font, i, val); } } } } else if (dataType == 1) { Map<?, ?> map = null; for (Object data : dataList) { map = (Map<?, ?>) data; if (map == null) continue; Object[] dataArr = map.values().toArray(); if (dataArr == null) continue; row = sheet.createRow(rowIndex++); for (short i = 0; i < headArr.length; i++) { if (i < dataArr.length) { Object val = dataArr[i]; if (rendererArr != null && rendererArr[i] != null) val = rendererArr[i].renderer(dataArr[i], i, dataArr); fillCell(row, titleStyle, font, i, val); } } } } else if (dataType == 2) { List<?> list = null; for (Object data : dataList) { list = (List<?>) data; if (list == null || list.isEmpty()) continue; row = sheet.createRow(rowIndex++); for (short i = 0; i < headArr.length; i++) { if (i < list.size()) { Object val = list.get(i); if (rendererArr != null && rendererArr[i] != null) val = rendererArr[i].renderer(list.get(i), i, list); fillCell(row, titleStyle, font, i, val); } } } } else throw new Exception("excel???"); workbook.write(out); } catch (Exception e) { throw new Exception("excel" + e.getMessage()); } finally { // if(out != null){ // try { // out.close(); // } catch (IOException e) {} // } } }
From source file:com.lingxiang2014.ExcelView.java
License:Open Source License
public void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { Assert.notEmpty(properties);/* w ww . ja v a 2 s .c o m*/ HSSFSheet sheet; if (StringUtils.isNotEmpty(sheetName)) { sheet = workbook.createSheet(sheetName); } else { sheet = workbook.createSheet(); } int rowNumber = 0; if (titles != null && titles.length > 0) { HSSFRow header = sheet.createRow(rowNumber); header.setHeight((short) 400); for (int i = 0; i < properties.length; i++) { HSSFCell cell = header.createCell(i); HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index); cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); HSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 11); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellStyle.setFont(font); cell.setCellStyle(cellStyle); if (i == 0) { HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); HSSFComment comment = patriarch .createComment(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 4, 4)); comment.setString(new HSSFRichTextString("P" + "o" + "w" + "e" + "r" + "e" + "d" + " " + "B" + "y" + " " + "S" + "H" + "O" + "P" + "+" + "+")); cell.setCellComment(comment); } if (titles.length > i && titles[i] != null) { cell.setCellValue(titles[i]); } else { cell.setCellValue(properties[i]); } if (widths != null && widths.length > i && widths[i] != null) { sheet.setColumnWidth(i, widths[i]); } else { sheet.autoSizeColumn(i); } } rowNumber++; } if (data != null) { for (Object item : data) { HSSFRow row = sheet.createRow(rowNumber); for (int i = 0; i < properties.length; i++) { HSSFCell cell = row.createCell(i); if (converters != null && converters.length > i && converters[i] != null) { Class<?> clazz = PropertyUtils.getPropertyType(item, properties[i]); ConvertUtils.register(converters[i], clazz); cell.setCellValue(BeanUtils.getProperty(item, properties[i])); ConvertUtils.deregister(clazz); if (clazz.equals(Date.class)) { DateConverter dateConverter = new DateConverter(); dateConverter.setPattern(DEFAULT_DATE_PATTERN); ConvertUtils.register(dateConverter, Date.class); } } else { cell.setCellValue(BeanUtils.getProperty(item, properties[i])); } if (rowNumber == 0 || rowNumber == 1) { if (widths != null && widths.length > i && widths[i] != null) { sheet.setColumnWidth(i, widths[i]); } else { sheet.autoSizeColumn(i); } } } rowNumber++; } } if (contents != null && contents.length > 0) { rowNumber++; for (String content : contents) { HSSFRow row = sheet.createRow(rowNumber); HSSFCell cell = row.createCell(0); HSSFCellStyle cellStyle = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setColor(HSSFColor.GREY_50_PERCENT.index); cellStyle.setFont(font); cell.setCellStyle(cellStyle); cell.setCellValue(content); rowNumber++; } } response.setContentType("application/force-download"); if (StringUtils.isNotEmpty(filename)) { response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8")); } else { response.setHeader("Content-disposition", "attachment"); } }
From source file:com.nkapps.billing.services.BankStatementPrintServiceImpl.java
public boolean createTotalCells(List totalCellIndexes, HSSFSheet sheet, HSSFCellStyle[] totalStyle, Short totalStyleHeight, int rowStart, int cellStart, int rowCurrent) { HSSFRow row; HSSFCell cell;/*from ww w . ja va 2 s.c om*/ int rowTotal; if (rowCurrent == rowStart) rowCurrent++; rowTotal = rowCurrent - 1; row = sheet.createRow(rowCurrent); row.setHeight(totalStyleHeight); for (Iterator it = totalCellIndexes.iterator(); it.hasNext();) { Integer cellIndex = (Integer) it.next(); cell = row.createCell(cellIndex); String columnLetter = CellReference.convertNumToColString(cellIndex); cell.setCellFormula("SUM(" + columnLetter + (rowStart + 1) + ":" + columnLetter + (rowTotal + 1) + ")"); cell.setCellStyle(totalStyle[cellIndex]); } return true; }
From source file:com.nkapps.billing.services.BankStatementPrintServiceImpl.java
@Override public HSSFWorkbook printClaim(List<PrintClaimPojo> listPojo) throws Exception { HSSFWorkbook workbook = null;/*from w w w . j av a 2 s. c o m*/ POIFSFileSystem fs = new POIFSFileSystem( new FileInputStream(servletContext.getRealPath("templates") + File.separator + "print_claim.xls")); workbook = new HSSFWorkbook(fs); HSSFSheet sheet = workbook.getSheetAt(0); // title //HSSFRow row = sheet.getRow(1); //HSSFCell cell = row.getCell(1); //String title; //cell.setCellValue(title); // HSSFRow row; final int CELL_START = 1; final int ROW_START = sheet.getLastRowNum() - 1; final int CELL_END = sheet.getRow(ROW_START).getLastCellNum(); int rowCurrent = ROW_START, rowTotal = sheet.getLastRowNum(), cellCurrent; // HSSFCellStyle[] style = new HSSFCellStyle[CELL_END]; short styleHeight = sheet.getRow(rowCurrent).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { style[i] = sheet.getRow(rowCurrent).getCell(i).getCellStyle(); } // total style HSSFCellStyle[] totalStyle = new HSSFCellStyle[CELL_END]; short totalStyleHeight = sheet.getRow(rowTotal).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { totalStyle[i] = sheet.getRow(rowTotal).getCell(i).getCellStyle(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int numQuantity = 0; for (PrintClaimPojo pcp : listPojo) { numQuantity++; row = sheet.createRow(rowCurrent++); row.setHeight(styleHeight); cellCurrent = CELL_START; createCell(row, cellCurrent++, style, numQuantity); createCell(row, cellCurrent++, style, pcp.getTin()); createCell(row, cellCurrent++, style, pcp.getMfo()); createCell(row, cellCurrent++, style, pcp.getChet()); createCell(row, cellCurrent++, style, pcp.getPaymentNum()); createCell(row, cellCurrent++, style, dateFormat.format(pcp.getPaymentDate())); createCell(row, cellCurrent++, style, pcp.getPaymentSum()); createCell(row, cellCurrent++, style, pcp.getPaymentDetails()); } List<Integer> totalCellIndexes = new ArrayList<>(); totalCellIndexes.add(CELL_START + 6); // for payment sum columns createTotalCells(totalCellIndexes, sheet, totalStyle, totalStyleHeight, ROW_START, CELL_START, rowCurrent); return workbook; }
From source file:com.nkapps.billing.services.BankStatementPrintServiceImpl.java
@Override public HSSFWorkbook printRegister(List<PrintRegisterPojo> listPojo) throws Exception { HSSFWorkbook workbook = null;// w ww. j a v a 2 s .co m POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( servletContext.getRealPath("templates") + File.separator + "print_register.xls")); workbook = new HSSFWorkbook(fs); HSSFSheet sheet = workbook.getSheetAt(0); // title //HSSFRow row = sheet.getRow(1); //HSSFCell cell = row.getCell(1); //String title; //cell.setCellValue(title); // HSSFRow row; final int CELL_START = 1; final int ROW_START = sheet.getLastRowNum() - 1; final int CELL_END = sheet.getRow(ROW_START).getLastCellNum(); int rowCurrent = ROW_START, rowTotal = sheet.getLastRowNum(), cellCurrent; // HSSFCellStyle[] style = new HSSFCellStyle[CELL_END]; short styleHeight = sheet.getRow(rowCurrent).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { style[i] = sheet.getRow(rowCurrent).getCell(i).getCellStyle(); } // total style HSSFCellStyle[] totalStyle = new HSSFCellStyle[CELL_END]; short totalStyleHeight = sheet.getRow(rowTotal).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { totalStyle[i] = sheet.getRow(rowTotal).getCell(i).getCellStyle(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int numQuantity = 0; for (PrintRegisterPojo prp : listPojo) { numQuantity++; row = sheet.createRow(rowCurrent++); row.setHeight(styleHeight); cellCurrent = CELL_START; createCell(row, cellCurrent++, style, prp.getInvoiceNum()); createCell(row, cellCurrent++, style, prp.getPaymentNum()); createCell(row, cellCurrent++, style, dateFormat.format(prp.getPaymentDate())); createCell(row, cellCurrent++, style, prp.getTin()); createCell(row, cellCurrent++, style, prp.getName()); createCell(row, cellCurrent++, style, prp.getPaymentSum()); } List<Integer> totalCellIndexes = new ArrayList<>(); totalCellIndexes.add(CELL_START + 5); // for payment sum columns createTotalCells(totalCellIndexes, sheet, totalStyle, totalStyleHeight, ROW_START, CELL_START, rowCurrent); return workbook; }
From source file:com.nkapps.billing.services.BankStatementPrintServiceImpl.java
@Override public HSSFWorkbook printClaimRegister(List<PrintClaimRegisterPojo> listPojo) throws Exception { HSSFWorkbook workbook = null;//from w ww .j av a 2s .c om POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( servletContext.getRealPath("templates") + File.separator + "print_claim_register.xls")); workbook = new HSSFWorkbook(fs); HSSFSheet sheet = workbook.getSheetAt(0); // title //HSSFRow row = sheet.getRow(1); //HSSFCell cell = row.getCell(1); //String title; //cell.setCellValue(title); // HSSFRow row; final int CELL_START = 1; final int ROW_START = sheet.getLastRowNum() - 1; final int CELL_END = sheet.getRow(ROW_START).getLastCellNum(); int rowCurrent = ROW_START, rowTotal = sheet.getLastRowNum(), cellCurrent; // HSSFCellStyle[] style = new HSSFCellStyle[CELL_END]; short styleHeight = sheet.getRow(rowCurrent).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { style[i] = sheet.getRow(rowCurrent).getCell(i).getCellStyle(); } // total style HSSFCellStyle[] totalStyle = new HSSFCellStyle[CELL_END]; short totalStyleHeight = sheet.getRow(rowTotal).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { totalStyle[i] = sheet.getRow(rowTotal).getCell(i).getCellStyle(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int numQuantity = 0; for (PrintClaimRegisterPojo pcrp : listPojo) { numQuantity++; row = sheet.createRow(rowCurrent++); row.setHeight(styleHeight); cellCurrent = CELL_START; createCell(row, cellCurrent++, style, pcrp.getInvoiceNum()); createCell(row, cellCurrent++, style, pcrp.getPaymentNum()); createCell(row, cellCurrent++, style, dateFormat.format(pcrp.getPaymentDate())); createCell(row, cellCurrent++, style, pcrp.getTin()); createCell(row, cellCurrent++, style, pcrp.getName()); createCell(row, cellCurrent++, style, pcrp.getPaymentSum()); } List<Integer> totalCellIndexes = new ArrayList<>(); totalCellIndexes.add(CELL_START + 5); // for payment sum columns createTotalCells(totalCellIndexes, sheet, totalStyle, totalStyleHeight, ROW_START, CELL_START, rowCurrent); return workbook; }
From source file:com.nkapps.billing.services.ReportPrintServiceImpl.java
@Override public HSSFWorkbook printClick(List<ReportClickListPojo> listPojos) throws Exception { HSSFWorkbook workbook = null;/*from w ww . j a v a2 s. c o m*/ POIFSFileSystem fs = new POIFSFileSystem( new FileInputStream(servletContext.getRealPath("templates") + File.separator + "report_click.xls")); workbook = new HSSFWorkbook(fs); HSSFSheet sheet = workbook.getSheetAt(0); // title //HSSFRow row = sheet.getRow(1); //HSSFCell cell = row.getCell(1); //String title; //cell.setCellValue(title); // HSSFRow row; final int CELL_START = 1; final int ROW_START = sheet.getLastRowNum() - 1; final int CELL_END = sheet.getRow(ROW_START).getLastCellNum(); int rowCurrent = ROW_START, rowTotal = sheet.getLastRowNum(), cellCurrent; // HSSFCellStyle[] style = new HSSFCellStyle[CELL_END]; short styleHeight = sheet.getRow(rowCurrent).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { style[i] = sheet.getRow(rowCurrent).getCell(i).getCellStyle(); } // total style HSSFCellStyle[] totalStyle = new HSSFCellStyle[CELL_END]; short totalStyleHeight = sheet.getRow(rowTotal).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { totalStyle[i] = sheet.getRow(rowTotal).getCell(i).getCellStyle(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int numQuantity = 0; for (ReportClickListPojo rclp : listPojos) { numQuantity++; row = sheet.createRow(rowCurrent++); row.setHeight(styleHeight); cellCurrent = CELL_START; createCell(row, cellCurrent++, style, numQuantity); createCell(row, cellCurrent++, style, dateFormat.format(rclp.getOperationDate())); createCell(row, cellCurrent++, style, dateFormat.format(rclp.getBsPaymentDate())); createCell(row, cellCurrent++, style, rclp.getBsPaymentNum()); createCell(row, cellCurrent++, style, rclp.getBsPaymentSum()); createCell(row, cellCurrent++, style, rclp.getClickPaymentSum()); createCell(row, cellCurrent++, style, rclp.getDiffSum()); } List<Integer> totalCellIndexes = new ArrayList<>(); totalCellIndexes.add(CELL_START + 4); // for totalCellIndexes.add(CELL_START + 5); // for totalCellIndexes.add(CELL_START + 6); // for createTotalCells(totalCellIndexes, sheet, totalStyle, totalStyleHeight, ROW_START, CELL_START, rowCurrent); return workbook; }
From source file:com.nkapps.billing.services.ReportPrintServiceImpl.java
@Override public HSSFWorkbook printSmst(List<ReportSmstListPojo> listPojos) throws Exception { HSSFWorkbook workbook = null;/* w ww . j a v a 2s. co m*/ POIFSFileSystem fs = new POIFSFileSystem( new FileInputStream(servletContext.getRealPath("templates") + File.separator + "report_smst.xls")); workbook = new HSSFWorkbook(fs); HSSFSheet sheet = workbook.getSheetAt(0); // title //HSSFRow row = sheet.getRow(1); //HSSFCell cell = row.getCell(1); //String title; //cell.setCellValue(title); // HSSFRow row; final int CELL_START = 1; final int ROW_START = sheet.getLastRowNum() - 1; final int CELL_END = sheet.getRow(ROW_START).getLastCellNum(); int rowCurrent = ROW_START, rowTotal = sheet.getLastRowNum(), cellCurrent; // HSSFCellStyle[] style = new HSSFCellStyle[CELL_END]; short styleHeight = sheet.getRow(rowCurrent).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { style[i] = sheet.getRow(rowCurrent).getCell(i).getCellStyle(); } // total style HSSFCellStyle[] totalStyle = new HSSFCellStyle[CELL_END]; short totalStyleHeight = sheet.getRow(rowTotal).getHeight(); for (int i = CELL_START; i < CELL_END; i++) { totalStyle[i] = sheet.getRow(rowTotal).getCell(i).getCellStyle(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int numQuantity = 0; for (ReportSmstListPojo rslp : listPojos) { numQuantity++; row = sheet.createRow(rowCurrent++); row.setHeight(styleHeight); cellCurrent = CELL_START; createCell(row, cellCurrent++, style, numQuantity); createCell(row, cellCurrent++, style, dateFormat.format(rslp.getOperationDate())); createCell(row, cellCurrent++, style, rslp.getBsPaymentSum()); createCell(row, cellCurrent++, style, rslp.getSmstPaymentSum()); createCell(row, cellCurrent++, style, rslp.getDiffSum()); } List<Integer> totalCellIndexes = new ArrayList<>(); totalCellIndexes.add(CELL_START + 2); // for totalCellIndexes.add(CELL_START + 3); // for totalCellIndexes.add(CELL_START + 4); // for createTotalCells(totalCellIndexes, sheet, totalStyle, totalStyleHeight, ROW_START, CELL_START, rowCurrent); return workbook; }
From source file:com.sammyun.ExcelView.java
License:Open Source License
/** * ?Excel/*from www . j av a 2 s. c om*/ * * @param model ? * @param workbook workbook * @param request request * @param response response */ public void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { Assert.notEmpty(properties); HSSFSheet sheet; if (StringUtils.isNotEmpty(sheetName)) { sheet = workbook.createSheet(sheetName); } else { sheet = workbook.createSheet(); } int rowNumber = 0; if (titles != null && titles.length > 0) { HSSFRow header = sheet.createRow(rowNumber); header.setHeight((short) 400); for (int i = 0; i < properties.length; i++) { HSSFCell cell = header.createCell(i); HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index); cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); HSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 11); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellStyle.setFont(font); cell.setCellStyle(cellStyle); if (i == 0) { HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); HSSFComment comment = patriarch .createComment(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 4, 4)); comment.setString(new HSSFRichTextString("P" + "o" + "w" + "e" + "r" + "e" + "d" + " " + "B" + "y" + " " + "M" + "o" + "S" + "ho" + "o" + "p")); cell.setCellComment(comment); } if (titles.length > i && titles[i] != null) { cell.setCellValue(titles[i]); } else { cell.setCellValue(properties[i]); } if (widths != null && widths.length > i && widths[i] != null) { sheet.setColumnWidth(i, widths[i]); } else { sheet.autoSizeColumn(i); } } rowNumber++; } if (data != null) { for (Object item : data) { HSSFRow row = sheet.createRow(rowNumber); for (int i = 0; i < properties.length; i++) { HSSFCell cell = row.createCell(i); if (converters != null && converters.length > i && converters[i] != null) { Class<?> clazz = PropertyUtils.getPropertyType(item, properties[i]); ConvertUtils.register(converters[i], clazz); cell.setCellValue(BeanUtils.getProperty(item, properties[i])); ConvertUtils.deregister(clazz); if (clazz.equals(Date.class)) { DateConverter dateConverter = new DateConverter(); dateConverter.setPattern(DEFAULT_DATE_PATTERN); ConvertUtils.register(dateConverter, Date.class); } } else { cell.setCellValue(BeanUtils.getProperty(item, properties[i])); } if (rowNumber == 0 || rowNumber == 1) { if (widths != null && widths.length > i && widths[i] != null) { sheet.setColumnWidth(i, widths[i]); } else { sheet.autoSizeColumn(i); } } } rowNumber++; } } if (contents != null && contents.length > 0) { rowNumber++; for (String content : contents) { HSSFRow row = sheet.createRow(rowNumber); HSSFCell cell = row.createCell(0); HSSFCellStyle cellStyle = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setColor(HSSFColor.GREY_50_PERCENT.index); cellStyle.setFont(font); cell.setCellStyle(cellStyle); cell.setCellValue(content); rowNumber++; } } response.setContentType("application/force-download"); if (StringUtils.isNotEmpty(filename)) { response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8")); } else { response.setHeader("Content-disposition", "attachment"); } }
From source file:com.siva.javamultithreading.ExcelUtil.java
public static void copyRow(HSSFWorkbook newWorkbook, HSSFSheet srcSheet, HSSFSheet destSheet, HSSFRow srcRow, HSSFRow destRow, Map<Integer, HSSFCellStyle> styleMap) { destRow.setHeight(srcRow.getHeight()); for (int j = srcRow.getFirstCellNum(); j <= srcRow.getLastCellNum(); j++) { HSSFCell oldCell = srcRow.getCell(j); HSSFCell newCell = destRow.getCell(j); if (oldCell != null) { if (newCell == null) { newCell = destRow.createCell(j); }/*from w w w . j a va 2s . c o m*/ copyCell(newWorkbook, oldCell, newCell, styleMap); } } }