网站开发 APP开发 小程序开发 SEO优化 公司新闻

ExcelView的实现

2018-08-16 10:34:53
1298

  除了能够使用JSP这种常用的页面呈现外, Spring MVO还整合了其他常用数据格式的页面展现,比如 Excels数据。在呈现 Excel视图时, Spring并没有开发自己的Exce实现方案,而是使用已有的 JJava Exce解决方案来生成Exce件,然后通过与MvC框架的整合,把生成的Excel文件输出到HTTP的Response中,在HTTP的客户端展现出来。Spring3.0分别提供了POI和 JEXCelAPI两个方案在MVC框架中的整合,它们的使用分别对应两个view类:Abstract ExcelView和 AbstractJExcelView。在这里,以PO的实现为例,对在 Spring Mvc中展示Excl视图的实现原理做一个简要的分析。
 

  在 AbstractExcel view中, Excel视图的呈现是通过POI来完成的,可以看到,POI的对象 HSSFWorkbook用来在PO中抽象 Excel-文件的对象。这个工作簿可以从模板 Excely件里取得,模板 Excel-件可以通过URL来指定,也可以通过 HSSFWorkbook对象生成一个新的 Excel文件。在得到代表 Excel件的 HSSFWorkbook对象以后,就是通过这个对象对Exc件中的数据进行处理。这些文件的数据处理没有在 AbstractExcel viewl中实现,而是交给应用去完成的,这里为该实现定义了一个抽象方法 buildExcelDocument,应用需要实现该抽象方法,以完成自己的数据操作。完成Exce的数据操作后, Excel文件就已经准备好了,下面介绍把它输出到HTP客户端的过程。首先需要设置HTTP响应的输出类型,以便客户端进行识别。完成设置后,把HSSFWorkbook对象代表的数据输出到HTTP响应中,这样就完成了在服务器端的Exce视图呈现过程。