在做导出excel的时候,我发现了一个问题 客户端点导出按钮,把导出的东西都导在了服务器端的C盘而不是客户端的c盘,所以想问问大家应该怎么改这段代码。谢谢大家 ,请踊跃参与。String fileName = "c:/"+new Date().getTime()+".xls";//导出excel的路径
//抬头固定
        ExpLib p1=new ExpLib("exp_id", "exp_name", "exp_sex", "exp_college", "exp_educational", "exp_workplace", "exp_telephone", "exp_address", "exp_resources", "exp_wastetype", "exp_newproduct", "exp_addrdetail", "exp_special", "exp_professional", "exp_newproductname", "exp_prodescription", "exp_no","exp_type");
        Vector<ExpLib> content = new Vector<ExpLib>();//新建一个vector的集合 长度不限
        content.add(p1);     //将抬头放入集合里
        Map map=new HashMap();
WritableWorkbook wwb;
        FileOutputStream fos;
        try {    
         List<ExpLib> explibs=expLibService.selectByMap(map);
         for (ExpLib expLib : explibs) {
         if ("1".equals(expLib.getExp_sex())) {
         expLib.setExp_sex("男");
}else if ("2".equals(expLib.getExp_sex())) {
expLib.setExp_sex("女");
}{
expLib.setExp_sex("不男不女");
}
         ExpLib p=new ExpLib(expLib.getExp_id(), expLib.getExp_name(), expLib.getExp_sex(), expLib.getExp_college(), expLib.getExp_educational(), expLib.getExp_workplace(), expLib.getExp_telephone(), expLib.getExp_address(), expLib.getExp_resources(), expLib.getExp_wastetype(), expLib.getExp_newproduct(), expLib.getExp_addrdetail(), expLib.getExp_special(), expLib.getExp_professional(), expLib.getExp_newproductname(), expLib.getExp_prodescription(), expLib.getExp_no(),expLib.getExp_type());
        
         content.add(p);     
         }
            fos = new FileOutputStream(fileName);
            wwb = Workbook.createWorkbook(fos);
            WritableSheet ws = wwb.createSheet("专家表", 10);        // 创建一个工作表            //    设置单元格的文字格式
            WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
                    UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
            WritableCellFormat wcf = new WritableCellFormat(wf);
            wcf.setVerticalAlignment(VerticalAlignment.CENTRE); 
            wcf.setAlignment(Alignment.CENTRE); 
            ws.setRowView(0, 0);
            ws.setColumnView(0, 50);
            ws.setColumnView(1, 50);
            ws.setColumnView(2, 50);
            ws.setColumnView(3, 50);
            ws.setColumnView(4, 50);
            ws.setColumnView(5, 50);
            ws.setColumnView(6, 50);
            ws.setColumnView(7, 50);
            ws.setColumnView(8, 50);
            ws.setColumnView(9, 50);
            ws.setColumnView(10, 50);
            ws.setColumnView(11, 50);
            ws.setColumnView(12, 50);
            ws.setColumnView(13, 50);
            ws.setColumnView(14, 50);
            ws.setColumnView(15, 50);
            ws.setColumnView(16, 50);
            ws.setColumnView(17, 50);
            ws.setColumnView(18, 50);            //    填充数据的内容
            ExpLib[] p = new ExpLib[content.size()];
            for (int i = 0; i < content.size(); i++){
                p[i] = (ExpLib)content.get(i);
                ws.addCell(new Label(0, i + 1, p[i].getExp_id(), wcf));
                ws.addCell(new Label(1, i + 1, p[i].getExp_name(), wcf));
                ws.addCell(new Label(2, i + 1, p[i].getExp_sex(), wcf));
                ws.addCell(new Label(3, i + 1, p[i].getExp_college(), wcf));
                ws.addCell(new Label(4, i + 1, p[i].getExp_educational(), wcf));
                ws.addCell(new Label(5, i + 1, p[i].getExp_workplace(), wcf));
                ws.addCell(new Label(6, i + 1, p[i].getExp_telephone(), wcf));
                ws.addCell(new Label(7, i + 1, p[i].getExp_address(), wcf));
                ws.addCell(new Label(8, i + 1, p[i].getExp_resources(), wcf));
                ws.addCell(new Label(9, i + 1, p[i].getExp_wastetype(), wcf));
                ws.addCell(new Label(10, i + 1, p[i].getExp_newproduct(), wcf));
                ws.addCell(new Label(11, i + 1, p[i].getExp_addrdetail(), wcf));
                ws.addCell(new Label(12, i + 1, p[i].getExp_special(), wcf));
                ws.addCell(new Label(13, i + 1, p[i].getExp_professional(), wcf));
                ws.addCell(new Label(14, i + 1, p[i].getExp_newproductname(), wcf));
                ws.addCell(new Label(15, i + 1, p[i].getExp_prodescription(), wcf));
                ws.addCell(new Label(16, i + 1, p[i].getExp_no(), wcf));
                ws.addCell(new Label(17, i + 1, p[i].getExp_type(), wcf));
                if(i == 0)
                    wcf = new WritableCellFormat();
            }
           
            wwb.write();
            wwb.close();
            System.out.println("成功导出数据到Excel文件(" + fileName + ")了!!!");
       
        } catch (Exception e){}
   }Excel

解决方案 »

  1.   

    web导出吗?是的话,把输出流发送给客户端呗!
      

  2.   

    // 新建一输出文件流
    FileOutputStream fOut = new FileOutputStream(file);
    // 把相应的Excel 工作簿存盘
    workbook.write(fOut);
    fOut.flush();
    // 操作结束,关闭文件
    fOut.close();变量workbook是你创建的excel,file是路径就可以保存到本地磁盘中了
      

  3.   

    我导出excel用的是poi,如果想用poi我有例子