마케팅IT

자바 엑셀 프로세스 죽이는 방법 cmd 명령어

xemaker 2023. 6. 28. 18:01

자바 코딩을 하는데 코드로 떠 있는 엑셀파일을 죽이고 싶었다.

일단 윈도우 cmd 창에서 하는 방법이다.

taskkill /f /im excel.exe

하니 close가 되었다.

설명을 좀 하면

/f : 프로세스를 강제로 종료
/im : 종료할 프로세스의 이미지 지정

help taskkill 하면 매뉴얼을 볼 수 있다.

추가로 떠 있는 메모장을 kill 하고 싶으면

taskkill /im notepad.exe

마찬가지로 엑셀도 구지 /f 안 넣어도 되더라. 그래서

taskkill /im excel.exe

해도 열려있던 엑셀이 닫혔다.

그럼 이제 자바에서 해본다.

Runtime.getRuntime().exec("taskkill /im excel.exe");

하면 닫힌다.

그런데 바로 닫히면 에러가 발생할 수 있으니 2초정도 시간을 준다.

Thread.sleep(2000);

결론은

Runtime.getRuntime().exec("taskkill /im excel.exe");

Thread.sleep(2000);

try(OutputStream fileOut = new FileOutputStream(excelFileName)){
  workbook.write(fileOut);
}

Desktop.getDesktop().edit(new File(excelFileName));