首页 > 编程 > Java > 正文

java用jacob批量word转xml

2019-11-08 18:51:57
字体:
来源:转载
供稿:网友
try {

ArrayList<File> files =FileUtil.getListFiles("F://XXX");//xxx文件夹

for (File file : files) {

try {

ActiveXComponent app = new ActiveXComponent("Word.application"); // 启动wordString inFile = file.getAbsolutePath(); // 指定要打开的word文件File fileCopy=createFiles(file);//拷贝到另一个文件夹里面String path=fileCopy+"/"+FileUtil.getFileNameNoEx(file.getName())+".xml";app.setPRoperty("Visible", new Variant(false)); // 为false时设置word不可见,为true时是可见要不然看不到Word打开文件的過程Dispatch docs = app.getProperty("Documents").toDispatch();// 打开編輯器Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { inFile, new Variant(false),new Variant(true) }, new int[1]).toDispatch(); // 打开word文档Dispatch.call(doc, "SaveAs", path, 11);// xml文件格式宏11Dispatch.call(doc, "Close", false);app.invoke("Quit", 0);System.out.println(file.getName()+"OK...");} catch (Exception e) {//-错误的doc文件 continue;

}

public static File createFiles(File file) {File fileP = new File("D://2月10日-word转Xml"+ FileUtil.subString(file.getParent()));// 如果文件不存在则创建if (!fileP.exists() && !fileP.isDirectory()) {try {fileP.mkdirs();} catch (Exception e) {e.printStackTrace();}}return fileP;}

FileUtil方法

// 获取文件public static ArrayList<File> getListFiles(Object obj) {File directory = null;if (obj instanceof File) {directory = (File) obj;} else {directory = new File(obj.toString());}ArrayList<File> files = new ArrayList<File>();if (directory.isFile()) {files.add(directory);return files;} else if (directory.isDirectory()) {File[] fileArr = directory.listFiles();for (int i = 0; i < fileArr.length; i++) {File fileOne = fileArr[i];files.addAll(getListFiles(fileOne));}}return files;}

/** java文件操作 获取不带扩展名的文件名*/public static String getFileNameNoEx(String filename) {        if ((filename != null) && (filename.length() > 0)) {            int dot = filename.lastIndexOf('.');            if ((dot >-1) && (dot < (filename.length()))) {                return filename.substring(0, dot);            }        }        return filename; }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表