Tạo Một Bảng

Aspose.Words cho phép người dùng tạo bảng trong tài liệu từ đầu và cung cấp một số phương pháp khác nhau để làm như vậy. Bài viết này trình bày chi tiết về cách thêm các bảng được định dạng vào tài liệu của bạn bằng từng phương thức, cũng như so sánh từng phương thức ở cuối bài viết.

Kiểu Bảng Mặc Định

Bảng mới được tạo được cung cấp các giá trị mặc định tương tự như các giá trị được sử dụng trong Microsoft Word:

Tài Sản Bảng Mặc định trong Aspose.Words
Border Style Single
Border Width 1/2 hp
Border Color Black
Left and Right Padding 5.4 pts
AutoFit Mode AutoFit to Window
Allow AutoFit True

Tạo Một Bảng với DocumentBuilder

Trong Aspose.Words, người dùng có thể tạo một bảng trong tài liệu bằng DocumentBuilder. Thuật toán cơ bản để tạo một bảng như sau:

  1. Bắt đầu bảng với StartTable
  2. Thêm một ô vào bảng bằng cách sử dụng InsertCell – thao tác này sẽ tự động bắt đầu một hàng mới
  3. Tùy chọn, sử dụng thuộc tính CellFormat để chỉ định định dạng ô
  4. Chèn nội dung ô bằng các phương thức DocumentBuilder thích hợp như Writeln, InsertImage và các phương thức khác
  5. Lặp lại các bước 2 -4 cho đến khi hàng hoàn tất
  6. Gọi EndRow để kết thúc hàng hiện tại
  7. Tùy chọn, sử dụng thuộc tính RowFormat để chỉ định định dạng hàng
  8. Lặp lại các bước 2 -7 cho đến khi bảng hoàn tất
  9. Gọi EndTable để hoàn thành việc xây dựng bảng

Quá trình tạo một bảng có thể được nhìn thấy rõ ràng trong hình sau:

creating-table-process

Ví dụ mã sau đây cho thấy cách tạo một bảng đơn giản bằng DocumentBuilder với định dạng mặc định:

Ví dụ mã sau đây cho thấy cách tạo bảng được định dạng bằng DocumentBuilder:

Ví dụ mã sau đây cho thấy cách chèn bảng lồng nhau bằng DocumentBuilder:

Tạo Một Bảng thông qua DOM (Mô Hình Đối tượng Tài liệu)

Bạn có thể chèn các bảng trực tiếp vào DOM bằng cách thêm nút Table mới tại một vị trí cụ thể.

Xin lưu ý rằng ngay sau khi tạo nút bảng, bản thân bảng sẽ hoàn toàn trống, nghĩa là nó chưa chứa các hàng và ô. Để chèn các hàng và ô vào bảng, hãy thêm các nút con RowCell thích hợp vào DOM.

Ví dụ mã sau đây cho thấy cách xây dựng một bảng mới từ đầu bằng cách thêm các nút con thích hợp vào cây tài liệu:

Tạo Một Bảng từ HTML

Aspose.Words hỗ trợ chèn nội dung vào tài liệu từ nguồn HTML bằng phương thức InsertHtml. Đầu vào có thể là một trang HTML hoàn chỉnh hoặc chỉ là một đoạn mã một phần.

Sử dụng phương thức InsertHtml, người dùng có thể chèn các bảng vào tài liệu thông qua các thẻ bảng như <table>, <tr>, <td>.

Ví dụ mã sau đây cho thấy cách chèn một bảng vào tài liệu từ một chuỗi chứa HTML thẻ:

Chèn Một Bản Sao Của Một Bảng Hiện Có

Thường có những lúc bạn cần tạo một bảng dựa trên một bảng đã có trong tài liệu. Cách dễ nhất để sao chép một bảng trong khi giữ lại tất cả các định dạng là sao chép Nút Bảng bằng phương thức Clone.

Kỹ thuật tương tự có thể được sử dụng để thêm các bản sao của một hàng hoặc ô hiện có vào bảng.

Ví dụ mã sau đây cho thấy cách sao chép bảng bằng cách sử dụng hàm tạo nút:

Ví dụ mã sau đây cho thấy cách sao chép hàng cuối cùng của bảng và nối nó vào bảng:

Nếu bạn đang xem xét việc tạo các bảng trong một tài liệu phát triển linh hoạt với mỗi bản ghi từ nguồn dữ liệu của bạn, thì phương pháp trên không được khuyến khích. Thay vào đó, đầu ra mong muốn dễ dàng đạt được hơn bằng cách sử dụng Mail merge với các vùng. Bạn có thể tìm hiểu thêm về kỹ thuật này trong Mail Merge Với Các Khu Vực phần.

So Sánh Các Cách Để Tạo Bảng

Aspose.Words cung cấp một số phương pháp để tạo bảng mới trong tài liệu. Mỗi phương pháp đều có những ưu điểm và nhược điểm riêng, vì vậy việc lựa chọn sử dụng phương pháp nào thường phụ thuộc vào tình huống cụ thể.

Chúng ta hãy xem xét kỹ hơn những cách tạo bảng này và so sánh ưu và nhược điểm của chúng:

Phương pháp Ưu điểm Nhược điểm
DocumentBuilder Phương pháp tiêu chuẩn để chèn bảng và nội dung tài liệu khác Đôi khi rất khó để tạo ra nhiều loại bảng cùng một lúc với cùng một ví dụ xây dựng
Qua DOM Phù hợp hơn với mã xung quanh tạo và chèn các nút trực tiếp vào DOM mà không cần sử dụng DocumentBuilder Bảng được tạo “trống”: trước khi thực hiện hầu hết các thao tác, bạn phải gọi EnsureMinimum để tạo bất kỳ nút con nào bị thiếu
Từ HTML Có thể tạo một bảng mới từ nguồn HTML bằng cách sử dụng các thẻ như <table>, <tr>, <td> Không phải tất cả các định dạng bảng Microsoft Word có thể được áp dụng cho HTML
Nhân bản một bảng hiện có Bạn có thể tạo một bản sao của một bảng hiện có trong khi vẫn giữ nguyên tất cả định dạng hàng và ô Các nút con thích hợp phải được xóa trước khi bảng sẵn sàng để sử dụng