我的资源里有个 java 解析 excel 源码,还有个 excel 文件导入数据库源码,楼主去看看,参考下

解决方案 »

  1.   

    <p>成功生成终表,现在<a href="D:/result.xls">下载</a></p>这个链接不这么写。例如你jsp中生成xls文件后存储到 web 应用的某目录下,例如 webTest 工程的 xls 文件夹下。那么上面的链接给客户应该是网络上可以访问的路径:http://你的域名/webTest/xls/result.xls 这样他就可以在Internet上直接下载下来了。
      

  2.   

          jsp java beans 内容是在服务器端完成的,要是想直接下载到本地,你可以在下载页面的body 里加个自动打开的功能,这样在你转向到下载页面时同时在服务器端生成,然后自动打开链接,就实现了
      

  3.   

    WritableWorkbook wb = Workbook.createWorkbook(new File("D:/result.xls")); 看看代码就知道了,当然是服务器的D盘了。呵呵!你应该用Stream的方式,发送给客户端,去看看java实现下载的代码吧!
      

  4.   

    // 导出Excel
    public ActionForward doOpenExcel(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response
    ){

    try{
    //创建导入格式表文件
    OutputStream os=response.getOutputStream();
    // 清空输出流
    response.reset();
    // 设置响应头和下载保存的文件名
    response.setHeader("content-disposition",
    "attachment;filename=bianyikaxinxi.xls");
    // 定义输出类型
    response.setContentType("APPLICATION/msexcel");
    WritableWorkbook wwb=Workbook.createWorkbook(os);
    WritableSheet ws =wwb.createSheet("编译卡信息",10);
    // 设置部分列的宽度
    ws.setColumnView(1, 20);
    ws.setColumnView(2, 20);
    ws.setColumnView(3, 20);
    ws.setColumnView(4, 20);
    ws.setColumnView(6, 35);
    // 设置表头
    ws.addCell(new Label(0,0,"卡号"));
    ws.addCell(new Label(1,0,"卡型号"));
    ws.addCell(new Label(2,0,"工种"));
    ws.addCell(new Label(3,0,"姓名"));
    ws.addCell(new Label(4,0,"班组"));
    ws.addCell(new Label(5,0,"卡状态"));
    ws.addCell(new Label(6,0,"注册时间"));

    List list = (ArrayList)request.getSession().getAttribute("editCard_topPrint");
    // 填充数据
    if(list.size()>0){
    for(int i=0;i<list.size();i++){
    EditCardVO  v= (EditCardVO)list.get(i);
    ws.addCell(new Label(0,i+1,v.getCardid()));
    ws.addCell(new Label(1,i+1,v.getCardmode()));
    ws.addCell(new Label(2,i+1,v.getWorktype()));
    ws.addCell(new Label(3,i+1,v.getName()));
    ws.addCell(new Label(4,i+1,v.getGro()));
    ws.addCell(new Label(5,i+1,v.getCardstate()));
    ws.addCell(new Label(6,i+1,v.getRegdate()));
    }
    }
    wwb.write();
    wwb.close();
    os.close();

    }
    catch(RowsExceededException e){
    log.error("==编辑卡信息--导出excel==",e);
    }
    catch(WriteException ex){
    log.error("==编辑卡信息--导出excel==",ex);
    }
    catch(IOException e){
    log.error("==编辑卡信息--导出excel==",e);
    }
    return null;
    }
    jsp页面:<input type="button" value="导出excel" onclick="OpenExcel()">
          function OpenExcel(){
      window.parent.location.href="editcard.do?method=doOpenExcel";
         return true;
          }
      

  5.   

    建议将XLS文件保存在你的WEB项目下如:douwnload/,然后“现在<a href="http://hostname:端口/download/result.xls">下载”
      

  6.   

    response.setBufferSize(100 * 1024);
    response.setHeader("Cache-Control", "public");
    response.setContentType("application/vnd.ms-excel;charset=UTF-8");
    response.setHeader("Content-Disposition", "attachment; filename="
    + URLEncoder.encode("人员信息.xls", "UTF-8"));
    OutputStream output = response.getOutputStream();
    workBook = Workbook.createWorkbook(out);