关于老师源码
来源:2-8 导入Word
qq_左撇子A_0
2018-03-04 14:00:40
public ImportWordResultDto imp(ImportWordParamDto dto) { ImportWordResultDto result = new ImportWordResultDto(); result.setTitle(dto.getTitle()); HWPFDocument doc = null; try { doc = new HWPFDocument(dto.getWord().getInputStream()); result.setContent(doc.getDocumentText().replace("\r","<br/>")); } catch (OfficeXmlFileException oe) { System.out.println("这可能是一个07版的Word"); } catch (Exception e) { result.setMsg("这可能不是一个Word"); return result; } finally { if(doc != null) { try { doc.close(); } catch (IOException e) { e.printStackTrace(); } } } XWPFDocument docx = null; try { docx = new XWPFDocument(dto.getWord().getInputStream()); List<XWPFParagraph> paragraphList = docx.getParagraphs(); StringBuilder content = new StringBuilder(); for (int i = 0; i < paragraphList.size(); i++) { if(i != 0) { content.append("<br/>"); } content.append(paragraphList.get(i).getText()); } result.setContent(content.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if(docx != null) { try { docx.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
老师的这个源码,当是03
版的world,第一个try-catch正常执行没有异常,然后下面的try-catch是解析07
版的,岂不是会异常?,
2回答
刘翊扬
2018-03-04
我觉得可以把下面导出07版本的内容直接放在第一个
catch (OfficeXmlFileException oe) {
System.out.println("这可能是一个07版的Word");
}
刘翊扬
2018-03-04
第二个是会异常,你直接在catch里面写(Exception e)异常就行了。里面什么也不输出就可以了
相似问题