รวมเซลล์ในตาราง

บาง ครั้ง มี บาง แถว ใน โต๊ะ ที่ ต้อง มี ข้อ ความ หรือ ข้อ ความ มาก ๆ ซึ่ง ทํา ให้ โต๊ะ มี ความ กว้าง เต็ม ที่. เพื่อ จะ ออก แบบ โต๊ะ อย่าง ถูก ต้อง ผู้ ใช้ สามารถ นํา เซลล์ ต่าง ๆ ใน โต๊ะ มา รวม กัน เป็น เซลล์ เดียว. Aspose.Words รองรับการรวมเซลล์เมื่อมีการทํางานร่วมกับรูปแบบการนําเข้าทั้งหมด รวมถึงการนําเข้าเนื้อหา HTML

วิธี รวม เซลล์ ใน ตาราง

ใน Aspose.Words, เซลล์ ที่ ถูก รวม เข้า ด้วย กัน มี คุณสมบัติ ต่อ ไป นี้ CellFormat คลาส:

  • HorizontalMerge ซึ่งอธิบายว่าถ้าเซลล์เป็นส่วนหนึ่งของการ ผนวกแนวนอนของเซลล์
  • VerticalMerge ซึ่งอธิบายว่าถ้าเซลล์เป็นส่วนหนึ่งของการ ผนวกแนวตั้งของเซลล์

ค่าของคุณสมบัติเหล่านี้ เป็นตัวกําหนดพฤติกรรมการรวมของเซลล์

  • เซลล์แรกในลําดับของการรวมกันของเซลล์จะมี CellMerge.First
  • เซลล์ใด ๆ ที่รวมตัวกันภายหลัง จะมี CellMerge.Previous
  • เซลล์ที่ไม่ได้รวมกันจะมี CellMerge.None

work-with-merged-cells-aspose-words-java

การตรวจสอบว่าเซลล์ถูกผนวกอยู่

เพื่อตรวจสอบว่าเซลล์เป็นส่วนหนึ่งของลําดับของการรวมกันของเซลล์ เราเพียงแค่ตรวจสอบ HorizontalMerge ถึง VerticalMerge คุณสมบัติ

ตัวอย่างรหัสต่อไปนี้แสดงถึงวิธีการพิมพ์เซลล์ในแนวนอนและแนวตั้ง

ผนวกรวมเซลล์ตารางเมื่อใช้ตัวสร้างเอกสาร

เพื่อรวมเซลล์ในตารางที่สร้างขึ้นด้วย DocumentBuilder, คุณ ต้อง กําหนด ชนิด การ รวม ตัว ที่ เหมาะ สม สําหรับ แต่ ละ เซลล์ ซึ่ง คาด หมาย ว่า จะ รวม เข้า ด้วย – ก่อน CellMerge.First จากนั้น CellMerge.Previous.

นอกจากนี้ คุณต้องจําไว้ว่า ต้องล้างการตั้งค่าการรวมเซลล์เหล่านั้น ที่ไม่มีความจําเป็นในการรวม - นี้สามารถทําได้โดยการตั้งค่าเซลล์แรกที่ไม่ใช่การไหล CellMerge.None. ถ้ายังทําไม่เสร็จ เซลล์ทั้งหมดในตารางจะถูกรวมเข้าด้วยกัน

ตัวอย่างรหัสต่อไปนี้ แสดงให้เห็นว่าจะสร้างตารางด้วยสองแถว โดยเซลล์ในแถวแรกจะรวมกันทางแนวนอน

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการสร้างตารางสองโคลัมน์ ที่ซึ่งเซลล์ในคอลัมน์แรกถูกผนวกทางแนวตั้ง:

ผนวกรวมเซลล์ตารางในกรณีอื่น ๆ

ในสถานการณ์อื่น ๆ ที่ DocumentBuilder ไม่ มี การ ใช้ เซลล์ ต่าง ๆ เช่น ใน โต๊ะ ที่ มี อยู่ แล้ว ใน วิธี ก่อน หน้า นี้ อาจ ไม่ ง่าย นัก. แทน ที่ จะ เป็น เช่น นั้น เรา สามารถ ตัด การ ดําเนิน งาน ขั้น พื้น ฐาน ที่ เกี่ยว ข้อง กับ การ นํา คุณสมบัติ การ ผนวก กับ เซลล์ ใน วิธี ที่ ทํา ให้ งาน ง่าย ขึ้น มาก. วิธี นี้ คล้าย กับ วิธี การ ผนวก ระบบ อัตโนมัติ ซึ่ง เรียก ว่า การ รวม ช่วง ของ เซลล์ ใน ตาราง.

รหัสด้านล่างนี้จะรวมเซลล์ตารางในช่วงที่ระบุ เริ่มต้นที่เซลล์ที่ให้และสิ้นสุดที่ปลายเซลล์ ในกรณีนี้, เรนจ์สามารถสแปนได้หลายแถวหรือคอลัมน์:

ตัว อย่าง รหัส ต่อ ไป นี้ แสดง ให้ เห็น วิธี รวม ช่วง ของ เซลล์ ระหว่าง สอง เซลล์ ที่ กําหนด ไว้:

แนวตั้งและแนวนอนของเซลล์ในตาราง HTML

ดัง ที่ เรา ได้ กล่าว ไป แล้ว ใน บทความ ก่อน โต๊ะ ใน Microsoft Word เป็นเซตของแถวอิสระ แต่ละแถวมีกลุ่มเซลล์ที่เป็นอิสระ จากเซลล์ของอีกแถวหนึ่ง ดังนั้นใน Microsoft Word โต๊ะไม่มีวัตถุใด ๆ เช่น “ลูกโซ่” และ “คอลัมน์ที่ 1” เป็นเหมือน “เซตของเซลล์ที่ 1 ของแต่ละแถวในตาราง” ตัว อย่าง เช่น การ ทํา เช่น นี้ ทํา ให้ ผู้ ใช้ มี ตาราง ซึ่ง แถว ที่ 1 ประกอบ ด้วย สอง เซลล์ – 2 ซม และ 1 ซม. และ Aspose.Words สนับสนุนแนวคิดของตารางนี้

ตารางใน HTML มีโครงสร้างที่ต่างกัน: แต่ละแถวมีจํานวนเซลล์เท่ากัน และสําคัญสําหรับงานนั้น) แต่แต่ละเซลล์มีความกว้างของคอลัมน์ที่ตรงกัน ถ้า HorizontalMerge ถึง VerticalMerge ตอบกลับค่าไม่ถูกต้อง ใช้ตัวอย่างโค้ดต่อไปนี้:

แปลงเป็นทางแนวนอน ผสานเซลล์

บาง ครั้ง เป็น ไป ไม่ ได้ ที่ จะ ตรวจ พบ ว่า เซลล์ ไหน ถูก รวม เข้า ด้วย กัน เพราะ มี เซลล์ ใหม่ กว่า Microsoft Word ไม่ใช้ธงรวมอีกต่อไป เมื่อเซลล์ถูกรวมเข้าด้วยกันทางแนวนอน แต่สําหรับสถานการณ์ ที่เซลล์ถูกรวมเป็นเซลล์ในแนวนอน โดยความกว้างของมัน Aspose.Words ให้ ConvertToHorizontallyMergedCells วิธีการแปลงเซลล์ วิธี นี้ เพียง แต่ เปลี่ยน ตาราง และ เพิ่ม เซลล์ ใหม่ ตาม ที่ จําเป็น.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการดังกล่าวในการดําเนินการ: