表格是在 word 文档中呈现表格数据的常用方法。 它有助于组织整理大量信息。 在本文中,您将学习如何使用 spire.doc for java 创建表格、用数据填充表格以及将格式应用于表格单元格。
安装 spire.doc for java
首先,您需要在 java 程序中添加 spire.doc.jar 文件作为依赖项。您可以从此链接下载 jar 文件;如果您使用 maven,则可以通过在 pom.xml 文件中添加以下代码导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.doc
11.9.5
创建 word 表格
下表列出了一些负责创建和格式化表格的核心类和方法。
名称 | 描述 |
table类 | 表示 word 文档中的表格。 |
tablerow类 | 表示表中的一行。 |
tablecell类 | 表示表格中的特定单元格。 |
section.addtable()方法 | 将新表格添加到指定节。 |
table.resetcells()方法 | 重置行号和列号。 |
table.getrows()方法 | 获取表格行。 |
tablerow.setheight() 方法 | 设置指定行的高度。 |
tablerow.getcells()方法 | 返回单元格集合。 |
tablerow.getformat()方法 | 获取指定行的格式。 |
以下是在 word 文档中创建表格的步骤。
- 创建一个 document 对象,并向其添加一个节。
- 准备标题行和其他行的数据,分别存储在一维字符串数组和二维字符串数组中。
- 使用 section.addtable() 方法将表格添加到节。
- 将数据插入标题行,并设置行格式,包括行高、背景颜色和文本对齐方式。
- 将数据插入其余行,并对这些行应用格式。
- 使用 document.savetofile() 方法保存文件。
- 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) {
//创建一个 document 对象
document document = new document();
//添加一个节
section section = document.addsection();
//定义表格数据
string[] header = {"国家", "首都", "大陆", "国土面积", "人口数量"};
string[][] data =
{
new string[]{"玻利维亚", "拉巴斯", "南美", "1098575", "7300000"},
new string[]{"巴西", "巴西利亚", "南美", "8511196", "150400000"},
new string[]{"加拿大", "渥太华", "北美", "9976147", "26500000"},
new string[]{"智利”“圣地亚哥", "南美", "756943", "13200000"},
new string[]{"哥伦比亚", "波哥大", "南美", "1138907", "33000000"},
new string[]{"古巴", "哈瓦那", "北美", "114524", "10600000"},
new string[]{"厄瓜多尔", "基多", "南美", "455502", "10600000"},
new string[]{"萨尔瓦多", "圣萨尔瓦多", "北美", "20865", "5300000"},
new string[]{ "圭亚那", "乔治城","南美", "214969", "800000"},
};
//添加表格
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 txtrange = p.appendtext(header[i]);
txtrange.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);
datarow.getcells().get(c).addparagraph().appendtext(data[r][c]);
}
}
//设置单元格的背景颜色
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);
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。