java maven 导出excel_Java代码将数据导出Excel表格(Maven版本)

第一步,添加依赖:

org.apache.poi

poi

3.6

引入ExcelUtil 工具类:

public class ExcelUtil {

/**

* 导出Excel

* @param sheetName sheet名称

* @param title 标题

* @param values 内容

* @param wb HSSFWorkbook对象

* @return

*/

public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){

// 第一步,创建一个HSSFWorkbook,对应一个Excel文件

if(wb == null){

wb = new HSSFWorkbook();

}

// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet

HSSFSheet sheet = wb.createSheet(sheetName);

// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制

HSSFRow row = sheet.createRow(0);

// 第四步,创建单元格,并设置值表头 设置表头居中

HSSFCellStyle style = wb.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式

//声明列对象

HSSFCell cell = null;

//创建标题

for(int i=0;i

cell = row.createCell(i);

cell.setCellValue(title[i]);

cell.setCellStyle(style);

}

//创建内容

for(int i=0;i

row = sheet.createRow(i + 1);

for(int j=0;j

//将内容按顺序赋给对应的列对象

row.createCell(j).setCellValue(values[i][j]);

}

}

return wb;

}

}

在controller实现:

@RequestMapping(“/export”)

@ResponseBody

public void export(HttpServletRequest request, HttpServletResponse response) throws Exception {

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

//获取数据

List list = bsAuthUserService.queryAllBsAuthUser();//查询到了所有的用户

//excel标题

String[] title = {“用户Id”, “用户密码”, “用户名”, “创建日期”, “状态”};

//excel文件名

String fileName = “用户表” + System.currentTimeMillis() + “.xls”;

//sheet名

String sheetName = “用户信息表”;

String content[][] = new String[list.size()][title.length];

for (int i = 0; i < list.size(); i++) {

BsAuthUser obj = list.get(i);

content[i][0] = obj.getAuthUserId().toString();

content[i][1] = obj.getAuthPassword();

content[i][2] = obj.getAuthUsername();

content[i][3] = sdf.format(obj.getCreateDate());

content[i][4] = obj.getState().toString();

}

//创建HSSFWorkbook

HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title, content, null);

//响应到客户端

try {

this.setResponseHeader(response, fileName);

OutputStream os = response.getOutputStream();

wb.write(os);

os.flush();

os.close();

} catch (Exception e) {

e.printStackTrace();

}

}

//发送响应流方法

public void setResponseHeader(HttpServletResponse response, String fileName) {

try {

try {

fileName = new String(fileName.getBytes(), “ISO8859-1”);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

response.setContentType(“application/octet-stream;charset=ISO8859-1”);

response.setHeader(“Content-Disposition”, “attachment;filename=” + fileName);

response.addHeader(“Pargam”, “no-cache”);

response.addHeader(“Cache-Control”, “no-cache”);

} catch (Exception ex) {

ex.printStackTrace();

}

}

下载地址是浏览器的默认下载地址。

    原文作者:少读红楼
    原文地址: https://blog.csdn.net/weixin_32155269/article/details/114895206
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