Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Thông thường, một trường khi được chèn vào Microsoft Word đã chứa giá trị cập nhật. Ví dụ: nếu trường là công thức hoặc số trang, nó sẽ chứa giá trị được tính toán chính xác cho phiên bản đã cho của tài liệu. Nhưng nếu bạn có một ứng dụng tạo hoặc sửa đổi tài liệu có các trường (ví dụ: kết hợp hai tài liệu hoặc điền dữ liệu) thì để tài liệu đó hữu ích, lý tưởng nhất là tất cả các trường phải được cập nhật.
Một trường bao gồm:

Dưới đây là chế độ xem cách một trường được lưu trữ trong Aspose.Words bằng cách sử dụng ví dụ “DocumentExplorer” có thể tìm thấy trên Github.

Aspose.Words là thư viện lớp được thiết kế để xử lý tài liệu Microsoft Word phía máy chủ và hỗ trợ các trường theo các cách sau:
Các trường trong tài liệu Microsoft Word rất phức tạp. Có hơn 50 loại trường (mỗi loại cần quy trình tính toán kết quả riêng), công thức và biểu thức, dấu trang và tham chiếu, chức năng và các công tắc khác nhau. Các trường cũng có thể được lồng nhau. Thông thường khi mở tài liệu, kết quả trường (giá trị của trường) được hiển thị cho tất cả các trường trong tài liệu. Bạn có thể chuyển đổi cách hiển thị kết quả trường hoặc mã trường trong Microsoft Word cho tất cả các trường bằng cách nhấn ALT+F9.
| Mã trường | Kết quả trường |
|---|---|
![]() |
![]() |
Để chèn một trường trong Microsoft Word:




Để cập nhật một trường trong Microsoft Word:
Để cập nhật tất cả các trường trong Microsoft Word:
Để chuyển đổi mã trường của một trường trong Microsoft Word:
Để chuyển đổi mã trường của tất cả các trường trong Microsoft Word:
Để chuyển đổi trường động thành văn bản tĩnh trong Microsoft Word:
Để xóa một trường trong Microsoft Word:
Khi một tài liệu được tải vào Aspose.Words, các trường của tài liệu đó sẽ được tải vào Aspose.Words Document Object Model dưới dạng một tập hợp các thành phần (nút) riêng biệt. Một trường duy nhất được tải dưới dạng tập hợp các nút FieldStart, FieldSeparator và FieldEnd cùng với nội dung ở giữa các nút này. Nếu một trường không có kết quả trường thì sẽ không có nút FieldSeparator. Tất cả các nút này luôn được tìm thấy nội tuyến (là con của Paragraph hoặc SmartTag.
Nội dung tạo nên mã trường được lưu trữ dưới dạng các nút Run giữa FieldStart và FieldSeparator. Kết quả trường được lưu trữ giữa các nút FieldSeparator và FieldEnd và có thể được tạo thành từ nhiều loại nội dung khác nhau. Thông thường, kết quả trường chỉ chứa văn bản được tạo thành từ các nút Run, tuy nhiên, nút FieldEnd có thể được đặt trong một đoạn hoàn toàn khác và do đó làm cho kết quả trường bao gồm các nút cấp khối như nút Table và Paragraph.
Trong Aspose.Words, mỗi nút FieldXXX đều xuất phát từ FieldChar. Lớp này cung cấp một thuộc tính để kiểm tra loại trường được biểu thị bởi nút được chỉ định thông qua thuộc tính FieldChar.field_type. Ví dụ FieldType.FIELD_MERGE_FIELD đại diện cho trường hợp nhất trong tài liệu.
Có một số trường cụ thể tồn tại trong tài liệu Word không được nhập vào Aspose.Words dưới dạng tập hợp các nút FieldXXX. Ví dụ: trường LINK và trường INCLUDEPICTURE được nhập vào Aspose.Words dưới dạng đối tượng Shape. Đối tượng này cung cấp các thuộc tính để làm việc với dữ liệu hình ảnh thường được lưu trữ trong các trường này.
Các trường biểu mẫu cũng được nhập vào Aspose.Words dưới dạng lớp đặc biệt của riêng chúng. Lớp FormField đại diện cho một trường biểu mẫu trong tài liệu Word và cung cấp các phương thức bổ sung dành riêng cho trường biểu mẫu.
Tính toán các trường sau được hỗ trợ trong phiên bản Aspose.Words hiện tại:
ADDRESSBLOCKAUTHORCOMPARECREATEDATEDATEDOCPROPERTYDOCVARIABLEGREETINGLINEIFINCLUDETEXTMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNUMPAGESPAGEPAGEREFREFSECTIONSECTIONPAGESSEQSETSTYLEREFTIMETITLETOATOC (bao gồm TOT và TOF)Aspose.Words tuân theo cách Microsoft Word xử lý các trường và kết quả là nó xử lý chính xác:
: IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words cung cấp cách triển khai công cụ công thức rất nghiêm túc và hỗ trợ những tính năng sau:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"Các hàm sau trong biểu thức được hỗ trợ: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF và COMPAREChỉ một số biểu thức IF mà Aspose.Words có thể dễ dàng tính toán sẽ cho bạn ý tưởng về tính năng này mạnh mẽ như thế nào:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE và TIMEAspose.Words hỗ trợ tất cả các công tắc định dạng ngày và giờ có sẵn trong Microsoft Word, một số ví dụ là:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words không áp đặt giới hạn nào về độ phức tạp của các trường Mail Merge trong tài liệu của bạn và hỗ trợ các trường công thức và IF lồng nhau, đồng thời thậm chí có thể tính toán tên của trường hợp nhất bằng công thức.
Một số ví dụ về trường Mail Merge mà Aspose.Words hỗ trợ:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }Một trường trong tài liệu có thể có các công tắc định dạng chỉ định cách định dạng giá trị kết quả. Aspose.Words hỗ trợ các chuyển đổi định dạng sau:
Khi Aspose.Words tính toán một kết quả trường, nó thường cần phân tích một chuỗi thành một giá trị số hoặc ngày, đồng thời định dạng lại chuỗi đó. Theo mặc định, Aspose.Words sử dụng văn hóa luồng hiện tại để thực hiện phân tích cú pháp và định dạng khi tính toán các giá trị trường trong quá trình cập nhật trường và mail merge. Ngoài ra còn có các tùy chọn được cung cấp dưới dạng lớp FieldOptions cho phép kiểm soát sâu hơn về nền văn hóa nào được sử dụng trong quá trình cập nhật trường.
Để kiểm soát văn hóa được sử dụng trong quá trình tính toán trường, chỉ cần sử dụng phương pháp locale.setlocale để đặt văn hóa bạn chọn trước khi gọi tính toán trường. Ví dụ dưới đây cho thấy cách thay đổi văn hóa được sử dụng trong các trường định dạng trong quá trình cập nhật.
Việc sử dụng văn hóa hiện tại để định dạng các trường cho phép hệ thống kiểm soát dễ dàng và nhất quán cách định dạng tất cả các trường trong tài liệu trong quá trình cập nhật trường.
Mặt khác, Microsoft Word định dạng từng trường riêng lẻ dựa trên ngôn ngữ của văn bản được tìm thấy trong trường đó (cụ thể là các dòng chạy từ mã trường). Đôi khi trong quá trình cập nhật trường, đây có thể là hành vi mong muốn, ví dụ: nếu bạn có tài liệu toàn cầu hóa chứa nội dung được tạo thành từ nhiều ngôn ngữ khác nhau và muốn mỗi trường tôn trọng ngôn ngữ được sử dụng trong văn bản. Aspose.Words cũng hỗ trợ chức năng này.
Lớp Document cung cấp thuộc tính field_options chứa các thành viên có thể được sử dụng để kiểm soát cách cập nhật các trường trong tài liệu. Ví dụ dưới đây cho thấy cách chỉ định nơi văn hóa được sử dụng để định dạng ngày trong quá trình cập nhật trường và Mail Merge được chọn từ đó.
Trường được chèn bằng DocumentBuilder.insert_field sẽ trả về đối tượng Field. Đây là lớp mặt tiền cung cấp các phương thức hữu ích để nhanh chóng tìm thấy các thuộc tính như vậy của một trường. Lưu ý nếu bạn chỉ tìm kiếm tên của các trường hợp nhất trong tài liệu thì thay vào đó bạn có thể sử dụng phương thức MailMerge.get_field_names tích hợp sẵn. Ví dụ dưới đây cho thấy cách lấy tên của tất cả các trường hợp nhất trong tài liệu.
Ví dụ dưới đây cho thấy cách đổi tên các trường hợp nhất trong tài liệu Word.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.