很多时候需要把表格数据导出Excel表格,以前使用别人的框架,现在还是用别人的框架实现,哈哈。
1.ExcelManager:
public List<PageData> listAll(PageData pd)throws Exception;
2.ExcelService:
public List<PageData> listAll(PageData pd)throws Exception{
return (List<PageData>)dao.findForList("OtherMapper.listAll", pd);
}
3.ExcelMapper:(Field是字段,tableName是字段值。在前面<sql id ="Field">..字段..</sql>
)
<select id="listAll" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
</select>
4.ExcelController:
@RequestMapping(value="/excel")
public ModelAndView exportExcel() throws Exception{
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
Map<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
titles.add("名称"); //1
titles.add("费用"); //2
titles.add("成本"); //3
titles.add("备注"); //4
dataMap.put("titles", titles);
List<PageData> varOList = otherService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for(int i=0;i<varOList.size();i++){
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("OTHER_MANE")); //1
vpd.put("var2", varOList.get(i).get("COST_MONEY").toString()); //2
vpd.put("var3", varOList.get(i).get("COST_T").toString()); //3
vpd.put("var4", varOList.get(i).getString("BZ")); //4
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
5.ExcelJsp:
//导出excel
function toExcel(){
window.location.href='<%=basePath%>excelJsp.do';
}
为什么这么详细?
这是备份:防止有一天头脑爆炸!