疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java导出Excel表分析


 

    最近写的一个小程序:

  需求:遍历数据库的数据,然后生成Excel表 ,导出数据(利用jxl.jar包)

  有兴趣的同学可以参考一下(其他同事介绍使用poi.jar,但没试过,听说比jxl.jar好)

  ////生成excel表

  @RequestMapping(value="/xixi/xuan/createExcel",method={RequestMethod.GET,RequestMethod.POST})

  public String createExcel(HttpServletRequest request,HttpServletResponse response) throws IOException, RowsExceededException, WriteException{

  OutputStream os = response.getOutputStream();

  ParamUtil pu = new ParamUtil(request);

  String qid=pu.getString("qid");

  String fileName="VisitorData";

  response.setContentType("application/vnd.ms-excel");

  response.addHeader("Content-Disposition", "attachment;filename="" + fileName + ".xls" + """);

  List list=quserInfoRecordService.findQuserInfoRecord(qid);

  if(list.size()>0){

  /* String excelPath = "D:\data.xls";

  File excelFile = new File(excelPath);

  if (!excelFile.exists()) {

  excelFile.createNewFile();

  }*/

  System.out.println("=====kaisi");

  ///打开文件

  WritableWorkbook book = Workbook.createWorkbook(os);

  ///生成一个名为"用户信息"的工作表

  WritableSheet ws= book.createSheet(fileName, 0); //新建一个sheet

  //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)

  //以及单元格内容为test

  //Label label=new Label(0,0,"test");

  //往表中添加内容

  //将定义好的单元格添加到工作表中

  JSONArray jsonArray=JSONArray.fromObject(list.get(0).getExt());

  int lenght=jsonArray.size();

  WritableCellFormat wcf = null;

  //字体样式

  WritableFont wf = new WritableFont(WritableFont.TIMES,12, WritableFont.BOLD,false);//最后一个为是否italic

  wf.setColour(Colour.BLACK);

  wcf = new WritableCellFormat(wf);

  //对齐方式

  wcf.setAlignment(Alignment.CENTRE);

  wcf.setVerticalAlignment(VerticalAlignment.CENTRE);

  //边框

  wcf.setBorder(Border.ALL,BorderLineStyle.THIN);

  for(int i=0;i