public static void openExcel() {
try {
IDispatch excelApp = new IDispatch(rm, "Excel.Application");
IDispatch excel = (IDispatch) excelApp.get("Workbooks");// 得到工作薄
excelApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
File f = new File("C:\\out.xls");
if (f.exists()) {// 判断文件是否存在
IDispatch workbook = (IDispatch) excel.method("Open",
new Object[] { "C:\\out.xls" }); // 打开工作薄
IDispatch Sheet = (IDispatch) workbook.get("ActiveSheet");
IDispatch OLEObjects = (IDispatch) Sheet.get("OLEObjects");
IDispatch OLEObject = (IDispatch) OLEObjects.method("add",
new Object[] { null, "C:\\aa.txt", false, false, null,
null, null, 780, 150, 150, 150 });
workbook.method("close", new Object[] { "C:\\out.xls" });
excelApp.method("quit", new Object[] {});
excelApp = null;
}
} catch (JComException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean deleteFile(String fileName) {
File file = new File(fileName);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if (file.exists() && file.isFile()) {
if (file.delete()) {
System.out.println("删除单个文件" + fileName + "成功!");
return true;
} else {
System.out.println("删除单个文件" + fileName + "失败!");
return false;
}
} else {
System.out.println("删除单个文件失败:" + fileName + "不存在!");
return false;
}
}结果:删除单个文件C:\out.xls失败!在线等。
try {
IDispatch excelApp = new IDispatch(rm, "Excel.Application");
IDispatch excel = (IDispatch) excelApp.get("Workbooks");// 得到工作薄
excelApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
File f = new File("C:\\out.xls");
if (f.exists()) {// 判断文件是否存在
IDispatch workbook = (IDispatch) excel.method("Open",
new Object[] { "C:\\out.xls" }); // 打开工作薄
IDispatch Sheet = (IDispatch) workbook.get("ActiveSheet");
IDispatch OLEObjects = (IDispatch) Sheet.get("OLEObjects");
IDispatch OLEObject = (IDispatch) OLEObjects.method("add",
new Object[] { null, "C:\\aa.txt", false, false, null,
null, null, 780, 150, 150, 150 });
workbook.method("close", new Object[] { "C:\\out.xls" });
excelApp.method("quit", new Object[] {});
excelApp = null;
}
} catch (JComException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean deleteFile(String fileName) {
File file = new File(fileName);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if (file.exists() && file.isFile()) {
if (file.delete()) {
System.out.println("删除单个文件" + fileName + "成功!");
return true;
} else {
System.out.println("删除单个文件" + fileName + "失败!");
return false;
}
} else {
System.out.println("删除单个文件失败:" + fileName + "不存在!");
return false;
}
}结果:删除单个文件C:\out.xls失败!在线等。
汗,根本就不报错。就是这样删除失败。后来我打开任务管理器一看。原来Excel.exe还在。excelApp.method("quit", new Object[] {});
我这句明明退出了啊。 怎么回事·?希望高手详解。