POI导出Excel使用教程

将数据导出为Excel文件是大家常用到的功能,下面介绍如何使用POI导出Excel

<span style="font-size:14px;">/**
 * @param ctx
 * @param path excel模板文件绝对路径
 * @param fileName excel文件名
 * @param out			
 * @param datas 要导出的数据集合
 * @param startRow 从第几行开始写excel
 * @param startCell 从第几列开始写excel
 */
public static void generateGroupMember(ServletContext ctx,String path, String fileName, Response response,
			String[][] datas, int startRow, int startCell) {
    
    String realName = new String(fileName.getBytes,"ISO8859-1");
    
    //设置response头信息            
    response.contentType = "text/plain";
    response.setHeader("Content-Disposition", "attachment; filename=" + realName );
    
    OutputStream out = null;
    
    try {
        //获取工作簿
        HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(path));
        //获取工作表
        HSSFSheet sheet = wb.getSheetAt(0);
        //设置单元格样式
        HSSFCellStyle cellStyle = workbook.createCellStyle();
        //设置单元格边框为实线
        cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
		cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
		cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
		cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
        //指定单元格居中对齐
		cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); 
        //指定单元格垂直居中对齐
		cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        //指定单元格自动换行
		cellStyle.setWrapText(true);
        //设置字体
		HSSFFont font = wb.createFont();
        font.setColor(HSSFColor.BLACK.index);
		font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
		font.setFontName("黑体");
		font.setFontHeightInPoints((short)11);
		cellStyle.setFont(font);
        //循环写入数据
        for(int i=0;i<datas.length;i++){
            //创建行
            HSSFRow row = sheet.createRow(i + startRow);
            for(int j=0;j<datas[i].length;j++){
                //创建单元格
                HSSFCell cell = row.createCell(j + startCell);
                cell.setCellValue(datas[i][j]);
                cell.setCellStyle(cellstyle);
            }
            //设置行高20:1
            row.setHeight((short)400);
        }
        
        out = response.getOutputStream();
        workbook.write();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}</span>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值