Olá, estou desenvolvendo uma aplicação desktop, e estou tendo problemas:
Apos criar um arquivo xls, eu executo ele. No windows estou usando:
Runtime.getRuntime().exec("cmd /c"+caminho+nome+".xls");
Funciona, mas não no ubuntu. Coo que eu faço isso?
Obrigado
Runtime.getRuntime().exec("oocalc arquivo.xls");
esse oocalc se refere ao Calc do OpenOffice, que é o Excel Genérico do linux.
Testa ai.
O ideal, após o Java 6, é usar a API de desktop pra solicitar que ela abra o arquivo com o programa padrão.
Assim, o seu programa continuará funcionando em Windows, Linux e outros SOs, mesmo que a pessoa use o StarOffice no lugar do Excel.
Você usa assim, considere abrirComExec como sendo sua função atual:
[code]
public void abrir(File arquivo) {
if (!Desktop.isDesktopSupported()) {
abrirComExec(arquivo);
return;
}
desktop = Desktop.getDesktop();
if (!desktop.isSupported(Desktop.Action.OPEN)) {
abrirComExec(arquivo);
return;
}
desktop.open(arquivo);
}[/code]
Esse programa tenta abrir com o desktop antes de recorrer ao exec.