Я не уверен, правильно ли я это делаю, но это работает
public Boolean savesAS(String path, String nameFile){
ComThread.InitSTA();
ActiveXComponent excel = new ActiveXComponent("Excel.Application");
excel.setProperty("Visible", new Variant(true));
Object workbooks = excel.getProperty("Workbooks").toDispatch();
Object workbook;
try {
workbook = Dispatch.call((Dispatch)workbooks, "Open", path).toDispatch();
} catch (Exception e) {
showMessageDialog(null,"Unable to open " + path);
return false;
}
try {
//here you can modify the value of "new Variant(int)" with other number
Dispatch.call((Dispatch)workbook, "SaveAs", nameFile ,new Variant(2));
} catch (Exception e) {
showMessageDialog(null,"Unable to convert " + path);
return false;
}
Dispatch.call((Dispatch)workbook, "Close", new Variant(false));
excel.invoke("Quit", new Variant[0]);
excel.safeRelease();
ComThread.Release();
return true;
}