在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); }}
创建表格效果图: