docx4j學習筆記(1)

松鼠九號發表於2014-12-09

dox4j是一個操作MS Office 2007版檔案的java庫,可以用來生成docx/pptx/xlsx檔案。

參考資源:

Docx4j: https://github.com/plutext/docx4j

OOXML wml.xsd http://www.datypic.com/sc/ooxml/s-wml.xsd.html

OOXML http://officeopenxml.com/anatomyofOOXML.php

</pre><p></p><p>使用maven生成一個測試用的artifact,需要依賴的包如下:</p><p></p><pre name="code" class="html"><dependencies>	
<span style="white-space:pre">	</span><dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.0</version>
		<scope>test</scope>
	</dependency>
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>1.7.7</version>
	</dependency>	
	<dependency>
		<groupId>org.docx4j</groupId>
		<artifactId>docx4j</artifactId>
		<version>3.2.1</version>
	</dependency>	
</dependencies>

第一個程式:生成一個空白的word檔案。

package me.test.docx4j;

import java.io.File;

import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.junit.Test;

public class CreateEmptyDocx {
	@Test
	public void doTest() throws Docx4JException {
		//生成一個WordprocessingMLPackage例項,包含有docx檔案的所有內容,分為若干個部分。
		WordprocessingMLPackage pkg = WordprocessingMLPackage.createPackage();
		//儲存到指定的檔案中。save函式有多個過載,可以儲存到IO流中。
		pkg.save(new File(System.getProperty("user.dir"), "Empty.docx"));
	}
}

就是這麼簡單。


相關文章