【问题标题】:Trouble during generate XLS programmatically以编程方式生成 XLS 时出现问题
【发布时间】:2013-04-15 12:02:38
【问题描述】:

我已在服务器端部署此代码,以使用 XLs 的宏将 rep 文件(BO 文件)转换为 xls 文件。我通过此 jsp 调用调用了宏,并将 Macro convert .rep 文件转换为 xls 文件。 .当从服务器系统上的客户端调用 jsp 时,不要打开 xls 表,但是当我尝试运行与独立 java 代码相同的代码时,它可以工作。在这里我附上了一个示例代码。请帮助我。

<%@ page import="java.io.*" %><%@ page contentType="application/vnd.ms-excel"%> <html><head></head> <body> <% String cmdLine = "\"C:/Program Files (x86)/Microsoft Office/Office12/EXCEL.EXE\" /e/\"D:\\North%20America\\Workspace%20Defined_2013-03-23-06-50-50.rep\" D:\\NewFolder\\Converter.xlsm"; try{Process p = Runtime.getRuntime().exec(cmdLine); } catch(Exception e){ e.printStackTrace(); } %> </body> </html>

【问题讨论】:

  • 请添加详细的错误信息。
  • 您是否清楚 Java/JSP 代码运行在网络服务器而不是网络浏览器中?您似乎期望 Java/JSP 代码在物理上与运行 web 浏览器的机器相同。这是完全不真实的。 JSP 是一个 HTML 代码生成器。在浏览器中右键单击页面,执行 View Source 以查看 JSP 究竟生成了什么以及浏览器检索到了什么。

标签: java jsp tomcat6 business-objects


【解决方案1】:

你不能那样做。如果调用jsp需要打开excel,需要设置响应的内容类型。 IE。应用程序/vnd.ms-excel

<%@ page contentType="application/vnd.ms-excel" %>

这将表明浏览器传入的数据流是ms excel,浏览器会相应地处理它

【讨论】:

  • 这会在 clinet 端打开一个 XLs 文件。我想用某个名称将 xls 文件保存到服务器文件夹中。
  • 这段代码我已经部署在服务器端,使用 XLs 的宏将 rep 文件(BO 文件)转换为 xls 文件。我通过这个 jsp 调用调用了宏,并将 .rep 文件宏转换为 xls 文件.
  • 您尝试做的事情从根本上说是不正确且不可能的。 Jsp 在服务器中执行,但是您试图访问驻留在客户端中的文件(同时 jsp 被执行)。您需要将所有这些文件移动到服务器端并生成一个 excel 文件并通过网络将其发送到客户端,而且我认为您选择的技术也是不正确的。你真的想要 2tier 架构吗?如果做JSP是正确的选择吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
相关资源
最近更新 更多