java编写Word

这里的操作是来自GitEE中的。GitEE真是好,开源项目真不少。

官网 wordgo.cc

WordGO - 让Java生成word文档更容易

手动导入jar包

  • IDEA导入:点击File-Project Structure;然后在左侧找到Modules并点击;最后在右侧点击绿色的+号,选择JARs or directories选取要导入的jar包即可。
  • Eclipse导入:右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path

maven中央仓库导入

**不知道为什么我使用Maven不能下载 你们可以试一试 **

<dependency>
 <groupId>com.github.qrpcode</groupId>
 <artifactId>wordgo</artifactId>
 <version>1.0-SNAPSHOT</version>
</dependency>

环境依赖和兼容性

只要能运行java这个就能用,他不依赖于任何第三方Office应用

兼容性请看表:

JAVA 操作wordw文档 java编写word文档_java

示例

public class WordTest {
    public static void main(String[] args) {


        WordGo wordGo = new WordGo();
//新建一个word
        wordGo.add("Hello World", "font-size: 15; color: #FF0000");
//填充数据可以查看对应功能说明
        wordGo.create("E:\\demo.docx");

//最后生成即可,参数是生成目录,必须带文件名且以.docx结尾

    }
}

JAVA 操作wordw文档 java编写word文档_Go_02

JAVA 操作wordw文档 java编写word文档_java_03

更多操作

构造函数

创建文件

空参默认值构造 🔥

WordGo()

满足您的一般需求,默认A4纸竖向,页边距和页眉页脚距离全部采用office相同默认尺寸。

指定纸张类型构造

WordGo(String paperType)

paperType:纸张类型,详细请查看WordPaper类介绍中可接受属性表格。

示例:new WordGo("A3")

指定纸张信息构造

WordGo(WordPaper wordPaper)

wordPaper 纸张类,具体创建请参考WordPaper类介绍。

指定文档属性信息构造

WordGo(WordCore wordCore)

添加文字

添加方法

add(String text, String css)

添加一段带有样式的文本

text:文本内容,\n 或 \r会被视为换行(直接写,无需添加\)

css:样式表内容,支持的样式后面介绍

WordGo wordGo = new WordGo();
//创建一个wordGo对象
wordGo.add("Hello", "font-size: 20; background-color: blue;");
//添加文字“Hello”,字号用20号,背景颜色选择blue
wordGo.create("C:\\demo.docx");
//将docx文件输出到C盘根目录下,命名为demo.docx

addLine(String text, String css)

添加文本并且在最后添加一个换行表示。实际上底层就是调用额add方法,可以省略最后的\n而已。

示例:

WordGo wordGo = new WordGo();
//创建一个wordGo对象
wordGo.addLine("Hello", "font-size: 15; color: #FF0000;");
//添加一行文字“Hello”,字号用15号,颜色选择红色
wordGo.create("C:\\demo.docx");
//将docx文件输出到C盘根目录下,命名为demo.docx

换页方法

newPage()

切换到新的一页,不管这一页写没写完。

WordGo wordGo = new WordGo();
wordGo.add("page1", "");
wordGo.newPage();
//直接跳转到下一页
wordGo.add("page2", "");
wordGo.create("C:\\demo.docx");

支持样式

font-size 文字大小

设定文字大小,支持数字,也支持我们常用的表示字号文字:

“初号”, “小初”, “一号”, “小一”, “二号”, “小二”, “三号”, “小三”, “四号”, “小四”, “五号”,“小五”, “六号”, “小六”, “七号”, “八号”

数字不需要带单位,如果希望知道数字对应多大可以打开word试一下(如图)。无法识别的font-size将会设置成默认的五号字

示例:font-size:12 font-size:五号

font-family 字体

直接写字体名称即可,如果打开的用户电脑有这个字体将会展示,没有的话将会展示默认字体。WPS可能会帮助用户自动下载或提示替换。

示例:font-family:宋体 font-family:思源黑体

font-weight 文字加粗

支持normal和bold,不写此属性默认为normal

示例:font-width:bold font-width:normal

font-style 字体样式

支持normal、italic、oblique。normal是默认不倾斜样式,italic 和 oblique都会让文字倾斜,底层实现没有差别,只是为了照顾不同css书写习惯用户。

示例:font-style:italic font-style:oblique

color 文字颜色

文字颜色属性,仅支持16位表示法,不支持带透明度。# 带不带都行。

示例:color:#FF0000 color:#008000 color:00FF00

background-color 文字背景色

注意,word中文字背景色仅支持固定几种(如图),受支持的颜色有(顺序如图):

“yellow”, “green”, “cyan”, “magenta”, “blue”, “red”, “darkBlue”,“darkCyan”, “darkGreen”, “darkMagenta”, “darkRed”, “darkYellow”, “darkGray”, “lightGray”, “black”

示例:background-color:yellow background-color:red

text-decoration 文字下划线

文字下划线支持多种样式,不写则为没有下划线。划线样式不区分大小写。支持的样式有:

“single”, “double”, “thick”, “dotted”, “dash”, “dotDash”, “dotDotDash”,“wave”

示例:text-decoration:single text-decoration:double

对应关系:

text-decoration-color 文字下划线颜色

如果设定了下划线,默认和文字一个颜色。如果设置了独特颜色当然也被支持。仅支持16位表示法,不支持带透明度。# 带不带都行。

示例:text-decoration-color:#FF0000 text-decoration-color:#008000 text-decoration-color:00FF00

font-emphasis 文字着重号

他用来表示文字下方有小圆点着重强调。支持normal和point属性,当属性值为point表示有着重号,不写默认为normal,即没有着重号。

示例:font-emphasis:point font-emphasis:normal

font-scale 文字水平缩放

文字的水平缩放比率,支持0~100(不支持0,不写默认为100)的整数。写不写%都可以解析。

示例:font-scale:90 font-scale:50%

line-height 行高

行高是整行文本的整体属性,建议只设置一个,设置多个我们也无法保证解析的是哪一个。

支持百分比形式和固定磅值形式。百分比必须带%,固定磅值支持以px或pt为单位(都会解析为磅,防止单位写错解析不了)。只有数字不写单位视为固定值。固定值支持 1 - 500(含)磅。

示例:line-height:150% line-height:18pt

text-align 对齐方式

支持的参数有:left(左对齐)、right(右对齐)、center(居中对齐),默认为左对齐

示例:text-align:center