HTML 表格在網頁上以網格格式顯示資料。表格以行和列的形式組織表格數據,其中每個單元格可以包含文字、圖像、連結或其他 HTML 元素。在這篇文章中,我們將學習如何用 Java 建立 HTML 表。
本文涵蓋以下主題:
用於建立 HTML 表的 Java API
我們將使用 Aspose.HTML for Java 以程式設計方式建立 HTML 表格。它使開發人員能夠在 Java 應用程式中使用 HTML 文件。它允許 HTML 解析、渲染、編輯以及將 HTML 文件轉換為其他支援的格式。
請下載 API 的 JAR 或在基於 Maven 的 Java 應用程式中新增以下 pom.xml 配置。
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>23.11</version>
<classifier>jdk17</classifier>
</dependency>
</dependencies>
在 Java 中建立 HTML 表
HTML 表格是使用<table>
元素,並使用各種其他元素進一步指定其結構,例如 <tr>
對於行,<th>
用於標題單元格,以及 <td>
用於資料單元格。
我們可以按照以下步驟輕鬆建立 HTML 表格:
- 建立 HTMLDocument 類別的實例。
- (可選)建立一個樣式元素並將其附加到 head 元素。
- 創建
<table>
,<tbody>
,<tr>
,<th>
、和<td>
使用 createElement() 方法的元素。 - 使用appendChild() 方法將子元素追加到其父元素。
- 之後,附加
<table>
元素到<body>
元素。 - 最後,呼叫 save() 方法將文件保存在給定的文件路徑中。
以下程式碼範例展示如何在 Java 中建立 HTML 表。
// 準備編輯文件儲存路徑
String savePath = "C:\\Files\\Table.html";
// 初始化一個空的 HTML 文檔
HTMLDocument document = new HTMLDocument();
// 建立樣式元素並為表格元素指派顏色 border-style 和 border-color 值
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; }");
// 找到文檔頭元素並將樣式元素附加到頭部
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);
// 宣告一個引用的變數體<body>元素
Element body = document.getBody();
// 指定列和行
int cols = 3;
int rows = 2;
boolean isFirstRowHeader = false;
// 建立表格元素
Element table = document.createElement("table");
// 建立表體
Element tbody = document.createElement("tbody");
table.appendChild(tbody);
// 建立表格標題行
if (isFirstRowHeader)
{
Element tr = document.createElement("tr");
tbody.appendChild(tr);
// 建立表標題列
for (int j = 1; j < cols + 1; j++)
{
Element th = document.createElement("th");
Text title = document.createTextNode("Column-" + j);
th.appendChild(title);
tr.appendChild(th);
}
for (int i = 0; i < rows - 1; i++)
{
// 建立表行
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表格標題儲存格
for (int j = 1; j < cols + 1; j++)
{
Element td = document.createElement("td");
Text title = document.createTextNode("Data-" + j);
td.appendChild(title);
dataTr.appendChild(td);
}
}
}
else
{
for (int i = 0; i < rows; i++)
{
// 建立表行
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表格單元格
for (int j = 1; j < cols + 1; j++)
{
Element td = document.createElement("td");
Text title = document.createTextNode("Data-" + j);
td.appendChild(title);
dataTr.appendChild(td);
}
}
}
// 將表格附加到正文
body.appendChild(table);
// 將文件儲存到文件
document.save(savePath);
在 Java 中建立帶有樣式屬性的 HTML 表
以下程式碼範例示範如何在 Java 中建立具有樣式屬性的 HTML 表。
// 準備編輯文件儲存路徑
String savePath = "C:\\Files\\TableWithStyle.html";
// 初始化一個空的 HTML 文檔
HTMLDocument document = new HTMLDocument();
// 建立樣式元素並為表格元素指派顏色 border-style 和 border-color 值
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; border-collapse: collapse;}");
// 找到文檔頭元素並將樣式元素附加到頭部
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);
// 宣告一個引用的變數體<body>元素
Element body = document.getBody();
// 建立表格元素
Element table = document.createElement("table");
table.setAttribute("style", "background-color:#00FF00;");
// 建立表體
Element tbody = document.createElement("tbody");
table.appendChild(tbody);
// 建立表格標題行
Element tr = document.createElement("tr");
tbody.appendChild(tr);
// 使用所選元素的屬性設定樣式屬性
tr.setAttribute("style", "border: 2px Black solid; background-color:Red; color:#FFFFFF");
// 建立表頭單元格 1
Element th = document.createElement("th");
Text title = document.createTextNode("Name");
th.appendChild(title);
tr.appendChild(th);
// 建立表頭單元格 2
th = document.createElement("th");
title = document.createTextNode("Email");
th.appendChild(title);
tr.appendChild(th);
// 建立表頭單元格 3
th = document.createElement("th");
title = document.createTextNode("Phone");
th.appendChild(title);
tr.appendChild(th);
// 建立表格資料行
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表格資料儲存格1
Element td = document.createElement("td");
Text data = document.createTextNode("John Doe");
td.appendChild(data);
dataTr.appendChild(td);
// 建立表格資料儲存格2
td = document.createElement("td");
data = document.createTextNode("john.doe@example.com");
td.appendChild(data);
dataTr.appendChild(td);
// 建立表格資料儲存格 3
td = document.createElement("td");
data = document.createTextNode("123-456-789");
td.appendChild(data);
dataTr.appendChild(td);
// 將表格附加到正文
body.appendChild(table);
// 將文件儲存到文件
document.save(savePath);
在 Java 中使用 Rowspan 和 Colspan 建立 HTML 表
的<colspan>
和 <rowspan>
是 HTML 中的屬性,在 <td>
和 <th>
元素控制 HTML 表格中多個列或多行的儲存格跨距。我們可以設定<colspan>
和 <rowspan>
使用 SetAttribute(string name, string value) 方法為表格儲存格設定屬性,如下所示:
// 準備編輯文件儲存路徑
String savePath = "C:\\Files\\ColSpanRowSpan.html";
// 初始化一個空的 HTML 文檔
HTMLDocument document = new HTMLDocument();
// 建立樣式元素並為表格元素指派顏色 border-style 和 border-color 值
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; border-collapse: collapse;}");
// 找到文檔頭元素並將樣式元素附加到頭部
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);
// 宣告一個引用的變數體<body>元素
Element body = document.getBody();
// 建立表格元素
Element table = document.createElement("table");
// 建立表體
Element tbody = document.createElement("tbody");
table.appendChild(tbody);
// 建立表格標題行
Element tr = document.createElement("tr");
tbody.appendChild(tr);
// 建立表頭單元格 1
Element th = document.createElement("th");
Text title = document.createTextNode("Person Details");
th.appendChild(title);
tr.appendChild(th);
// 指定列跨度
th.setAttribute("colspan", "2");
// 建立表格資料行
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表頭單元格 1
th = document.createElement("th");
title = document.createTextNode("Name");
th.appendChild(title);
dataTr.appendChild(th);
// 建立表格資料儲存格2
Element td = document.createElement("td");
Text data = document.createTextNode("John Doe");
td.appendChild(data);
dataTr.appendChild(td);
// 建立表格資料行
dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表頭單元格
th = document.createElement("th");
title = document.createTextNode("Phone");
th.appendChild(title);
dataTr.appendChild(th);
// 指定列跨度
th.setAttribute("rowspan", "2");
// 建立表格資料儲存格
td = document.createElement("td");
data = document.createTextNode("123-456-780");
td.appendChild(data);
dataTr.appendChild(td);
// 建立表格資料行
dataTr = document.createElement("tr");
tbody.appendChild(dataTr);
// 建立表格資料儲存格
td = document.createElement("td");
data = document.createTextNode("123-456-789");
td.appendChild(data);
dataTr.appendChild(td);
// 將表格附加到正文
body.appendChild(table);
// 將文件儲存到文件
document.save(savePath);
取得免費許可證
請取得免費的臨時許可證嘗試 Aspose.HTML for Java,不受評估限制。
HTML 線上表格產生器
您也可以使用這個免費的 HTML 表格產生器 Web 應用程式在線上建立 HTML 表格,該應用程式是使用此 API 開發的。
建立 HTML 表 – 學習資源
除了建立 HTML 表之外,您還可以了解有關創建、操作和轉換 HTML 文件的更多信息,並使用以下資源探索該庫的各種其他功能:
結論
在這篇文章中,我們學習如何用 Java 建立 HTML 表。透過遵循本文中概述的步驟,您可以輕鬆開發自己的自訂解決方案來處理 HTML 表格。如有任何疑問,請隨時透過我們的免費支援論壇與我們聯繫。