关闭

Java导出Excel表

标签: excel数据
1543人阅读 评论(0) 收藏 举报
分类:



最近写的一个小程序:

     需求:遍历数据库的数据,然后生成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<QuserInfoRecord> 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<list.size();i++){
              
              JSONArray  jsonlist=JSONArray.fromObject(list.get(i).getExt());
              
              Label label11=new Label(0, 0, "日期",wcf);
              ws.setColumnView(0,20);
              ws.addCell(label11);
              Label label1=new Label(0, i+1, list.get(i).getDate());
              ws.addCell(label1);
              
              Label label12=new Label(1, 0, "来源标题",wcf);
              ws.setColumnView(1,30);
              ws.addCell(label12);
              Label label2=new Label(1, i+1, list.get(i).getSourcetitle());
              ws.addCell(label2);
              
              Label label13=new Label(2, 0, "页面链接",wcf);
              ws.setColumnView(2,50);
              ws.addCell(label13);
              Label label3=new Label(2, i+1, list.get(i).getUserhref());
              ws.addCell(label3);
              
              Label label14=new Label(3, 0, "IP来源",wcf);
              ws.setColumnView(3,20);
              ws.addCell(label14);
              Label label4=new Label(3, i+1, list.get(i).getIp());
              ws.addCell(label4);
              
            for(int j=0; j<lenght; j++){
                JSONObject jsonObject=JSONObject.fromObject(jsonlist.getString(j));
                Label label15=new Label(j+4, 0, jsonObject.getString("name"),wcf);
                ws.setColumnView(j+4,20);
                ws.addCell(label15);
                Label label=new Label(j+4, i+1, jsonObject.getString("value"));
                 ws.addCell(label);
              }
          }
            
            
          //写入数据并关闭文件
            //将数据写入所建的excel
            book.write();
            book.close();
            os.close();
            response.flushBuffer();
        }
  
        return null;
    }


9
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

关于jxl写入特殊字符问题

关于jxl写入特殊字符问题
  • chenyi8888
  • chenyi8888
  • 2011-02-12 13:47
  • 1268

java使用Workbook进行excel读取和创建

public static void main(String[] args) throws Exception { //输入流。a.xls为要读取的excel文件名,不可为xlsx后缀...
  • u012012240
  • u012012240
  • 2016-12-29 16:05
  • 4331

caffe实现多label输入(修改源码版)

在我的上一篇博客中caffe实现多标签输入中,介绍了用把图像和label分来,各自做成lmdb,最后把label的lmdb用slice层分开,这篇博客介绍另一种修改源码的方法实现多label,比其他博...
  • u013010889
  • u013010889
  • 2017-01-19 11:43
  • 4036

.NET MVC5自带模板方法功能解析(2)

.NET MVC5自带模板方法功能解析(2)
  • qq_34149805
  • qq_34149805
  • 2016-11-07 17:10
  • 1105

Magento给产品添加“new”或者折扣数量标签 magento new label. discount label

文章最底部有效果图。 给新产品添加“new”的标签。给折扣产品,显示出折扣的数量。 这个可以自己写一段代码加在到模板文件夹下面的catalog/product/list.phtml中。 以下是代码...
  • tanmaoxian
  • tanmaoxian
  • 2013-06-21 15:57
  • 1470

java实现导入导出Excel表

  • 2017-11-02 09:18
  • 38.36MB
  • 下载

java数据导出到Excel表包POI

  • 2011-01-24 22:59
  • 18.52MB
  • 下载

SuperMap Objects Java数据集导出为Excel表文件

  • 2017-12-07 15:39
  • 2.02MB
  • 下载

java操作并导出excel表实例

  • 2014-11-24 10:40
  • 4.08MB
  • 下载

Java 实现导出excel表 POI所需包

  • 2017-06-22 22:59
  • 10.85MB
  • 下载
    个人资料
    • 访问:934613次
    • 积分:13468
    • 等级:
    • 排名:第1120名
    • 原创:411篇
    • 转载:23篇
    • 译文:5篇
    • 评论:188条
    我的联系方式
    企鹅: 991433544
    QQ:212553177
    博客专栏
    最新评论