Мне нужно знать, как лучше всего экспортировать файл 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, а не редактировать. Благодарность
1 ответ
Вы должны скопировать его из банки. Вы можете получить входной поток, используя 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);
}
NB: Ваш код перехвата действительно плох: исключения содержат 4 интересных бита информации (тип, сообщение, трассировка стека, причинно-следственная цепочка), и вы отбрасываете 3 из 4 вещей, И вы вызываете каскад ошибок, не прерывая. Вы всегда должны просто бросать их дальше (поместите throws IOException
в этот метод), если у вас нет АКТУАЛЬНОЙ стратегии для решения этой проблемы (и регистрация/печать не имеет отношения к этому!).
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.