59 lines
1.6 KiB
Java
59 lines
1.6 KiB
Java
package kcg.imis.cmmn.excel;
|
|
|
|
import java.net.URLEncoder;
|
|
import java.util.Map;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
|
import egovframework.rte.fdl.excel.util.AbstractPOIExcelView;
|
|
|
|
/**
|
|
* @FileName : ExcelView.java
|
|
* @Project : 국제해양프로젝트
|
|
* @Date : 2018. 3. 29.
|
|
* @작성자 : Moon
|
|
* @변경이력 :
|
|
* @프로그램 설명 :
|
|
*/
|
|
public class ExcelView extends AbstractPOIExcelView {
|
|
|
|
/**
|
|
* 엑셀파일을 다운로드한다.
|
|
*
|
|
* @param model Model객체
|
|
* @param model Model객체
|
|
* @param model Model객체
|
|
* @param model Model객체
|
|
*/
|
|
@Override
|
|
protected void buildExcelDocument(Map<String, Object> model, XSSFWorkbook wb, HttpServletRequest req, HttpServletResponse res) throws Exception {
|
|
|
|
if(model.get("filename") != null){
|
|
String userAgent = req.getHeader("User-Agent");
|
|
String fileName = (String)model.get("filename");
|
|
if(userAgent.indexOf("MSIE") > -1){
|
|
fileName = URLEncoder.encode(fileName, "utf-8");
|
|
}else{
|
|
fileName = new String(fileName.getBytes("utf-8"), "iso-8859-1");
|
|
}
|
|
model.put("filename", fileName);
|
|
}
|
|
|
|
ExcelExport export = (ExcelExport) model.get("excel");
|
|
try {
|
|
export.makeExcel(wb);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
XSSFSheet sheet = wb.createSheet("sheet1");
|
|
XSSFCell cell = getCell(sheet, 0, 0);
|
|
setText(cell, "Error");
|
|
}
|
|
|
|
}
|
|
}
|