直接贴上代码
/**
*
* @Title: createExcel
* @Description: 传入属性值,生成Excel表格
* @author mzl
* @param entyList
* @param response
* @throws
*/
private static void createExcel(List<List<String[]>> entyList,HttpServletResponse response) {
// 创建一个Excel文件
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建一个工作表
HSSFSheet sheet = workbook.createSheet("文物列表信息");
// 设置单元格格式居中
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 1.生成字体对象
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short) 18);
font.setFontName("新宋体");
font.setColor(HSSFColor.RED.index);
font.setBoldweight((short) 0.8);
// 2.生成样式对象
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setFont(font);
// 添加数据内容
int i=0;
for(List<String[]> _enty:entyList){
HSSFRow hssfRow = sheet.createRow(i);
int j=0;
for(String[] entry : _enty){
// 创建单元格,并设置值
HSSFCell cell = hssfRow.createCell(j);
cell.setCellValue(entry[1]);//之前使用长度为2的数组来装值,第一个装字段名称、
第二个装字段值,故这里获取entry[1]的值
if(i==0){//设置第一行,每一个单元格的属性及表头属性名称
cell.setCellStyle(style);//设置表格样式
sheet.autoSizeColumn(j);//设置第几列
sheet.setColumnWidth(j,sheet.getColumnWidth(j)*17/10);//设置列宽
}else{
cell.setCellStyle(cellStyle);
}
j++;
}
i++;
}
try {
response.addHeader("Content-Type", "application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename="
+java.net.URLEncoder.encode("志愿者服务统计.xls", "UTF-8"));
ServletOutputStream out =response.getOutputStream();
workbook.write(out);
response.getOutputStream().flush();
response.getOutputStream().close();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
该功能实现用到了poi的jar包,相关jar包下载,或者直接maven下载即可。
POI简介:Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟。
官方主页http://poi.apache.org/index.html,
API文档http://poi.apache.org/apidocs/index.html
现在用的比较多的都是用POI技术来导出或者导入Excel,所以我们就用POI吧,用POI导出Excel我们首先要下载所需的jar包然后导入到我们的项目中,用maven的同学只需找到相关
依赖加入到pom.xml里面即可。
最后上一张效果图: