如何把sqlserver数据库中表的数据导入到excel中

来源:互联网 发布:线程池 java 实现 编辑:程序博客网 时间:2024/05/17 01:09
  • 用jxl,首先下载一个jxl.jar包
    然后自定义一个表,就是你要显示在excel里面的。比如
    编号,姓名,性别,地址....表里面的值要写死。比如
    1   编号
    2    姓名
    3  性别
    4  地址
    ...
    ...
    查出你要导入的信息,查出自定义表里面的信息
    调用下面的方法

        OutputStream os = response.getOutputStream();// 取得输出流
        response.reset();// 清空输出流
        response.setHeader("Content-disposition",
          "attachment;filename=Workreslist.xls");// 设定输出文件头
        response.setContentType("application/msexcel");// 定义输出类型
        ExcelsBean excelBean = new ExcelsBean();
        excelBean.expordExcel(os, arrylist, list);// 调用生成excel文件bean,list是查出要导入的内容,arrylist是自定义的表内容
    下面excelBean.expordExcel()这个方法是调用的一个jsp

    代码如下:


    package com.spk.yzoa.workres.util;

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

    import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;

    import com.spk.yzoa.workres.vo.*;

    public class ExcelsBean {
       public String expordExcel(OutputStream os, List arrylist, List list)    
       throws Exception {    

       WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件    
       WritableSheet wsheet = wbook.createSheet("第一页", 0); // sheet名称    
      // 设置excel标题    
        for(int i=0;i<4;i++)
      {   WorkresRow wagesrow=(WorkresRow)arrylist.get(i);
       wsheet.addCell(new Label(i, 0,wagesrow.getName()));  
       System.out.println("标题:"+wagesrow.getName());
      }    
       
      int num=list.size()/4;
     System.out.println("输出:"+num);
     for(int k=0;k<num;k++){
       for(int i=0;i<4;i++){
      wsheet.addCell(new Label(i,1+k,(String)list.get(i+k*4)));
      }
       
     }
      // 主体内容生成结束    
      wbook.write(); // 写入文件    
      wbook.close();    
      os.close();    
      return "success";    
    }    
0 0