2011-03-03 15 views
0

私は大学のためのプロジェクトを作っており、csvファイルを作成するプログラムを作っています。あなたがクリックしてcsvファイルをExcelで開くことができるボタンがありたいと思います。ありがとうjava open csv file using excel

+0

です。 – aioobe

+0

Javaプログラムで作成されたボタンをクリックすると、その.csvファイルを開く必要がありますか? –

答えて

3

も読んで、あなたは

excel myDoc.csv 

はJavaからこのようなコマンドを実行するコマンドを使用して、コマンドラインからでドキュメントを開くことができる必要があり、あなたが使用することができますこのスナップショット:

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(); 
} 

これはやや荒く、スタイリングが必要ですが、一般的には機能するはずです。さらに、より優雅にするために、java.util.prefs.Preferencesクラスを使用してWindowsレジストリをチェックして、MsOfficeがインストールされているかどうかを確認することもできます。しかし、あなたがMsExcel(あなたの投稿から理解しているように)を計算している場合、これは自動的にJavaのマルチプラットフォームアプローチをキャンセルします。うまくいけば、これは役に立ちます:)

+0

ありがとう、マルチプラットフォームについての良い点はねえ! –

3

Java 6を使用している場合は、Desktopクラスを使用できます。 MSOFFICEがシステムにインストールされていることを知っOpening, Editing, and Printing a File

+0

もっと同意できません。 – Sid

+0

良い点!ただし、Desktop.open(ファイルファイル)メソッドは、特定のファイル(この場合はExcelなど)ではなく、システムのデフォルトプログラムでファイルを開きます。 CSVがNotepad ++などの別のプログラムで開かれるように設定されている可能性もあります。 – Coryffaeus

+0

あなたは@Coryffaeusです。しかし、IMHOは、どのプログラムがcsv-filesを開くのかをユーザーが選択する必要があります。また、「デスクトップ」ソリューションはExcelがインストールされていない場合も処理します。 –

0

JExcel APIを使うことができます。それはあなたのために非常に簡単です。

0

'excel myDoc.csv'コマンドが機能していません。 'start excel myDoc.csv'を使用してください。

ので、更新されたコードは、私はあなたが質問を忘れてしまった怖い

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(); 
} 
関連する問題