2

我有这个代码

try {
  url       = new URL("http://miprueba.co.nf/prueba.xls");
  input     = url.openStream();
  bookModel = new HSSFWorkbook(input);
} catch {
  ...
}

在服务器的 miprueba.co.nf 文件夹中,我有“myapplet.jar”和“prueba.xls”以及一个带有“poi-3.9-2021203.jar”的子目录“lib”

这是我在代码“bookModel = new ...”行中从控制台获得的消息

network: cache not found [URL: http://miprueba.co.nf/lib/poi-3.9-20121203.jar, versión: null]

network: Connectin http//miprueba.co.nf/lib/poi-3.9-20121203.jar con proxy=DIRECT

network: CleanupThread used 5 us

network: Downloading resource: http//miprueba.co.nf/lib/poi-3.9-20121203.jar
 Content-Lenght: 1.821.732
 Content-Encoding: null

network: Cache not found [URL: http//miprueba.co.nf/, versión: null]

network: Cache not found [URL: http//miprueba.co.nf/org/apache/poi/hssf/usermodel/HSSFWorkbook.class, versión: null]

network: Connecting http//miprueba.co.nf/org/apache/poi/hssf/usermodel/HSSFWorkbook.class con proxy=DIRECT
network: CleanupThread used 5 us

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
 at applettest.Variables.<init>(Variables.java:50)
 at applettest.myApplet.jButton2ActionPerformed(myApplet.java:124)
....
....
....

有什么帮助吗?我希望能够从 excel 文件“prueba.xls”中读取一个数字。提前致谢!

4

3 回答 3

0

关键线是:

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook

您缺少运行时类路径中的 Apache POI jar。您应该修复它以便您的应用程序正确加载它,或者生成一个包含您的代码和所有依赖项的单个 jar。无论哪种方式,如果您想使用 POI,您需要在运行时提供它!

于 2012-12-12T01:35:23.780 回答
0

如果认为 .jar 文件的服务器端 MIME 类型不正确。

如果我查看从 POI 网站下载的 poi-3.9-20121203.jar,我有 1,869,113 个字节。你的日志说 1.821.732 字节。

另一种可能性是您使用 Java 7 重新编译了库,而 Applet 使用 Java 6 运行。

这是您的.htaccess

AddType 应用程序/java-archive .jar

于 2012-12-12T21:07:28.123 回答
0

我从上面得到的是 - 你试图在 ie 中使用第三方 jarapplet来读取excel。要使小程序使用第三方 jar,请使用jarsigner.

签署您的第三方 jar 将它们放入classpath,然后它应该可以工作。

于 2013-03-22T13:30:54.860 回答