Spring+struts2+hibernate框架的Java Web项目利用POI导出Excel简单例子
2017-11-28 10:59
891 查看
在开始编写之前,小猿要先导入POI的jar包哟~~
POI介绍
Apache POI是Apache软件基金会的开放源码函式库,是用Java编写的免费开源的跨平台的 Java
API,POI提供API给Java程序对Microsoft
Office格式档案进行各种操作。
POI主要用到的类有HSSFWorkbook、HSSFSheet、HSSHRow、HSSFCell,HSSFWorkbook是Excel文件对象、HSSFSheet是Excel文件内的分页sheet对象、HSSHRow是行对象、HSSFCell是单元格对象,它们都在org.apache.poi.hssf.usermodel这个package里面。
1、UserAction代码如下 :
/**
* 把数据导入到服务器并下载下来
* @throws Exception
*/
public String exportExcel() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
List<User> list = userService.findAll();//查询所有用户信息
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-disposition", "attachment;filename=user.xls");
response.setCharacterEncoding("utf-8");
HSSFWorkbook wb = userService.export(list);
OutputStream ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
ouputStream.close();
return null;
}
2、UserService代码如下:
/**
* 导出Excel格式的数据
* @param list
* @return
*/
public HSSFWorkbook export(List<User> list) {
String[] excelHeader = { "用户ID","级别权限", "用户名", "用户密码", "手机号码", "住址"};
// 单元格列宽
int[] excelHeaderWidth = { 100, 120, 120, 120, 120, 200};
// 创建一个Excel表格
HSSFWorkbook wb = new HSSFWorkbook();
// 创建一个工作表格(sheet)
HSSFSheet sheet = wb.createSheet("用户列表");
// 创建行
HSSFRow row = sheet.createRow(0);
//
HSSFCellStyle style = wb.createCellStyle();
// 设置居中样式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
// 设置列宽度(像素)
for (int i = 0; i < excelHeaderWidth.length; i++) {
sheet.setColumnWidth(i, 32 * excelHeaderWidth[i]);
}
// 添加表格头
for (int i = 0; i < excelHeader.length; i++) {
// 创建单元格
HSSFCell cell = row.createCell(i);
cell.setCellValue(excelHeader[i]);
cell.setCellStyle(style);
}
// 添加数据 用户ID","级别权限", "用户名", "用户密码", "手机号码", "住址
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
User user = list.get(i);
row.createCell(0).setCellValue(user.getUid());
row.createCell(1).setCellValue(user.getDictCustLevel().getDname());
row.createCell(2).setCellValue(user.getUsername());
row.createCell(3).setCellValue(user.getPassword());
row.createCell(4).setCellValue(user.getPhoneNumber());
row.createCell(5).setCellValue(user.getAddress());
}
return wb;
}
3、UserDao代码:
// 查询所有数据
public List<User> findAll();
4、UserDaoImpl实现代码:
public List<User> findAll() {
List<User> list = (List<User>) this.getHibernateTemplate().find("from User");
return list;
}
5、前台的Javascript代码:
<script type="text/javascript">
function exportExcel(){
location.href="${pageContext.request.contextPath }/user_exportExcel.action";
}
</script>
6、大功告成,如果有什么疑问,在这里提问,乐意为你解决~~
POI介绍
Apache POI是Apache软件基金会的开放源码函式库,是用Java编写的免费开源的跨平台的 Java
API,POI提供API给Java程序对Microsoft
Office格式档案进行各种操作。
POI主要用到的类有HSSFWorkbook、HSSFSheet、HSSHRow、HSSFCell,HSSFWorkbook是Excel文件对象、HSSFSheet是Excel文件内的分页sheet对象、HSSHRow是行对象、HSSFCell是单元格对象,它们都在org.apache.poi.hssf.usermodel这个package里面。
1、UserAction代码如下 :
/**
* 把数据导入到服务器并下载下来
* @throws Exception
*/
public String exportExcel() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
List<User> list = userService.findAll();//查询所有用户信息
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-disposition", "attachment;filename=user.xls");
response.setCharacterEncoding("utf-8");
HSSFWorkbook wb = userService.export(list);
OutputStream ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
ouputStream.close();
return null;
}
2、UserService代码如下:
/**
* 导出Excel格式的数据
* @param list
* @return
*/
public HSSFWorkbook export(List<User> list) {
String[] excelHeader = { "用户ID","级别权限", "用户名", "用户密码", "手机号码", "住址"};
// 单元格列宽
int[] excelHeaderWidth = { 100, 120, 120, 120, 120, 200};
// 创建一个Excel表格
HSSFWorkbook wb = new HSSFWorkbook();
// 创建一个工作表格(sheet)
HSSFSheet sheet = wb.createSheet("用户列表");
// 创建行
HSSFRow row = sheet.createRow(0);
//
HSSFCellStyle style = wb.createCellStyle();
// 设置居中样式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直居中
// 设置列宽度(像素)
for (int i = 0; i < excelHeaderWidth.length; i++) {
sheet.setColumnWidth(i, 32 * excelHeaderWidth[i]);
}
// 添加表格头
for (int i = 0; i < excelHeader.length; i++) {
// 创建单元格
HSSFCell cell = row.createCell(i);
cell.setCellValue(excelHeader[i]);
cell.setCellStyle(style);
}
// 添加数据 用户ID","级别权限", "用户名", "用户密码", "手机号码", "住址
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
User user = list.get(i);
row.createCell(0).setCellValue(user.getUid());
row.createCell(1).setCellValue(user.getDictCustLevel().getDname());
row.createCell(2).setCellValue(user.getUsername());
row.createCell(3).setCellValue(user.getPassword());
row.createCell(4).setCellValue(user.getPhoneNumber());
row.createCell(5).setCellValue(user.getAddress());
}
return wb;
}
3、UserDao代码:
// 查询所有数据
public List<User> findAll();
4、UserDaoImpl实现代码:
public List<User> findAll() {
List<User> list = (List<User>) this.getHibernateTemplate().find("from User");
return list;
}
5、前台的Javascript代码:
<script type="text/javascript">
function exportExcel(){
location.href="${pageContext.request.contextPath }/user_exportExcel.action";
}
</script>
6、大功告成,如果有什么疑问,在这里提问,乐意为你解决~~
相关文章推荐
- Excel导出学习之道:Java Web利用POI导出Excel简单例子
- Java Web利用POI导出Excel简单例子
- 【Java】【SSH】Web 开发经典框架Spring+Struts+Hibernate官方网站下载地址
- java 项目利用POI导出excel总结
- Java Web利用POI导出Excel简单例子
- Java Web利用POI导出Excel简单例子
- Java Web利用POI导出Excel简单例子
- java web框架 spring+spring mvc+mybatis/hibernate项目总结(1)
- javaweb 利用poi 导出excel
- spring+springmvc+hibernate利用poi实现导出Excel功能
- Java Web利用POI导出Excel简单例子
- Java Web利用POI导出Excel简单例子
- Java Web利用POI导出Excel简单例子
- JavaWeb 利用POI实现前端数据到Excel导出
- Java Web利用POI导出Excel简单例子
- 基于SSH2框架的Web项目开发(Java)之一SHH2基本框架(Struts2+Hibernate)
- Java高手真经. 应用框架卷:Java Web核心框架:Struts 1+Struts 2+Spring+Hibernate+iBATIS (china-pub 首发)
- JAVA_WEB项目之Struts2、Spring和Hibernate三大框架的整合
- 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)