Java实现Excel导出数据

来源:互联网 发布:撤销资阳市知乎 编辑:程序博客网 时间:2024/05/22 13:06

首先设置响应头,让用户选择保存地址

(其他参数,HttpServletRequest request,HttpServletResponse response)
设置响应,字符集

String fileName ="普通人员信息表";
response.setContentType("application/vnd.ms-excel;charset=utf-8");  
response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".xls").getBytes(), "iso-8859-1")); 


创建可写入的工作空间

OutputStream os = response.getOutputStream();   
WritableWorkbook wwb = null;

wwb = Workbook.createWorkbook(os);
WritableSheet ws = wwb.createSheet("普通人员信息表", 0);


拿到需要导出的数据

List<User> list= userService.exportUserBy_User_type(user_type_com);


将表头名字写入到Excel,默认从0开始

Label labelName= new Label(0, 0, "用户名");
Label user_type= new Label(1, 0, "用户类型");

ws.addCell(user_birth);
ws.addCell(user_native);


将数据写入

for (int i = 0; i < list.size(); i++) {
                //string后加""空格,int类型转换toString();
                Label labelName_i=new Label(0, i+1, list.get(i).getUser_name()+"");
                Label user_type_i= new Label(1, i+1, list.get(i).getUser_type().toString());
                ws.addCell(labelName_i);
                ws.addCell(user_type_i);
 写进文档
wwb.write();       


就可以啦,这是我个人的写法,分享出来,可能有不足,欢迎留言

对了需要处理异常哦(IOException)

原创粉丝点击