Java tutorial
/* * M2M ServiceFOTA ONM version 1.0 * * Copyright 2014 kt corp. All rights reserved. * * This is a proprietary software of kt corp, and you may not use this file except in * compliance with license agreement with kt corp. Any redistribution or use of this * software, with or without modification shall be strictly prohibited without prior written * approval of kt corp, and the copyright notice above does not evidence any actual or * intended publication of such software. */ package com.fota.fota3g.statisticsMgt.controller; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.web.servlet.view.document.AbstractExcelView; import com.fota.comm.util.DateTimeUtil; import com.fota.fota3g.statisticsMgt.vo.FotaReportFailCauseAnalysisViewVo; import com.fota.fota3g.statisticsMgt.vo.FotaReportFirmPkgDownloadViewVo; import com.fota.fota3g.statisticsMgt.vo.FotaReportInfoVo; public class FotaReportExcelDown extends AbstractExcelView { @Override protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { String date = DateTimeUtil.getCurrentDate(); String formNm = "FOTA_"; String fileName = date + "_" + formNm; response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setHeader("Content-disposition", "attachent; filename=" + new String((fileName).getBytes("KSC5601"), "8859_1") + ".xls"); @SuppressWarnings("unchecked") List<FotaReportInfoVo> fotaReportTotalList = (List<FotaReportInfoVo>) model.get("fotaReportTotalList"); @SuppressWarnings("unchecked") List<FotaReportFailCauseAnalysisViewVo> failCauseAnalysisTotalList = (List<FotaReportFailCauseAnalysisViewVo>) model .get("failCauseAnalysisTotalList"); @SuppressWarnings("unchecked") List<FotaReportFirmPkgDownloadViewVo> firmPkgDownloadtotalList = (List<FotaReportFirmPkgDownloadViewVo>) model .get("firmPkgDownloadtotalList"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ? HSSFSheet sheet1 = workbook.createSheet("? "); // ? HSSFRow title = sheet1.createRow(0); title.createCell(0).setCellValue("? "); HSSFRow header = sheet1.createRow(1); header.createCell(0).setCellValue(""); header.createCell(1).setCellValue(""); header.createCell(2).setCellValue(" "); header.createCell(3).setCellValue(""); header.createCell(4).setCellValue(""); header.createCell(5).setCellValue(""); header.createCell(6).setCellValue(" ??"); HSSFRow subHeader = sheet1.createRow(2); subHeader.createCell(0).setCellValue("?"); subHeader.createCell(1).setCellValue("?"); subHeader.createCell(2).setCellValue("? "); subHeader.createCell(3).setCellValue(""); subHeader.createCell(4).setCellValue(""); subHeader.createCell(5).setCellValue(""); subHeader.createCell(6).setCellValue(""); subHeader.createCell(7).setCellValue(""); subHeader.createCell(8).setCellValue(""); subHeader.createCell(9).setCellValue(""); subHeader.createCell(10).setCellValue(""); subHeader.createCell(11).setCellValue("PIN "); subHeader.createCell(12).setCellValue(""); int index = 2; if (fotaReportTotalList != null && fotaReportTotalList.size() > 0) { for (int i = 0; i < fotaReportTotalList.size(); i++) { FotaReportInfoVo fvo = fotaReportTotalList.get(i); HSSFRow row = sheet1.createRow(++index); row.createCell(0).setCellValue(fvo.getModel()); row.createCell(1).setCellValue(fvo.getSubscriberCount()); row.createCell(2).setCellValue(fvo.getFirmwareVersionCheckCount()); row.createCell(3).setCellValue(fvo.getFirmwareVersionCheckSucc()); row.createCell(4).setCellValue(fvo.getFirmwareVersionCheckFail()); row.createCell(5).setCellValue(fvo.getFirmwareVersionCheckSuccRate()); row.createCell(6).setCellValue(fvo.getFirmwareUpdateRealTime()); row.createCell(7).setCellValue(fvo.getFirmwareUpdateReservation()); row.createCell(8).setCellValue(fvo.getFirmwareUpdateSucc()); row.createCell(9).setCellValue(fvo.getFirmwareUpdateFail()); row.createCell(10).setCellValue(fvo.getFirmwareUpdateFinalVersion()); row.createCell(11).setCellValue(fvo.getFirmwareUpdatePinLock()); row.createCell(12).setCellValue(fvo.getFirmwareUpdateSuccRate()); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ?? ? HSSFSheet sheet2 = workbook.createSheet(" ?? ?"); // ? HSSFRow title2 = sheet2.createRow(0); title2.createCell(0).setCellValue(" ?? ?"); HSSFRow header2 = sheet2.createRow(1); header2.createCell(0).setCellValue(""); header2.createCell(1).setCellValue("?"); header2.createCell(2).setCellValue(""); header2.createCell(3).setCellValue("??"); index = 1; if (failCauseAnalysisTotalList != null && failCauseAnalysisTotalList.size() > 0) { for (int i = 0; i < failCauseAnalysisTotalList.size(); i++) { FotaReportFailCauseAnalysisViewVo fvo = failCauseAnalysisTotalList.get(i); HSSFRow row = sheet2.createRow(++index); row.createCell(0).setCellValue(fvo.getDevision()); row.createCell(1).setCellValue(fvo.getModel()); row.createCell(2).setCellValue(fvo.getCount()); row.createCell(3).setCellValue(fvo.getCause()); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // HSSFSheet sheet3 = workbook.createSheet(" "); // ? HSSFRow title3 = sheet3.createRow(0); title3.createCell(0).setCellValue(" "); HSSFRow header3 = sheet3.createRow(1); header3.createCell(0).setCellValue("?"); header3.createCell(1).setCellValue(" "); header3.createCell(2).setCellValue(" "); index = 1; if (firmPkgDownloadtotalList != null && firmPkgDownloadtotalList.size() > 0) { for (int i = 0; i < firmPkgDownloadtotalList.size(); i++) { FotaReportFirmPkgDownloadViewVo fvo = firmPkgDownloadtotalList.get(i); HSSFRow row = sheet3.createRow(++index); row.createCell(0).setCellValue(fvo.getModel()); row.createCell(1).setCellValue(fvo.getFirmwarePkg()); row.createCell(2).setCellValue(fvo.getDownloadCount()); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// workbook.write(response.getOutputStream()); response.getOutputStream().close(); } }