# Excel-Datei öffnen



## Alex_winf01 (3. Okt 2008)

Hallo liebe Forengemeinde,

wie kann ich aus Java heraus (Java 5) eine Excel-Datei öffnen? Derzeit probiere ich es mit:


```
Runtime.getRuntime().exec("test.xls");
```

Dabei bekomme ich folgende Fehlermeldung:



> java.io.IOException: CreateProcess: text.xls error=193



Könnt ihr mir helfen? Danke schon mal im voraus.


----------



## Wildcard (3. Okt 2008)

Die Datei ist nicht ausführbar. Du musst irgendein Programm starten und die Datei als Parameter angeben. Mit Java 6 wäre es allerdings einfacher.


----------



## Alex_winf01 (4. Okt 2008)

Kann es daran liegen, dass in der Excel-Datei Makros enthalten sind? Und wie würde man das mit Java 6 machen?


----------



## musiKk (4. Okt 2008)

1. Nein.
2. Desktop.open()


----------



## Alex_winf01 (4. Okt 2008)

@ musiKk

woran liegt es dann, dass die Datei nicht ausführbar ist? Ich möchte doch nur die Datei öffnen und die Maktros ausführen? Wie geht das mit Java 5?


----------



## musiKk (4. Okt 2008)

Kurz gesagt: Man kann nur Programme ausführen und nicht z. B. Excel Spreadsheets (falls ich die Endung richtig deute). Das ginge nur über Excel selbst.

Man kommt wohl auch irgendwie per Java direkt an den Inhalt der Excel-Datei, es gibt da Bibliotheken, aber dabei kann ich dir nicht helfen, damit hatte ich noch nichts zu tun.


----------



## asroger (7. Okt 2008)

Versuch es mal mit :


```
Runtime.getRuntime().exec( "cmd /c C:\\meineExcelDatei.xls");
```

Willst Du Excel lesen oder schreiben benutze Apache POI: poi.apache.org


----------



## Alex_winf01 (7. Okt 2008)

@ asroger

So habe ich es auch probiert. Leider kein Erfolg. Ich möchte die Datei einfach nur öffnen, sonst nix. Die hinterlegten Makros starten beim Öffnen der Datei automatisch. :?

EDIT: Ich nutze kein POI.


----------



## Wildcard (7. Okt 2008)

Eben. Du willst die Datei öffnen, nicht ausführen, denn sie ist nicht ausführbar. Öffnen kannst du die Datei mit einem Programm das xls versteht, MS-Office, OpenOffice,...
Vielleicht kannst du dein Betriebssystem mit einem Befehl dazu überreden eine Datei XY mit dem verknüpften Programm zu öffnen, dazu bitte ins Handbuch schauen.
Ich bin zwar eigentlich ein Linux Anwender, würde aber behaupten, dass das Windows Programm 'start' dies kann.


----------



## asroger (8. Okt 2008)

Moin !

Unter Windows sollte die Endung xls mit Excel verknüpft sein, so dass der Aufruf:


```
Runtime.getRuntime().exec( "cmd /c C:\\meineExcelDatei.xls");
```
sich wie ein Doppelklick verhält.

Wenn nicht , bleibt Dir noch über eine Api in der Registry nach dem Installationspfad von Excel zu suchen, oder Du gibst ihn halt fest vor, wenn er auf allen Rechnern gleich ist.

API für Registry-Zugriff z. B: JRegistryKey

Ist der Pfad ermittelt dann:


```
Runtime.getRuntime().exec( "cmd /c pfad_zur _Excel_Exe C:\\meineExcelDatei.xls");
```

Gutes Gelingen


----------

