|
|
@@ -7,6 +7,7 @@ import javax.servlet.ServletOutputStream; |
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
|
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
|
|
|
import org.jeecgframework.poi.excel.entity.TemplateExportParams;
|
|
|
@@ -25,6 +26,9 @@ public class JeecgTemplateExcelView extends AbstractView { |
|
|
|
|
|
|
|
private static final String CONTENT_TYPE = "application/vnd.ms-excel";
|
|
|
|
|
|
|
|
private static final String HSSF = ".xls";
|
|
|
|
private static final String XSSF = ".xlsx";
|
|
|
|
|
|
|
|
public JeecgTemplateExcelView() {
|
|
|
|
setContentType(CONTENT_TYPE);
|
|
|
|
}
|
|
|
@@ -37,9 +41,19 @@ public class JeecgTemplateExcelView extends AbstractView { |
|
|
|
@Override
|
|
|
|
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
|
|
|
|
HttpServletResponse response) throws Exception {
|
|
|
|
String codedFileName = "临时文件.xls";
|
|
|
|
String codedFileName = "临时文件";
|
|
|
|
Workbook workbook = ExcelExportUtil.exportExcel(
|
|
|
|
(TemplateExportParams) model.get(TemplateExcelConstants.PARAMS),
|
|
|
|
(Class<?>) model.get(TemplateExcelConstants.CLASS),
|
|
|
|
(List<?>) model.get(TemplateExcelConstants.LIST_DATA),
|
|
|
|
(Map<String, Object>) model.get(TemplateExcelConstants.MAP_DATA));
|
|
|
|
if (model.containsKey(NormalExcelConstants.FILE_NAME)) {
|
|
|
|
codedFileName = (String) model.get(NormalExcelConstants.FILE_NAME) + ".xls";
|
|
|
|
codedFileName = (String) model.get(NormalExcelConstants.FILE_NAME);
|
|
|
|
}
|
|
|
|
if (workbook instanceof HSSFWorkbook) {
|
|
|
|
codedFileName += HSSF;
|
|
|
|
} else {
|
|
|
|
codedFileName += XSSF;
|
|
|
|
}
|
|
|
|
if (isIE(request)) {
|
|
|
|
codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
|
|
|
@@ -47,11 +61,6 @@ public class JeecgTemplateExcelView extends AbstractView { |
|
|
|
codedFileName = new String(codedFileName.getBytes("UTF-8"), "ISO-8859-1");
|
|
|
|
}
|
|
|
|
response.setHeader("content-disposition", "attachment;filename=" + codedFileName);
|
|
|
|
Workbook workbook = ExcelExportUtil.exportExcel(
|
|
|
|
(TemplateExportParams) model.get(TemplateExcelConstants.PARAMS),
|
|
|
|
(Class<?>) model.get(TemplateExcelConstants.CLASS),
|
|
|
|
(List<?>) model.get(TemplateExcelConstants.LIST_DATA),
|
|
|
|
(Map<String, Object>) model.get(TemplateExcelConstants.MAP_DATA));
|
|
|
|
ServletOutputStream out = response.getOutputStream();
|
|
|
|
workbook.write(out);
|
|
|
|
out.flush();
|
|
|
|