方案一:远程URL调用(结合4与1)
部署A服务器文件接口在A服务器编写JSP文件,通过文件流方式暴露Excel下载接口:
| <%-- 参考知识库代码 --%> |
| String path = "C:/文件路径/test.xlsx"; // 替换为实际文件路径 |
| response.setHeader("Access-Control-Allow-Origin", "*"); // 跨域允许 |
| response.setHeader("Content-Disposition", "attachment;filename=download.xlsx"); |
| java.io.OutputStream out = response.getOutputStream(); |
| // 文件流传输代码(完整代码参考{{远程Excel数据集-1938.md}}) |
在B服务器工程中用JS调用通过超链接或按钮事件触发下载:
window.open("http://A服务器IP:端口/接口路径.jsp");
方案二:文件服务挂载(结合5)
共享文件存储将A服务器文件挂载到共享存储(如NAS),确保B服务器工程可通过统一路径访问。例如:
通过插件下载(参考3)在填报单元格中配置超级链接:
文件路径公式:="\\\\NAS共享路径\\excel\\"+$$$ // $$$代表当前文件名

跨域补充说明
如果采用方案一且遇到跨域限制,需在A服务器接口中增加以下响应头:
| Access-Control-Allow-Origin: http://B服务器域名 |
| Access-Control-Allow-Methods: GET |