700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java导出excel 序号_java web将数据导出为Excel格式文件代码片段

java导出excel 序号_java web将数据导出为Excel格式文件代码片段

时间:2022-07-03 01:20:27

相关推荐

java导出excel 序号_java web将数据导出为Excel格式文件代码片段

本文实例为大家分享了java web将数据导出为Excel格式文件的具体代码,供大家参考,具体内容如下

1、jsp代码

2、js代码

function getVerExcel() {

window.location.href = '/pms/jsp/version/getPrdVerListExcel?page='

+ $("#getPage").html() + '&key=' + $("#select").val();

}

3、java代码

/**

*

* Purpose :将产品版本列表导出为Excel文件

* @param req

* 请求

* @param resp

* 应答

* @param page

* 当前页数

* @param key

* 查询条件

* @return

*/

@RequestMapping("getPrdVerListExcel")

public void getExcel(HttpServletRequest req, HttpServletResponse resp, Integer page, String key) {

// 设置文件的mime类型

resp.setContentType("application/vnd.ms-excel");

// 得到所有的数据

List verList = prdVersionSer.getAllPrdVersion(key);

// 若没有数据,则给用户提示

if (verList.size() == 0) {

req.setAttribute("getFileMsg", "没有符合条件的信息!");

req.setAttribute("select", key);

try {

req.getRequestDispatcher("/jsp/version/ver_list.jsp").forward(req, resp);

} catch (Exception e) {

e.printStackTrace();

}

} else {

// 存储编码后的文件名

String name = "name";

// 存储文件名称

String n = "";

if (key != "") {

n = verList.get(0).getPrdName() + "的版本列表";

} else {

n = "产品版本列表";

}

try {

name = URLEncoder.encode(n, "utf-8");

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

resp.setHeader("content-disposition",

"attachment;filename=" + name + ".xls;filename*=utf-8''" + name + ".xls");

System.out.println("key:" + key);

// 从session中删除saveExcelMsg属性

req.getSession().removeAttribute("saveExcelMsg");

// 定义一个输出流

ServletOutputStream sos = null;

// 创建一个工作簿

HSSFWorkbook wb = new HSSFWorkbook();

// 创建一个工作表

HSSFSheet sheet = null;

if (key != "") {

sheet = wb.createSheet(verList.get(0).getPrdName() + "的版本信息");

} else {

sheet = wb.createSheet("产品版本信息");

}

// 返回数据格式对象

// 从格式对象中获取对应日期格式的编号,如果格式不存在,该方法会为它生成新的编号

HSSFDataFormat format = wb.createDataFormat();

short dfNum = format.getFormat("yyyy-mm-dd");

// 创建样式对象

CellStyle style = wb.createCellStyle();

// 设置数据格式

style.setDataFormat(dfNum);

// 创建第一行(表格标题)

HSSFRow row = sheet.createRow(0);

HSSFCell cell = row.createCell(0, HSSFCell.CELL_TYPE_STRING);

if (key != "") {

cell.setCellValue(verList.get(0).getPrdName() + "的产品版本列表");

} else {

cell.setCellValue("产品版本列表");

}

// 创建第二行(表头)

row = sheet.createRow(1);

cell = row.createCell(0, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("序号");

cell = row.createCell(1, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("产品名称");

cell = row.createCell(2, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("版本号");

cell = row.createCell(3, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("发布日期");

cell = row.createCell(4, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("版本类型");

cell = row.createCell(5, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("版本描述");

int num = 1;

// 遍历输出verList中的数据,将其存入Excel中

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

row = sheet.createRow(i + 2);

// 写入序号

cell = row.createCell(0, HSSFCell.CELL_TYPE_NUMERIC);

cell.setCellValue(num);

num++;

// 写入产品名称

cell = row.createCell(1, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue(verList.get(i).getPrdName());

// 写入版本号

cell = row.createCell(2, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue(verList.get(i).getVerNo());

// 写入发布日期(日期格式做处理)

cell = row.createCell(3, HSSFCell.CELL_TYPE_STRING);

// 将样式应用于单元格

cell.setCellStyle(style);

cell.setCellValue(verList.get(i).getVerDate());

// 写入版本类型

cell = row.createCell(4, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue(verList.get(i).getVerType());

// 写入版本描述

cell = row.createCell(5, HSSFCell.CELL_TYPE_STRING);

cell.setCellValue(verList.get(i).getVerDesc());

}

try {

// 保存到文件中

sos = resp.getOutputStream();

wb.write(sos);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (sos != null) {

try {

sos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。