我正在尝试在java中编写excel文件,并将其保存在共享文件夹中。但如果任何人当前在任何系统上打开该文件,则会抛出错误。那么有什么方法可以通过java命令关闭excel文件吗?
答案 0 :(得分:1)
如何删除/关闭打开的Excel文件。所以你必须在删除之前自动关闭文件......
final File file=new File("E:\\book1.xlsx");
Runtime.getRuntime().exec(
"cmd /c taskkill /f /im excel.exe");
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.currentThread().sleep(2000);// you need to wait 1-2 sec to close file before delete
file.delete();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
答案 1 :(得分:0)
如果文件实际上是在某个人的窗口中打开的(就像你打开ms word doc那样),那么就无法从java程序中关闭他们机器上的文件了。如果您只需要一次性更新该文件,我建议您创建另一个具有不同名称的文件,然后使用您以编程方式创建的文件的内容手动替换所需目标的内容。
答案 2 :(得分:0)
根据文件的打开方式,您可以通过net files <id> /close
执行命令Runtime.exec()
。您还可以将psexec
命令组合在一起以关闭远程计算机上的文件。
这个答案似乎描述了类似的情况,你只需要让java运行命令: https://superuser.com/questions/643916/remotely-close-open-shared-files