我所遇到的读取速度慢的原因在于读取word后关闭本地线程速度过慢,所以创建静态对象,线程不关闭,多次读取使用同一线程
代码如下
public static MSWordManager msWordManager = new MSWordManager();
public static MSWordManager getMSWordManager(){
if(msWordManager == null){
return new MSWordManager();
}
if(msWordManager.documents == null){
msWordManager.documents = msWordManager.word.getProperty(“Documents”).toDispatch();
}
return msWordManager;
}
public static MSWordManager writeMSWordManager = new MSWordManager();
public static MSWordManager getWriteMSWordManager(){
if(writeMSWordManager == null){
return new MSWordManager();
}
if(writeMSWordManager.documents == null){
writeMSWordManager.documents = writeMSWordManager.word.getProperty("Documents").toDispatch();
}
return writeMSWordManager;
}
读取文档后用如下方法关闭文档
public void easyClosed(){
if (doc != null) {
Dispatch.call(doc, “Save”);
Dispatch.call(doc, “Close”, new Variant(saveOnExit));
doc = null;
}
documents = null;
}