Tạo bảng HTML trong Java

Bảng HTML hiển thị dữ liệu ở định dạng lưới trên các trang web. Bảng sắp xếp dữ liệu dạng bảng dưới dạng hàng và cột, trong đó mỗi ô có thể chứa văn bản, hình ảnh, liên kết hoặc các phần tử HTML khác. Trong bài đăng trên blog này, chúng ta sẽ tìm hiểu cách tạo bảng HTML trong Java.

Bài viết này bao gồm các chủ đề sau:

  1. API Java để tạo bảng HTML
  2. Tạo bảng HTML
  3. Tạo bảng HTML với thuộc tính kiểu
  4. Bảng HTML có rowspan và colspan
  5. Trình tạo bảng HTML trực tuyến
  6. Tài nguyên học tập miễn phí

API Java để tạo bảng HTML

Chúng ta sẽ sử dụng Aspose.HTML for Java để tạo các bảng HTML theo chương trình. Nó cho phép các nhà phát triển làm việc với các tài liệu HTML trong các ứng dụng Java. Nó cho phép phân tích cú pháp HTML, hiển thị, chỉnh sửa và chuyển đổi tài liệu HTML sang các định dạng được hỗ trợ khác.

Vui lòng tải xuống JAR của API hoặc thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên Maven.

 <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>

Tạo bảng HTML trong Java

Bảng HTML được xác định bằng cách sử dụng <table> phần tử và cấu trúc của nó được chỉ định thêm bằng cách sử dụng nhiều phần tử khác, chẳng hạn như <tr> cho các hàng, <th> cho các ô tiêu đề và <td> cho các ô dữ liệu.

Chúng ta có thể dễ dàng tạo bảng HTML bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp HTMLDocument.
  2. Bạn có thể tùy ý tạo một phần tử kiểu và nối nó vào phần tử đầu.
  3. Tạo <table> , <tbody> , <tr> , <th> , và <td> các phần tử sử dụng phương thức createElement().
  4. Nối các phần tử con vào phần tử cha của chúng bằng phương thứcappendChild().
  5. Sau đó, nối thêm <table> phần tử vào <body> phần tử.
  6. Cuối cùng, gọi phương thức save() để lưu tài liệu vào đường dẫn file đã cho.

Mẫu mã sau đây cho thấy cách tạo bảng HTML trong Java.

// Chuẩn bị đường dẫn để lưu file đã chỉnh sửa 
String savePath = "C:\\Files\\Table.html";

// Khởi tạo một tài liệu HTML trống
HTMLDocument document = new HTMLDocument();

// Tạo một phần tử kiểu và gán các giá trị color border-style và border-color cho phần tử bảng
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; }");

// Tìm phần tử đầu tài liệu và nối phần tử kiểu vào phần đầu
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);

// Khai báo một thân biến tham chiếu đến<body> yếu tố
Element body = document.getBody();

// Chỉ định cột và hàng
int cols = 3;
int rows = 2;
boolean isFirstRowHeader = false;

// Tạo phần tử bảng
Element table = document.createElement("table");

// Tạo nội dung bảng
Element tbody = document.createElement("tbody");
table.appendChild(tbody);

// Tạo hàng tiêu đề bảng 
if (isFirstRowHeader)
{
    Element tr = document.createElement("tr");
    tbody.appendChild(tr);

    // Tạo cột tiêu đề bảng 
   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++)
    {
        // Tạo một hàng trong bảng 
        Element dataTr = document.createElement("tr");
        tbody.appendChild(dataTr);

        // Tạo ô tiêu đề bảng
       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++)
    {
        // Tạo một hàng trong bảng 
        Element dataTr = document.createElement("tr");
        tbody.appendChild(dataTr);

        // Tạo ô bảng
       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);
        }
    }
}

// Nối bảng vào nội dung
body.appendChild(table);

// Lưu tài liệu vào một tập tin
document.save(savePath);
Tạo bảng HTML trong Java

Tạo bảng HTML trong Java

Tạo bảng HTML với thuộc tính kiểu trong Java

Chúng ta có thể chỉ định <style> attributes for HTML elements using the SetAttribute(string name, string value) method. We will create an HTML table by following the steps mentioned earlier. However, we need to set the <style> attributes using the SetAttribute(string name, string value) method. It adds a new attribute for the element or updates the value if the attribute name is already present. We can set attributes for <table>, <tbody>, <tr>, <th>, and <td> elements.

Mẫu mã sau đây cho thấy cách tạo bảng HTML với các thuộc tính kiểu trong Java.

// Chuẩn bị đường dẫn để lưu file đã chỉnh sửa 
String savePath = "C:\\Files\\TableWithStyle.html";

// Khởi tạo một tài liệu HTML trống
HTMLDocument document = new HTMLDocument();

// Tạo một phần tử kiểu và gán các giá trị color border-style và border-color cho phần tử bảng
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; border-collapse: collapse;}");

// Tìm phần tử đầu tài liệu và nối phần tử kiểu vào phần đầu
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);

// Khai báo một thân biến tham chiếu đến<body> yếu tố
Element body = document.getBody();

// Tạo phần tử bảng
Element table = document.createElement("table");
table.setAttribute("style", "background-color:#00FF00;");

// Tạo thân bảng
Element tbody = document.createElement("tbody");
table.appendChild(tbody);

// Tạo hàng tiêu đề bảng 
Element tr = document.createElement("tr");
tbody.appendChild(tr);

// Đặt thuộc tính kiểu với các thuộc tính cho phần tử đã chọn               
tr.setAttribute("style", "border: 2px Black solid; background-color:Red; color:#FFFFFF");

