之前使用poi导出Excel表格,需要配置很多东西,也比较麻烦,这里使用poi的封装easypoi,可以快速配置,实现Excel或者word文件的导出。这里我们结合SpringMVC开发easypoi。
导入jar包
这里是springMVC和easypoi所需的jar包
主要是easypoi-base和easypoi-web,其它都是关联所需的jar包,我们需要commons-lang3.jar包,开始使用commons-lang2.6版本会出现错误。
spring-servlet.xml配置
<!-- Bean解析器,级别高于默认解析器,寻找bean对象进行二次处理 -->
<bean id="beanNameViewResolver"
class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0">
</bean>
<!-- Excel 处理 根据用户输入进行对象处理 -->
<bean id="jeecgExcelView" class="org.jeecgframework.poi.excel.view.JeecgSingleExcelView" />
<bean id="jeecgTemplateExcelView" class="org.jeecgframework.poi.excel.view.JeecgTemplateExcelView" />
<bean id="jeecgTemplateWordView" class="org.jeecgframework.poi.excel.view.JeecgTemplateWordView" />
<bean id="jeecgMapExcelView" class="org.jeecgframework.poi.excel.view.JeecgMapExcelView" />
controller
package com.mvc.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
import org.jeecgframework.poi.excel.entity.vo.MapExcelConstants;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping(value="/excel")
public class ExcelController {
/**
*
* 方法名:
* 开发者:
* 开发时间:2016-12-29
*/
@RequestMapping(value = "/export",method = {RequestMethod.POST,RequestMethod.GET})
public String export(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap){
//标题
List<ExcelExportEntity> entityList = new ArrayList<ExcelExportEntity>();
//内容
List<Map<String,Object>> dataResult = new ArrayList<Map<String,Object>>();
entityList.add(new ExcelExportEntity("表头1", "table1", 15));
entityList.add(new ExcelExportEntity("表头2", "table2", 25));
entityList.add(new ExcelExportEntity("表头3", "table3", 35));
for (int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("table1", "苹果"+i);
map.put("table2", "香蕉"+i);
map.put("table3", "鸭梨"+i);
dataResult.add(map);
}
modelMap.put(MapExcelConstants.ENTITY_LIST, entityList);
modelMap.put(MapExcelConstants.MAP_LIST, dataResult);
String fileName = "easypoi测试列表";
modelMap.put(MapExcelConstants.FILE_NAME, fileName);
modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("easypoi列表", "测试列表"));
return MapExcelConstants.JEECG_MAP_EXCEL_VIEW;
}
}
配置好表头,内容体,文件名就可以使用了