用于一个演示的小demo,提供一种数据导出的一种思路。
通过自己进行自定义的几个数据进行的测试。
前台代码:
<table border="0" style="margin-top:4px; margin-left: 18px">
<tr>
<td><a href="#" class="easyui-linkbutton" onclick="downloadfile();">数据导出</a></td>
</tr>
</table
后台代码:
@RequestMapping(value = "UserExcelDownloads", method = RequestMethod.GET)
public void testDownload(HttpServletResponse res) {
String filename="user";
res.setHeader("content-type", "application/octet-stream");
res.setContentType("application/octet-stream");
res.setHeader("Content-Disposition", "attachment;filename="+filename+".xls"); //设置文件名
res.setCharacterEncoding("UTF-8");
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("学生表一");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
//style.setAlignment(); // 创建一个居中格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("学号");
cell.setCellStyle(style);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
List<Teacher> teacherinfor=teacherservice.teacherinfor();
List list = new ArrayList();
list.add(123);
list.add(23);
list.add(45);
list.add(567);
// list.add(teacherinfor.get(0));
System.out.println("文件下载得到的数据信息"+teacherinfor.get(0));
for (int i = 0; i < list.size(); i++)
{
row = sheet.createRow((int) i + 1);
// 第四步,创建单元格,并设置值
row.createCell((short) 0).setCellValue((int)list.get(i));
}
// 第六步,将文件存到指定位置
try
{
OutputStream os = res.getOutputStream();
wb.write(os);
os.close();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("success");
}
一边完整的数据导出代码可见博主另一篇博客:
http://blog.csdn.net/wilson_m/article/details/79021458