反馈已提交

网络繁忙

远程Excel数据集

  • 文档创建者:yets11
  • 历史版本:17
  • 最近更新:Lily.Wang 于 2024-09-30
  • 1. 概述

    某些时候我们希望可以调用别的服务器中的 Excel 数据集。

    通过 JSP 页面中调用 Excel 文件,通过 URL 方式访问此 JSP 页面来将别的服务器中的 Excel 文件作为数据集。

    2. 定义远程 Excel 文件数据集

    2.1 准备 Excel 文件

    新建 test.xlsx 文件,如下图:

    2.2 新建 jsp 文件

    注:jsp 文件的文件名请使用英文,否则会连接失败。

    注:jsp 文件修改后请删除所有中文注释

    新建「download.jsp」,代码如下:

    <%@ page contentType="application/vnd.ms-excel" language="java" import="java.io.*" pageEncoding="UTF-8"%>
    <%  
      response.reset();
      <%可以加也可以不加%>  
     response.setContentType("application/x-download");      
     <%可以带一个id参数,需要下载的文件id,可以以id作为文件名存放,比如下面的test.xlsx;%>
    String fileid=request.getParameter("id");
    <%如果没传id参数,设置fileid为空字符串,读test.xlsx,%>
    if(fileid==null) fileid="";
    <%实际存放的文件路径与文件名,可以用相对路径,也可以用服务器磁盘上绝对路径,如"c:/test.xlsx";%>    
    String path = request.getRealPath("/")+"test"+fileid+".xlsx";  
     <%String path = "c:/a.xlsx"; %> 
     <%下载文件名,这个无所谓 %>
     String downloadname = "abc";  
      response.addHeader("Content-Disposition","attachment;filename=" + downloadname);   
      <%定义输入输出流,读取文件%>
       java.io.OutputStream outStream = null;  
      java.io.FileInputStream in = null;  
      try  
      {  
      outStream = response.getOutputStream();  
      in = new FileInputStream(path);  
      byte[] b = new byte[1024];  
      int i = 0;    
      while((i = in.read(b)) > 0)  
      {  
      outStream.write(b, 0, i);  
      }  
    <%强制输出缓冲区%>
    outStream.flush();  
    <%更新out对象%>
    out.clear();  
    out = pageContext.pushBody(); 
    }  
      catch(Exception e)  
      {  
      System.out.println("Error!");  
      e.printStackTrace();  
      }  
      finally  
      <%释放文件%>
      {  
      if(in != null)  
      {  
      in.close();  
      in = null;  
      } 
      }  
    %>

    将此 Excel 文件和 JSP 页面放在的 Tomcat 下项目文件夹中【非当前工程所在服务器】 ,比如 apptest 中,如下图:

    注:JSP 文件需要 Tomcat 或者 WebLogic 等服务器才支持。

    2.3 新建文件数据集

    在设计器中新建一个文件数据集,文件类型-Excel,URL 填写 download.jsp 的访问路径,例如: http://www.finereporthelp.com:8181/apptest/download.jsp

    根据实际情况选择是否第一行包含列标题,预览,就可以看到此 Excel 文件的内容了,如下图:

    2.4 效果查看

    设置完后,可以看到模板数据集中会增加一个名为 'File1' 的数据集,如下图:


    至此,远程 Excel 数据集新建完成了,就可以像其他数据集一样使用了。

    2.5 扩展

    注:如果需要用此 download.jsp 处理多个 Excel 文件,download.jsp 提供了一个id参数,在 JSP 中处理不同 ID 对应的 Excel 文件即可

    http://www.finereporthelp.com:8181/apptest/download.jsp?id=1  可以获取名为 test1.xlsx 文件的数据集(前提是此 Excel 文件存在,否则返回失败)。

    http://www.finereporthelp.com:8181/apptest/download.jsp?id=2  可以获取名为 test2.xlsx 文件的数据集,依次类推。


    附件列表


    主题: 数据准备
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持