2011-03-03 5 views
0

Je fais un projet pour le collège et ai fait un programme qui crée des fichiers csv. Je voudrais qu'il y ait un bouton sur lequel vous pouvez cliquer, puis ouvre le fichier csv avec Excel. Mercijava ouvrir le fichier csv en utilisant excel

+0

Je crains que vous avez oublié la question. – aioobe

+0

Voulez-vous dire que lorsque vous cliquez sur un bouton créé dans le programme Java, vous devriez ouvrir ce fichier .csv? –

Répondre

3

Sachant que MsOffice est installé sur le système, vous devriez être en mesure d'ouvrir un document avec lui de la ligne de commande en utilisant la commande

excel myDoc.csv 

pour exécuter une telle commande de java, vous pouvez utiliser cet instantané:

File myCSVFile; //reference to your file here 
String execString = "excel " + myCSVFile.getAbsolutePath(); 
Runtime run = Runtime.getRuntime(); 
try { 
    Process pp = run.exec(execString); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 

Ceci est un peu rude et a besoin d'un style, bien sûr, mais en général il devrait fonctionner. En outre, pour être plus gracieux, vous pouvez également vérifier le registre Windows, en utilisant la classe java.util.prefs.Preferences, pour savoir si MsOffice est installé et, si oui, où. Mais, s'il vous plaît, soyez conscient, si vous comptez pour MsExcel (comme j'ai compris de votre message), ceci annulera automatiquement l'approche multiplateforme de Java. Heureusement, cela aide :)

+0

merci et bon point sur la multiplateforme mais bon !! –

3

Si vous utilisez Java 6, vous pouvez utiliser la classe Desktop. Lire aussi Opening, Editing, and Printing a File

+0

Je ne peux pas être plus d'accord. – Sid

+0

Un bon point! Mais notez, que la méthode Desktop.open (File file) ouvre le fichier avec un programme par défaut du système, pas avec un programme spécifique (comme Excel dans ce cas). Il se peut que CSV soit configuré pour être ouvert avec un autre programme, comme Notepad ++ ou autre. – Coryffaeus

+0

@Coryffaeus vous avez raison. Mais à mon humble avis, il devrait être le choix de l'utilisateur quel programme ouvre les fichiers CSV. Et la solution 'Desktop' gère également le cas quand aucun fichier Excel n'est installé. –

0

Vous pouvez utiliser l'API JExcel. Ce sera très facile pour toi.

0

La commande 'excel myDoc.csv' ne fonctionne pas. Vous devriez utiliser 'start excel myDoc.csv'.

Code est donc à jour

File myCSVFile; //reference to your file here 
String execString = "start excel " + myCSVFile.getAbsolutePath(); 
Runtime run = Runtime.getRuntime(); 
try { 
    Process pp = run.exec(execString); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 
Questions connexes