在Word文档中,表格能使文本内容更加简洁明了,同时也能使数据的展示更加清晰直观。 本文将介绍如何使用Java代码在Word文档中创建表格并设置其单元格的背景颜色。
Jar文件导入方法
方法一:
下载免费的Free Spire.Doc for Java包并解压缩,然后从lib文件夹下,将Spire.Doc.jar包导入到你的Java应用程序中。(导入成功后如下图所示)
方法二:
通过Maven仓库安装导入。详细的操作步骤请参考链接:
https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html
Java代码示例:
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class CreateTable {
public static void main(String[] args) {
//创建Word文档
Document document = new Document();
//添加一个section
Section section = document.addSection();
//数据
String[] header = {"姓名", "性别", "部门", "工号"};
String[][] data =
{
new String[]{"Winny", "女", "综合", "0109"},
new String[]{"Lois", "女", "综合", "0111"},
new String[]{"Jois", "男", "技术", "0110"},
new String[]{"Moon", "女", "销售", "0112"},
new String[]{"Vinit", "女", "后勤", "0113"},
};
//添加表格
Table table = section.addTable(true);
//设置表格的行数和列数
table.resetCells(data.length + 1, header.length);
//设置第一行作为表格的表头并添加数据
TableRow row = table.getRows().get(0);
row.isHeader(true);
row.setHeight(20);
row.setHeightType(TableRowHeightType.Exactly);
row.getRowFormat().setBackColor(Color.gray);
for (int i = 0; i < header.length; i++) {
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
Paragraph p = row.getCells().get(i).addParagraph();
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
TextRange range1 = p.appendText(header[i]);
range1.getCharacterFormat().setFontName("Arial");
range1.getCharacterFormat().setFontSize(12f);
range1.getCharacterFormat().setBold(true);
}
//添加数据到剩余行
for (int r = 0; r < data.length; r++) {
TableRow dataRow = table.getRows().get(r + 1);
dataRow.setHeight(25);
dataRow.setHeightType(TableRowHeightType.Exactly);
dataRow.getRowFormat().setBackColor(Color.white);
for (int c = 0; c < data[r].length; c++) {
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
TextRange range2 = dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
range2.getCharacterFormat().setFontName("Arial");
range2.getCharacterFormat().setFontSize(10f);
}
}
//设置单元格背景颜色
for (int j = 1; j < table.getRows().getCount(); j++) {
if (j % 2 == 0) {
TableRow row2 = table.getRows().get(j);
for (int f = 0; f < row2.getCells().getCount(); f++) {
row2.getCells().get(f).getCellFormat().setBackColor(new Color(173, 216, 230));
}
}
}
//保存文档
document.saveToFile("创建表格.docx", FileFormat.Docx_2013);
}
}
创建表格效果图:
来源:oschina
链接:https://my.oschina.net/u/4381723/blog/3301764