日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java poi xml转word文档_使用POI转换word doc文件

發(fā)布時(shí)間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java poi xml转word文档_使用POI转换word doc文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1???????轉(zhuǎn)換為Html文件

2???????轉(zhuǎn)換為Xml文件

3???????轉(zhuǎn)換為Text文件

在POI中還存在有針對于word doc文件進(jìn)行格式轉(zhuǎn)換的功能。我們可以將word的內(nèi)容轉(zhuǎn)換為對應(yīng)的Html文件,也可以把它轉(zhuǎn)換為底層用來描述doc文檔的xml文件,還可以把它轉(zhuǎn)換為底層用來描述doc文檔的xml格式的text文件。這些格式轉(zhuǎn)換都是通過AbstractWordConverter特定的子類來完成的。

1???????轉(zhuǎn)換為Html文件

將doc文檔轉(zhuǎn)換為對應(yīng)的Html文檔是通過WordToHtmlConverter類進(jìn)行的。它會盡量的利用Html的方式來呈現(xiàn)原文檔的樣式。示例代碼:

Java代碼

/**

*?Word轉(zhuǎn)換為Html

*?@throws?Exception

*/

@Test

public?void?testWordToHtml()?throws?Exception?{

InputStream?is?=?new?FileInputStream("D:\\test.doc");

HWPFDocument?wordDocument?=?new?HWPFDocument(is);

WordToHtmlConverter?converter?=?new?WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());

//對HWPFDocument進(jìn)行轉(zhuǎn)換

converter.processDocument(wordDocument);

Writer?writer?=?new?FileWriter(new?File("D:\\converter.html"));

Transformer?transformer?=?TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(?OutputKeys.ENCODING,?"utf-8"?);

//是否添加空格

transformer.setOutputProperty(?OutputKeys.INDENT,?"yes"?);

transformer.setOutputProperty(?OutputKeys.METHOD,?"html"?);

transformer.transform(

new?DOMSource(converter.getDocument()?),

new?StreamResult(?writer?)?);

}

2???????轉(zhuǎn)換為Xml文件

將doc文檔轉(zhuǎn)換為對應(yīng)的Xml文件是通過WordToFoConverter類進(jìn)行的。它可以把doc文檔轉(zhuǎn)換為底層用來描述doc文檔的Xml文檔。示例代碼:

Java代碼

/**

*?Word轉(zhuǎn)Fo

*?@throws?Exception

*/

@Test

public?void?testWordToFo()?throws?Exception?{

InputStream?is?=?new?FileInputStream("D:\\test.doc");

HWPFDocument?wordDocument?=?new?HWPFDocument(is);

WordToFoConverter?converter?=?new?WordToFoConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());

//對HWPFDocument進(jìn)行轉(zhuǎn)換

converter.processDocument(wordDocument);

Writer?writer?=?new?FileWriter(new?File("D:\\converter.xml"));

Transformer?transformer?=?TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(?OutputKeys.ENCODING,?"utf-8"?);

//是否添加空格

transformer.setOutputProperty(?OutputKeys.INDENT,?"yes"?);

//?????transformer.setOutputProperty(?OutputKeys.METHOD,?"html"?);

transformer.transform(

new?DOMSource(converter.getDocument()?),

new?StreamResult(?writer?)?);

}

3???????轉(zhuǎn)換為Text文件

將doc文檔轉(zhuǎn)換為text文檔是通過WordToTextConverter來進(jìn)行的。它可以把doc文檔轉(zhuǎn)換為底層用于描述doc文檔的Xml格式的text文檔。示例代碼:

Java代碼

/**

*?Word轉(zhuǎn)換為Text

*?@throws?Exception

*/

@Test

public?void?testWordToText()?throws?Exception?{

InputStream?is?=?new?FileInputStream("D:\\test.doc");

HWPFDocument?wordDocument?=?new?HWPFDocument(is);

WordToTextConverter?converter?=?new?WordToTextConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());

//對HWPFDocument進(jìn)行轉(zhuǎn)換

converter.processDocument(wordDocument);

Writer?writer?=?new?FileWriter(new?File("D:\\converter.txt"));

Transformer?transformer?=?TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(?OutputKeys.ENCODING,?"utf-8"?);

//是否添加空格

transformer.setOutputProperty(?OutputKeys.INDENT,?"yes"?);

transformer.setOutputProperty(?OutputKeys.METHOD,?"text"?);

transformer.transform(

new?DOMSource(converter.getDocument()?),

new?StreamResult(?writer?)?);

}

(注:本文是基于poi3.9所寫)

總結(jié)

以上是生活随笔為你收集整理的java poi xml转word文档_使用POI转换word doc文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。