poi操作生成表


简单例子:
package cn.xd.servlet;


import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import cn.xd.bean.Student;

public class PoiServlet extends HttpServlet {
  
   
    public voidcreateSheet(List listStudent,OutputStream outputStream){
       HSSFWorkbookhssfWorkbook = new HSSFWorkbook();//创建文档对象
       HSSFSheethssfSheet = hssfWorkbook.createSheet("new Sheet");
      hssfWorkbook.setSheetName(0, "学生信息表");
       HSSFRowhssFRow = hssfSheet.createRow((short)0);
      hssfSheet.createFreezePane(0, 1);
      createCell(hssfWorkbook,hssFRow,(short)0,"学生编号");
      createCell(hssfWorkbook,hssFRow,(short)1,"学生姓名");
      createCell(hssfWorkbook,hssFRow,(short)2,"学生类型");
      createCell(hssfWorkbook,hssFRow,(short)3,"学生电话");
       for(inti=1;i
          HSSFRowhssfRow2 = hssfSheet.createRow((short)i);//第几行?
         createCell(hssfWorkbook,hssfRow2,(short)0,listStudent.get(i-1).getId());
         createCell(hssfWorkbook,hssfRow2,(short)1,listStudent.get(i-1).getName());
         createCell(hssfWorkbook,hssfRow2,(short)2,listStudent.get(i-1).getType());
         createCell(hssfWorkbook,hssfRow2,(short)3,listStudent.get(i-1).getPhone());
       }
       try {
         hssfWorkbook.write(outputStream);
         outputStream.flush();
         outputStream.close();
         System.out.println("success");
       } catch(IOException e) {
         
         e.printStackTrace();
       }
    }
   
    public voidcreateCell(HSSFWorkbook hssfWorkbook,HSSFRow hssFRow,shortcols,String val){
       HSSFCellcell= hssFRow.createCell(cols);//设置第几行第几个单元格
      cell.setCellValue(val);//把数据放入单元格
      HSSFCellStyle cellStyle =hssfWorkbook.createCellStyle();//设置单元格格式
      cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);//格式自适应
      cell.setCellStyle(cellStyle);//把格式放入单元格中
    }
   @Override
    protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp)
          throwsServletException, IOException {
       ListlistStudent = new ArrayList();
      listStudent.add(new Student("1", "lisi",";
      listStudent.add(new Student("2", "zhangsan","php工程师","1238473284"));
      listStudent.add(new Student("3", "wangwu","前端工程师","732023234"));
      listStudent.add(new Student("4", "lisi", "教授","1561139"));
      listStudent.add(new Student("5", "lisi","地质专家","15748291139"));
       //文件名字
       StringfileName = "StudentInfo";
       OutputStreamoutputStream = resp.getOutputStream();
      //这里面要把输出流内部置空一下
      resp.reset();
      //设置输出文件头信息
      resp.setHeader("Content-disposition","attachement;filename="+fileName+".xls");
      createSheet(listStudent,outputStream);
    }

   @Override
    protectedvoid doPost(HttpServletRequest req, HttpServletResponse resp)
          throwsServletException, IOException {
      doGet(req,resp);
    }
   

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值