java集成excel报表_java-运用Spring实现Excel报表

本文介绍了如何在Java中利用Spring的AbstractExcelView和Apache POI库来实现Excel报表,展示用户列表。通过创建一个继承自AbstractExcelView的视图类并重写buildExcelDocument方法,构造Excel文档,并在前端控制器中添加请求处理方法,将用户数据转换为Excel格式进行导出。
摘要由CSDN通过智能技术生成

如果想使用excel展示用户列表,仅需扩展Spring的AbstractExcelView或AbstractJExcelView ,实现buildExcelDocument()方法,在方法中使用模型数据对象构造Excel文档

代码:

package com.accp.web;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.time.DateFormatUtils;

import

org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import

org.springframework.web.servlet.view.document.AbstractE

xcelView;

import com.accp.domain.User;

/**

* 显示用户列表Excel的视图类

* @author Administrator

*

*/

public class UserListExcelView extends

AbstractExcelView {

@SuppressWarnings("unchecked")

@Override

protected void buildExcelDocument(Map

Object> model,

HSSFWorkbook workbook,

HttpServletRequest request, HttpServletResponse

reponse)

throws Exception {

reponse.setHeader("Content-

Disposition", "inline;filename="+new String("用户列

表".getBytes(),"iso-8859-1"));

List userList =(List)

model.get("userList");

HSSFSheet sheet = workbook.createSheet

("users");

HSSFRow header = sheet.createRow(0);header.createCell(0).setCellValue(new

HSSFRichTextString("姓名"));

header.createCell(1).setCellValue(new

HSSFRichTextString("积分"));

header.createCell(2).setCellValue(new

HSSFRichTextString("最后登录时间"));

int rowNum = 1;

for(User  user: userList){

HSSFRow row = sheet.createRow

(rowNum++);

row.createCell(0).setCellValue

(new HSSFRichTextString(user.getUserName()));

row.createCell(1).setCellValue

(user.getCredit());

String createDate  =

DateFormatUtils.format(user.getLastVisit(),"YYYY-MM-

dd");

row.createCell(2).setCellValue

(new HSSFRichTextString(createDate));

}

}

}

2.在前端控制器中添加一个相应的请求处理方法:

@Controller()

@RequestMapping("/user")

public class UserController {

@RequestMapping( "showUserListByXls")

public String showUserListInExcel(ModelMap mm) {

Calendar calendar = new GregorianCalendar();

List userList = new ArrayList();

User user1 = new User();

user1.setUserName("tom");

user1.setCredit(20);

calendar.set(1980, 1, 1);

user1.setLastVisit((calendar.getTime()));

User user2 = new User();

user2.setUserName("john");

user2.setCredit(10);

user2.setLastVisit(calendar.getTime());

userList.add(user1);

userList.add(user2);

mm.addAttribute("userList", userList);

return "userListExcel";

}

}

}

3.在xxx-servlet-xml中配置视图解析器:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值