Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package bean; import com.liferay.faces.portal.context.LiferayFacesContext; import com.liferay.portal.theme.ThemeDisplay; import java.io.File; import java.io.FileOutputStream; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.RequestScoped; import javax.faces.context.FacesContext; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Font; /** * * @author misteam */ @ManagedBean @RequestScoped public class SlReportExport implements Serializable { /** * Creates a new instance of SlReportExport */ public SlReportExport() { } /* * properties */ @ManagedProperty(value = "#{exportData}") private ExportData exportData; @ManagedProperty(value = "#{financialReportData}") private FinancialReportData financialReportData; @ManagedProperty(value = "#{slReportData}") private SlReportData slReportData; @ManagedProperty(value = "#{dataConvert}") private DataConvert dataConvert; /* * getter setter */ public ExportData getExportData() { return exportData == null ? exportData = new ExportData() : exportData; } public void setExportData(ExportData exportData) { this.exportData = exportData; } public FinancialReportData getFinancialReportData() { return financialReportData == null ? financialReportData = new FinancialReportData() : financialReportData; } public void setFinancialReportData(FinancialReportData financialReportData) { this.financialReportData = financialReportData; } public SlReportData getSlReportData() { return slReportData == null ? slReportData = new SlReportData() : slReportData; } public void setSlReportData(SlReportData slReportData) { this.slReportData = slReportData; } public DataConvert getDataConvert() { return dataConvert == null ? dataConvert = new DataConvert() : dataConvert; } public void setDataConvert(DataConvert dataConvert) { this.dataConvert = dataConvert; } /* * methods */ public String exportDate() { String stringOutput = ""; try { if (getSlReportData().getMonth() == 1) { stringOutput = "JANUARY"; } else if (getSlReportData().getMonth() == 2) { stringOutput = "FEBRUARY"; } else if (getSlReportData().getMonth() == 3) { stringOutput = "MARCH"; } else if (getSlReportData().getMonth() == 4) { stringOutput = "APRIL"; } else if (getSlReportData().getMonth() == 5) { stringOutput = "MAY"; } else if (getSlReportData().getMonth() == 6) { stringOutput = "JUNE"; } else if (getSlReportData().getMonth() == 7) { stringOutput = "JULY"; } else if (getSlReportData().getMonth() == 8) { stringOutput = "AUGUST"; } else if (getSlReportData().getMonth() == 9) { stringOutput = "SEPTEMBER"; } else if (getSlReportData().getMonth() == 10) { stringOutput = "OCTOBER"; } else if (getSlReportData().getMonth() == 11) { stringOutput = "NOVEMBER"; } else if (getSlReportData().getMonth() == 12) { stringOutput = "DECEMBER"; } stringOutput = stringOutput + " " + getSlReportData().getYear(); return stringOutput; } catch (NullPointerException e) { return ""; } } public void export() { Integer columnNo; HSSFWorkbook workbook; HSSFSheet sheet; HSSFRow dataRow; HSSFCell cell; HSSFCellStyle cellStyle, boldStyle; HSSFFont font; ThemeDisplay themeDisplay = LiferayFacesContext.getInstance().getThemeDisplay(); getExportData().createFolder(null, themeDisplay, "SL Report", "DESCRIPTION"); if (getExportData().getFilename() == null || getExportData().getFilename().length() == 0) { getExportData().setFilename("Default(" + new Date() + ")"); } getExportData().setFilename(getExportData().getFilename().replace(":", "")); try { getExportData().setFilename(getExportData().getFilename().concat(".xls")); workbook = new HSSFWorkbook(); cellStyle = workbook.createCellStyle(); cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00")); font = workbook.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); boldStyle = workbook.createCellStyle(); boldStyle.setFont(font); sheet = workbook.createSheet("SL Report " + exportDate()); dataRow = sheet.createRow((short) 0); columnNo = 0; cell = dataRow.createCell(columnNo++); cell.setCellValue("SL REPORT"); cell.setCellStyle(boldStyle); dataRow = sheet.createRow(dataRow.getRowNum() + 1); columnNo = 0; cell = dataRow.createCell(columnNo++); cell.setCellValue(exportDate()); cell.setCellStyle(boldStyle); dataRow = sheet.createRow(dataRow.getRowNum() + 1); dataRow = sheet.createRow(dataRow.getRowNum() + 1); columnNo = 0; cell = dataRow.createCell(columnNo++); cell.setCellValue("Date"); cell.setCellStyle(boldStyle); columnNo = 1; cell = dataRow.createCell(columnNo++); cell.setCellValue("Account Title"); cell.setCellStyle(boldStyle); columnNo = 2; cell = dataRow.createCell(columnNo++); cell.setCellValue("Journal Type"); cell.setCellStyle(boldStyle); columnNo = 3; cell = dataRow.createCell(columnNo++); cell.setCellValue("Debit"); cell.setCellStyle(boldStyle); columnNo = 4; cell = dataRow.createCell(columnNo++); cell.setCellValue("Credit"); cell.setCellStyle(boldStyle); columnNo = 5; cell = dataRow.createCell(columnNo++); cell.setCellValue("Balance"); cell.setCellStyle(boldStyle); for (int i = 0; i < getSlReportData().getSlReport().size(); i++) { dataRow = sheet.createRow(dataRow.getRowNum() + 1); //DATE columnNo = 0; cell = dataRow.createCell(columnNo++); // cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue((Date) getSlReportData().getSlReport().get(i)[0]); cell.setCellStyle(cellStyle); // dataRow.createCell(columnNo++).setCellValue(""); //ACCOUNT TITLE columnNo = 1; cell = dataRow.createCell(columnNo++); cell.setCellValue((String) getSlReportData().getSlReport().get(i)[1]); cell.setCellStyle(cellStyle); //JOURNAL TYPE columnNo = 2; cell = dataRow.createCell(columnNo++); cell.setCellValue((String) getSlReportData().getSlReport().get(i)[2]); cell.setCellStyle(cellStyle); //DEBIT columnNo = 3; cell = dataRow.createCell(columnNo++); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(((BigDecimal) getSlReportData().getSlReport().get(i)[3]).doubleValue()); cell.setCellStyle(cellStyle); //CREDIT columnNo = 4; cell = dataRow.createCell(columnNo++); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(((BigDecimal) getSlReportData().getSlReport().get(i)[4]).doubleValue()); cell.setCellStyle(cellStyle); //BALANCE columnNo = 5; cell = dataRow.createCell(columnNo++); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(((BigDecimal) getSlReportData().getSlReport().get(i)[5]).doubleValue()); cell.setCellStyle(cellStyle); // if (i == getSlReportData().getSlReport().size() - 1) { // dataRow = sheet.createRow(dataRow.getRowNum() + 1); // dataRow = sheet.createRow(dataRow.getRowNum() + 1); // columnNo = 0; // // cell = dataRow.createCell(columnNo++); // cell.setCellValue("TOTAL:"); // cell.setCellStyle(boldStyle); // // dataRow.createCell(columnNo++).setCellValue(""); // // columnNo = 3; // // cell = dataRow.createCell(columnNo++); // cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); // cell.setCellValue(getDataConvert().convertAmount(getTrialBalanceData().getTrialBalanceDebitTotal())); // cell.setCellStyle(boldStyle); // // columnNo = 4; // // cell = dataRow.createCell(columnNo++); // cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); // cell.setCellValue(getDataConvert().convertAmount(getTrialBalanceData().getTrialBalanceCreditTotal())); // cell.setCellStyle(boldStyle); // } } FileOutputStream fileOutputStream = new FileOutputStream(getExportData().getFilename()); workbook.write(fileOutputStream); fileOutputStream.close(); getExportData().fileUploadByDL(getExportData().getFilename(), "SL Report", themeDisplay, null); File file = new File(getExportData().getFilename()); if (file.exists()) { file.delete(); } } catch (Exception e) { System.out.print("slReportExport().export() " + e); FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error", "An error occurred while generating excel file."); FacesContext.getCurrentInstance().addMessage(null, message); } } }