java导出Excel表格

直接贴上代码

	/**
	 * 
	* @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里面即可。

最后上一张效果图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值