1.JAR包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
2.jsp
<script type="text/javascript">
function dc() {
location.href = "/exceldc.do";
}
</script>
<input type="button" value="excel导出" οnclick="dc()">
<table>
<tr>
<td>用户名</td>
<td>密码</td>
<td>地址</td>
</tr>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.username}</td>
<td>${user.pwd}</td>
<td>${user.imageaddress}</td>
</tr>
</c:forEach>
</table>
3.JAVA
package com.ss.test.mixtrue;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.skd.ems.register.RegService;
import com.skd.ems.register.Register;
@Controller
public class ExcelTest {
@Resource
private RegService regservice;
@RequestMapping("/exceldc.do")
public void exceldc(HttpServletResponse response,Register register){
//创建excel文档对象
HSSFWorkbook workbook = new HSSFWorkbook();
//创建excel表单对象
HSSFSheet hssfSheet= workbook.createSheet("用户表");
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
HSSFRow row1 = hssfSheet.createRow(0);
//创建单元格
HSSFCell cell=row1.createCell(0);
//设置单元格内容
cell.setCellValue("用户信息统计");
//合并单元格cellRangeAddrss构造参数依次表示起始行,截止行,起始列,截止列
hssfSheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
//创建第一行
HSSFRow row2=hssfSheet.createRow(1);
//设置单元格数据
row2.createCell(0).setCellValue("用户名");
row2.createCell(1).setCellValue("密码");
row2.createCell(2).setCellValue("地址");
//调用service查找数据
List<Register> reg=regservice.find(register);
for(int i =2;i<reg.size();i++){
HSSFRow row=hssfSheet.createRow(i);
row.createCell(0).setCellValue(reg.get(i).getUsername());
row.createCell(1).setCellValue(reg.get(i).getPwd());
row.createCell(2).setCellValue(reg.get(i).getImageaddress());
}
//输出Excel文件
try {
OutputStream output = response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename=details.xls");
response.setContentType("application/msexcel");
workbook.write(output);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}