gpt4 book ai didi

java - 将 excel 包含在 .jar 中

转载 作者:行者123 更新时间:2023-12-01 22:12:08 26 4
gpt4 key购买 nike

我需要知道将 excel 文件导出到我的 .jar 代码中的最佳方式是什么。

我使用了 GetDesktop 打开文件语句,当我在 Eclipse IDE 中运行它时效果很好。但是当我将代码导出到 .JAR 时,Excel 工作表将无法打开,它不会执行任何操作。

public void actionPerformed(ActionEvent e) {
try { Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
}
desktop.open(new File("Resources/pics/chart 2.xls"));
} catch (IOException ioe) {
ioe.printStackTrace();
}}

我在 jframe 中有一个图片图像,图片内部有 2 个按钮,供用户单击。取决于他们点击哪个按钮,我需要打开某个 Excel 文件。仅用于查看目的,不涉及任何编辑。我尝试使用apache POI,但是excel文件根本没有打开,但是当我使用上面的代码时至少它在eclipse中打开。我看到其他人也有同样的问题,但我的我需要它只是打开 Excel 而不是编辑。谢谢

最佳答案

您必须将其从 jar 中复制出来。您可以使用 InputStream in = ClassYouAreIn.class.getResource("someFile.xls") 获取输入流。这是一个例子:

try (InputStream in = ClassYouAreIn.class.getResource("someFile.xls")) {
// copy it here, for example using:
Files.copy(in, Paths.get("somefile.xls"), StandardCopyOption.REPLACE_EXISTING);
}

注意:你的 catch 代码真的很糟糕:异常包含 4 个有趣的信息位(类型、消息、堆栈跟踪、因果链),并且你丢弃了 4 个东西中的 3 个,并且你不这样做导致了一系列错误中止。你应该总是向前抛出它们(在这个方法上放置抛出IOException),除非你有一个ACTUAL策略来处理它(并且记录/打印它并没有处理它) !)。

关于java - 将 excel 包含在 .jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58651960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com