// Tạo ô tiêu đề bảng 1
Element th = document.createElement("th");
Text title = document.createTextNode("Name");
th.appendChild(title);
tr.appendChild(th);

// Tạo ô tiêu đề bảng 2
th = document.createElement("th");
title = document.createTextNode("Email");
th.appendChild(title);
tr.appendChild(th);

// Tạo ô tiêu đề bảng 3
th = document.createElement("th");
title = document.createTextNode("Phone");
th.appendChild(title);
tr.appendChild(th);

// Tạo hàng dữ liệu bảng 
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);

// Tạo ô dữ liệu bảng 1
Element td = document.createElement("td");
Text data = document.createTextNode("John Doe");
td.appendChild(data);
dataTr.appendChild(td);

// Tạo ô dữ liệu bảng 2
td = document.createElement("td");
data = document.createTextNode("john.doe@example.com");
td.appendChild(data);
dataTr.appendChild(td);

// Tạo ô dữ liệu bảng 3
td = document.createElement("td");
data = document.createTextNode("123-456-789");
td.appendChild(data);
dataTr.appendChild(td);

// Nối bảng vào nội dung
body.appendChild(table);

// Lưu tài liệu vào một tập tin
document.save(savePath);
Tạo bảng HTML với thuộc tính kiểu trong Java

Tạo bảng HTML với thuộc tính kiểu trong Java

Tạo bảng HTML với Rowspan và Colspan trong Java

<colspan><rowspan> là các thuộc tính trong HTML được sử dụng trong <td><th> để kiểm soát phạm vi của một ô trên nhiều cột hoặc hàng trong bảng HTML. Chúng ta có thể thiết lập <colspan><rowspan> thuộc tính cho các ô trong bảng bằng phương thức SetAttribution(tên chuỗi, giá trị chuỗi), như hiển thị bên dưới:

// Chuẩn bị đường dẫn để lưu file đã chỉnh sửa 
String savePath = "C:\\Files\\ColSpanRowSpan.html";

// Khởi tạo một tài liệu HTML trống
HTMLDocument document = new HTMLDocument();

// Tạo một phần tử kiểu và gán các giá trị color border-style và border-color cho phần tử bảng
Element style = document.createElement("style");
style.setTextContent("table, th, td { border: 1px solid #0000ff; border-collapse: collapse;}");

// Tìm phần tử đầu tài liệu và nối phần tử kiểu vào phần đầu
Element head = document.getElementsByTagName("head").get_Item(0);
head.appendChild(style);

// Khai báo một thân biến tham chiếu đến<body> yếu tố
Element body = document.getBody();

// Tạo phần tử bảng
Element table = document.createElement("table");

// Tạo thân bảng
Element tbody = document.createElement("tbody");
table.appendChild(tbody);

// Tạo hàng tiêu đề bảng 
Element tr = document.createElement("tr");
tbody.appendChild(tr);

// Tạo ô tiêu đề bảng 1
Element th = document.createElement("th");
Text title = document.createTextNode("Person Details");
th.appendChild(title);
tr.appendChild(th);

// Chỉ định Colspan
th.setAttribute("colspan", "2");

// Tạo hàng dữ liệu bảng 
Element dataTr = document.createElement("tr");
tbody.appendChild(dataTr);

// Tạo ô tiêu đề bảng 1
th = document.createElement("th");
title = document.createTextNode("Name");
th.appendChild(title);
dataTr.appendChild(th);

// Tạo ô dữ liệu bảng 2
Element td = document.createElement("td");
Text data = document.createTextNode("John Doe");
td.appendChild(data);
dataTr.appendChild(td);

// Tạo hàng dữ liệu bảng 
dataTr = document.createElement("tr");
tbody.appendChild(dataTr);

// Tạo ô tiêu đề bảng
th = document.createElement("th");
title = document.createTextNode("Phone");
th.appendChild(title);
dataTr.appendChild(th);

// Chỉ định Colspan
th.setAttribute("rowspan", "2");

// Tạo ô dữ liệu bảng
td = document.createElement("td");
data = document.createTextNode("123-456-780");
td.appendChild(data);
dataTr.appendChild(td);

// Tạo hàng dữ liệu bảng 
dataTr = document.createElement("tr");
tbody.appendChild(dataTr);

// Tạo ô dữ liệu bảng
td = document.createElement("td");
data = document.createTextNode("123-456-789");
td.appendChild(data);
dataTr.appendChild(td);

// Nối bảng vào nội dung
body.appendChild(table);

// Lưu tài liệu vào một tập tin
document.save(savePath);
Tạo bảng HTML với Rowspan và Colspan trong Java

Tạo bảng HTML với Rowspan và Colspan trong Java

Nhận giấy phép miễn phí

Vui lòng nhận giấy phép tạm thời miễn phí để dùng thử Aspose.HTML for Java mà không bị giới hạn về đánh giá.

Trình tạo bảng HTML trực tuyến

Bạn cũng có thể tạo bảng HTML trực tuyến bằng ứng dụng web trình tạo bảng HTML miễn phí này, được phát triển bằng API này.

Tạo bảng HTML – Tài nguyên học tập

Bên cạnh việc tạo bảng HTML, hãy tìm hiểu thêm về cách tạo, thao tác và chuyển đổi tài liệu HTML cũng như khám phá nhiều tính năng khác của thư viện bằng cách sử dụng các tài nguyên bên dưới:

Phần kết luận

Trong bài đăng trên blog này, chúng ta đã học cách tạo bảng HTML trong Java. Bằng cách làm theo các bước được nêu trong bài viết này, bạn có thể dễ dàng phát triển các giải pháp tùy chỉnh của riêng mình để làm việc với các bảng HTML. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm