zoukankan      html  css  js  c++  java
  • java用jxl实现导出execl表格

    //先将需要导出的数据放到list中

    //然后将list中的数据放到execl表中

     1 @RequestMapping(params="exportExecl")
     2     public String exportExecl( HttpServletRequest request) throws IOException{
     3         List<Lanmu> list=new ArrayList<Lanmu>();
     4         list=lanmuBiz.findLmxx();
     5         int sure = ExcelUtils.createExcel(list,request);//生成execl
     6         if(sure==200){
     7             File file=new File("F://myeclipse+tomcat+jdk//apache-tomcat-7.0.26//webapps//Manage_ssm//exportLanmuExcel");
     8             Desktop.getDesktop().open(file);//打开文件所在位置
     9             return "redirect:lmxx.do?findLmxx";
    10             
    11         }else{
    12             return "view/luntan/errorExcel";
    13         }
    14     }
    15     
     1 public class ExcelUtils {
     2     
     3     private static final int SUCCESS = 200;
     4     private static final int FAIL = 500;
     5     
     6     public static int createExcel(List<Lanmu> list, HttpServletRequest req) {
     7         try {
     8             String path = "/exportLanmuExcel";
     9             path = req.getSession().getServletContext().getRealPath(path);
    10     
    11             File file  = new File(path);
    12             if(!file.exists()){
    13                 file.mkdirs();
    14             }
    15             OutputStream os = new FileOutputStream(path + "/" + "lanmuList" + ".xls");
    16             //创建工作薄
    17             WritableWorkbook workbook = Workbook.createWorkbook(os);
    18             //创建新的一页
    19             WritableSheet sheet = workbook.createSheet("First Sheet", 0);
    20             //构造表头
    21             sheet.mergeCells(0, 0, 2, 0);//添加合并单元格,第一个参数是起始列,第二个参数是起始行,第三个参数是终止列,第四个参数是终止行
    22             WritableFont bold = new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD);//设置字体种类和黑体显示,字体为Arial,字号大小为10,采用黑体显示
    23             WritableCellFormat titleFormate = new WritableCellFormat(bold);//生成一个单元格样式控制对象
    24             titleFormate.setAlignment(jxl.format.Alignment.CENTRE);//单元格中的内容水平方向居中
    25             titleFormate.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//单元格的内容垂直方向居中
    26             Label title = new Label(0,0,"lanmuList",titleFormate);
    27             sheet.setRowView(0, 600, false);//设置第一行的高度
    28             sheet.addCell(title);           
    29             //设置每一列的宽度
    30             for(int i=0;i<=2;i++){
    31                  sheet.setColumnView(i, 15);
    32             }
    33      
    34             //创建要显示的具体内容
    35             WritableFont color = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//选择字体
    36             WritableCellFormat colorFormat = new WritableCellFormat(color);
    37             Label a1 = new Label(0,1,"序号",colorFormat);
    38             sheet.addCell(a1);
    39             Label a2 = new Label(1,1,"栏目名称",colorFormat);
    40             sheet.addCell(a2);
    41             Label a3 = new Label(2,1,"栏目状态",colorFormat);
    42             sheet.addCell(a3);
    43            
    44             //获取数据,将数据赋值到execl表格中
    45             for (int i = 2; i < list.size()+2; i++) {
    46                 Lanmu ap = list.get(i-2);
    47                 int xh = i-2; 
    48                 String name = ap.getName(); 
    49                 String state=ap.getState();
    50                 if("1".equals(state)){
    51                     state = "普通用户栏目";
    52                 }else{
    53                     state = "管理员栏目";
    54                 }
    55     
    56                 // 创建第一个sheet
    57                 Label b1 = new Label(0,i,xh+"");
    58                 sheet.addCell(b1);
    59                 Label b2 = new Label(1,i,name);
    60                 sheet.addCell(b2);
    61                 Label b3 = new Label(2,i,state);
    62                 sheet.addCell(b3);
    63               
    64             
    65             }
    66             //把创建的内容写入到输出流中,并关闭输出流
    67             workbook.write();
    68             workbook.close();
    69             os.close();
    70             return SUCCESS;
    71         } catch (Exception e) {
    72             e.printStackTrace();
    73             return FAIL;
    74         }
    75         
    76     }
    77 
    78 }
  • 相关阅读:
    UML总结4---UML九种图关系说明
    TCP/IP学习笔记__mbuf
    操作系统内存管理之 内部碎片vs外部碎片
    校园招聘面试-操作系统知识总结 分看点三
    操作系统常见面试题总结 分看点二
    操作系统之面试常考 分看点一
    操作系统基础知识总结(二)
    操作系统基础知识总结(一)
    Java HashMap的扩容
    linux查看端口被占用情况
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/6952614.html
Copyright © 2011-2022 走看看