2013-04-04 6 views
0

Я разрабатываю форму с помощью swing.If кнопка отчета была нажата в моей форме, она должна открыть предопределенный формат листа excel из моего D-диска. Какой код должен писать в действии кнопки слушатель?Open excel sheet от JButton - Java Swing

Спасибо ..

+0

возможно дубликат [Как звонить Outlook, после нажатия кнопки в Java Swing?] (Http://stackoverflow.com/questions/10483805/how-to-call-outlook-after-clicking-a- button-in-java-swing) –

+1

'Desktop # open()'? – trashgod

ответ

0

Вы можете использовать Runtime класс, чтобы открыть Excel с помощью программы по умолчанию в Windows

String filePath = "D:\\test.xls"; 
Process p = 
    Runtime.getRuntime() 
    .exec("rundll32 url.dll,FileProtocolHandler " + filePath); 

Вы также можете использовать Desktop API, как показано ниже.

String filePath = "D:\\test.xls"; 
Desktop dt = Desktop.getDesktop(); 
dt.open(new File(filePath)); 
+1

Да, это не сработает, за исключением окон. В linux используются openoffice или libreoffice, а rundll32 не найден. –

+0

Да, это правильно для API Runtime. – Jayamohan

4

Я бы рекомендовал посмотреть на класс Desktop в awt. Есть способ here, который должен вам помочь.

import java.awt.Desktop; 
import java.io.File; 
import java.io.IOException; 

public class OpenFile { 

    public static void main(String[] args) { 
     File file = new File("c:\\appNominalJournalFix.txt"); 
     try { 
      Desktop.getDesktop().open(file); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

Действительно? Я поместил это в основной метод, и он отлично работает. Я вставлю весь класс, но для меня я уверен, что он компилируется. – david99world

+0

Huh. Виноват.... –

Смежные вопросы