用spring MVC 生成Excel和PDF

jsp页面:

<input name="button" type="button" id="button" value="保存excel"
 οnclick="javascript:window.open('../demo/viewExcel.xhtml');"/>

 

@Controller

    @RequestMapping(value="/viewExcel")
    public ModelAndView viewExcel(HttpServletRequest request){
        List list = new ArrayList(); 
        Map model = new HashMap(); 
        list.add("test1"); 
        list.add("test2"); 
        model.put("list", list); 
        ViewExcel viewExcel = new ViewExcel(); 
//        log.debug("ViewController.viewExcel is ended......");
        return new ModelAndView(viewExcel, model);
    }

 

@RequestMapping(params="method=pdftest",method=RequestMethod.GET)
public ModelAndView viewPDF(HttpServletRequest request,  
            HttpServletResponse response) throws Exception {  
        List list = new ArrayList();  
        Map model = new HashMap();  
        list.add("test1");  
        list.add("test2");  
        model.put("list", list);  
        ViewPDF viewPDF = new ViewPDF();  
        return new ModelAndView(viewPDF, model);  
    }  
}

 

 生成excel视图,可用excel工具打开或者保存

ViewExcel类(继承AbstractExcelView)

public class ViewExcel extends AbstractExcelView {
    @Override
    protected void buildExcelDocument(Map<String, Object> arg0,
            HSSFWorkbook workbook, HttpServletRequest arg2, HttpServletResponse arg3)
            throws Exception {
        // TODO Auto-generated method stub
          HSSFSheet sheet = workbook.createSheet("list"); 
            sheet.setDefaultColumnWidth((short) 12); 
     
            HSSFCell cell = getCell(sheet, 0, 0); 
            setText(cell, "Spring Excel test"); 
     
            HSSFCellStyle dateStyle = workbook.createCellStyle(); 
            //dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yyyy")); 
            cell = getCell(sheet, 1, 0); 
            cell.setCellValue("日期:2008-10-23"); 
            //cell.setCellStyle(dateStyle); 
            getCell(sheet, 2, 0).setCellValue("测试1"); 
            getCell(sheet, 2, 1).setCellValue("测试2");


            HSSFRow sheetRow = sheet.createRow(3); 
            for (short i = 0; i < 10; i++) { 
                sheetRow.createCell(i).setCellValue(i * 10); 
            }  
    }
}

 

/**
* 生成PDF视图,可用PDF浏览器打开或者保存
* 由ViewController的return new ModelAndView(viewPDF, model)生成
* @author Tony Lin Created on 2008-10-22
* @version Version 1.0
*/
public class ViewPDF extends AbstractPdfView {  
    public void buildPdfDocument(Map model, Document document,  
            PdfWriter writer, HttpServletRequest request,  
            HttpServletResponse response) throws Exception {  
  
        List list = (List) model.get("list");  
  
        for (int i = 0; i < list.size(); i++)  
            document.add(new Paragraph((String) list.get(i)));  
    }  
}

MAVEN pom.xml文件

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4</version>
        </dependency>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值