ปรับใช้รูปแบบตาราง

แต่ละองค์ประกอบของตารางสามารถใช้ได้ ด้วยรูปแบบที่แตกต่างกัน ตัวอย่างเช่น การฟอร์แมตตารางจะถูกนําไปใช้กับทั้งตาราง การฟอร์แมตแถวเฉพาะแถว การฟอร์แมตเซลล์เท่านั้น

Aspose.Words ให้ที่อุดมไปด้วย API เพื่อรับและปรับใช้รูปแบบตาราง คุณสามารถใช้ Table, RowFormat, ถึง CellFormat โหนดที่จะตั้งค่ารูปแบบ

ใน บทความ นี้ เรา จะ พิจารณา วิธี การ ปรับ ปรุง ให้ เหมาะ กับ ปม ต่าง ๆ ใน โต๊ะ และ การ ตกแต่ง ตาราง Aspose.Words สนับสนุน

ปรับใช้รูปแบบกับโหนดต่าง ๆ

ในส่วนนี้ เราจะพิจารณาเรื่องการตกแต่งแบบตารางต่างๆ

การฟอร์แมตระดับของตาราง

ในการปรับใช้รูปแบบกับตาราง คุณสามารถใช้คุณสมบัติต่าง ๆ ที่ใช้ได้บนรูปแบบที่สัมพันธ์กัน Table โหนดโดยใช้ Table, PreferredWidth, ถึง TableCollection ชั้นเรียน

ภาพ ข้าง ล่าง แสดง ให้ เห็น ภาพ ของ Table คุณสมบัติการฟอร์แมตใน Microsoft Word และคุณสมบัติที่ตรงกันใน Aspose.Words.

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

ตัว อย่าง รหัส ต่อ ไป นี้ แสดง ให้ เห็น วิธี ใช้ ขอบ รอบ โต๊ะ:

ตัวอย่างโค้ดต่อไปนี้ จะแสดงวิธีการสร้างตารางที่มีกรอบทั้งหมดเปิดใช้ (กราฟ):

การฟอร์แมตระดับแถว

รูปแบบแถว- * สามารถควบคุมได้โดยใช้ Row, RowFormat, ถึง RowCollection ชั้นเรียน

ภาพ ข้าง ล่าง แสดง ให้ เห็น ภาพ ของ Row คุณสมบัติการฟอร์แมตใน Microsoft Word และคุณสมบัติที่ตรงกันใน Aspose.Words.

apply-formatting-to-row-level-aspose-words-java

ตัวอย่างโค้ดต่อไปนี้แสดงถึงวิธีแก้ไขแถวของตาราง:

การฟอร์แมตระดับเซลล์

การฟอร์แมตระดับเซลล์ถูกควบคุมโดย Cell, CellFormat, ถึง CellCollection ชั้นเรียน

ภาพ ข้าง ล่าง แสดง ให้ เห็น ภาพ ของ Cell คุณสมบัติการฟอร์แมตใน Microsoft Word และคุณสมบัติที่ตรงกันใน Aspose.Words.

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

ตัว อย่าง รหัส ต่อ ไป นี้ แสดง ให้ เห็น วิธี ปรับ ปรุง รูป แบบ ของ เซลล์ ตาราง:

ตัวอย่างโค้ดต่อไปนี้ จะแสดงวิธีตั้งค่าจํานวนของช่องว่าง (ในจุด) เพื่อเพิ่มค่าบน/ขวา/ล่างของเนื้อหาเซลล์:

กําหนดค่าตําแหน่งตําแหน่ง

วิธีที่ง่ายที่สุดในการตั้งค่าความสูงแถวคือการใช้ DocumentBuilder. ใช้ สิ่ง ที่ เหมาะ สม RowFormat คุณสมบัติ, คุณสามารถตั้งค่าความสูงปริยาย หรือใช้ความสูงอื่นของแต่ละแถวในตารางได้

ใน Aspose.Words, ความสูงแถวของตารางถูกควบคุมโดย:

  • สมบัติความสูงแถว - Height
  • สมบัติกฎความสูงสําหรับแถวที่กําหนด - HeightRule

ใน ขณะ เดียว กัน ความ สูง ของ แต่ ละ แถว ก็ อาจ ต่าง กัน ซึ่ง ทํา ให้ คุณ ควบคุม ตาราง ได้ อย่าง กว้าง ขวาง.

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

กําหนดตารางและความกว้างเซลล์

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

เป็น สิ่ง สําคัญ ที่ จะ รู้ ว่า ธาตุ ต่าง ๆ ใน ตาราง มี คุณสมบัติ ต่าง ๆ กัน ซึ่ง อาจ มี ผล กระทบ ต่อ ความ กว้าง ของ ตาราง โดย รวม รวม รวม รวม ทั้ง เซลล์ แต่ ละ เซลล์ นั้น มี การ คํานวณ ว่า:

  • ความกว้างที่ต้องการบนโต๊ะ
  • ความกว้างที่ต้องการกับเซลล์แต่ละเซลล์
  • อนุญาตให้ออโตไฟต์อยู่บนโต๊ะ

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

วิธี ใช้ เครื่อง มือ ที่ เหมาะ สม

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

ชนิดของความกว้างที่ควรใช้ ถูกตั้งค่าโดยใช้วิธีการต่าง ๆ PreferredWidth คลาส:

  • Auto ช่องข้อมูลสําหรับระบุค่าอัตโนมัติหรือ “ไม่มีส่วนความกว้างที่ควรใช้มากกว่า”
  • FromPercent วิธีระบุความกว้างเปอร์เซ็นต์
  • FromPoints ใช้กําหนดความกว้างของจุด

ภาพด้านล่างนี้แสดงสัญลักษณ์ของค่าความกว้าง * โดยมีหน่วยเป็นที่ตั้ง* ใน Microsoft Word และคุณสมบัติที่ตรงกันใน Aspose.Words.

formatting-table-properties-aspose-words-java

ตัว อย่าง ของ วิธี ใช้ ทาง เลือก เหล่า นี้ กับ ตาราง จริง ใน เอกสาร สามารถ เห็น ได้ ใน ภาพ ข้าง ล่าง.

table-applied-options-java

กําหนดตารางที่ควรใช้หรือความกว้างเซลล์

ใน Aspose.Words, ตารางและความกว้างเซลล์ถูกตั้งค่าโดยใช้ Table.PreferredWidth ทรัพย์สินและ CellFormat.PreferredWidth คุณสมบัติ พร้อมตัวเลือกใน PreferredWidthType การเผาผลาญ:

  • Auto, ซึ่งเทียบเท่ากับไม่มีชุดความกว้างมากกว่า
  • Percent, ซึ่งพอดีกับธาตุที่สัมพันธ์กับพื้นที่ที่มีอยู่ในหน้าต่างหรือขนาดกล่องหน้าต่าง และทําการคํานวณค่าอีกครั้งเมื่อมีการเปลี่ยนแปลงความกว้างที่มีอยู่
  • Points, ซึ่งตรงกับองค์ประกอบของความกว้างที่ระบุในจุด

ใช้ Table.PreferredWidth คุณสมบัติ จะ ปรับ ความ กว้าง ตาม ที่ ชอบ เมื่อ เทียบ กับ ภาชนะ: หน้า, คอลัมน์ ข้อ, หรือ ช่อง ตาราง ข้าง นอก หาก เป็น ตาราง ที่ วาง ไว้.

ตัวอย่างรหัสต่อไปนี้ จะแสดงวิธีตั้งค่าตารางอัตโนมัติเป็น 50% ของความกว้างหน้า:

ใช้ CellFormat.PreferredWidth คุณสมบัติบนเซลล์ที่กําหนดจะปรับความกว้างที่ชื่นชอบ

ตัวอย่างรหัสต่อไปนี้ จะแสดงวิธีตั้งค่าความกว้างต่าง ๆ ที่ต้องการ:

ค้นหาชนิดและค่าชนิดที่ควรใช้

คุณสามารถใช้ Type ถึง Value คุณสมบัติที่จะใช้ค้นหารายละเอียดของตารางหรือเซลล์ที่ต้องการ

ตัวอย่างโค้ดต่อไปนี้ จะแสดงวิธีดึงข้อมูลชนิดของเซลล์ตาราง:

วิธี ตั้ง อัตโนมัติ

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

โดยปริยายแล้ว Aspose.Words แทรกตารางใหม่โดยใช้ ปรับอัตโนมัติไปยังหน้าต่าง. ตารางจะถูกปรับขนาดตามความกว้างของหน้ากระดาษที่มี ในการปรับขนาดตาราง คุณสามารถเรียกว่า AutoFit วิธี วิธีการนี้ยอมรับ AutoFitBehavior การเพิ่มข้อมูล ระบุชนิดของออโตไฟท์ ที่นําไปใช้กับตาราง

มันสําคัญที่ต้องรู้ว่าวิธีการออโตไฟต์ จริงๆ แล้วเป็นทางลัดที่ใช้คุณสมบัติที่แตกต่างกัน ไปที่โต๊ะในเวลาเดียวกัน นี่คือคุณสมบัติที่ให้ตาราง พฤติกรรมที่สังเกตได้ เราจะหารือเกี่ยวกับคุณสมบัติเหล่านี้ สําหรับแต่ละตัวเลือกอัตโนมัติ

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

เราจะใช้ตารางต่อไปนี้ในการใช้การตั้งค่าต่าง ๆ ที่พอดีอัตโนมัติเป็นการสาธิต

apply-different-autofit-settings-to-a-table-aspose-words-java

ปรับหน้าต่างอัตโนมัติ

เมื่อมีการปรับใช้อัตโนมัติกับหน้าต่างกับตาราง การปฏิบัติการต่อไปนี้จะถูกดําเนินการอยู่เบื้องหลังภาพ:

1 เดอะ Table.AllowAutoFit มีการปรับปรุงให้ปรับขนาดคอลัมน์โดยอัตโนมัติ เพื่อให้พอดีกับเนื้อหาที่มีอยู่ โดยใช้ Table.PreferredWidth ค่าของ 100% 2 CellFormat.PreferredWidth จะถูกลบออกจากเซลล์ตารางทั้งหมด

3 ความกว้างคอลัมน์จะถูกคํานวณสําหรับเนื้อหาของตารางปัจจุบัน - ผลที่ได้คือตารางที่ครอบคลุมความกว้างทั้งหมดที่มีอยู่ 4 ความกว้างของคอลัมน์ในตารางจะถูกเปลี่ยนแปลงโดยอัตโนมัติ เมื่อผู้ใช้ทําการแก้ไขข้อความ

ตัวอย่างรหัสต่อไปนี้ จะแสดงวิธีปรับตารางไปยังความกว้างหน้า:

ตัว อย่าง ของ วิธี ใช้ ทาง เลือก เหล่า นี้ กับ ตาราง ข้าง บน จะ เห็น ได้ ใน ภาพ ข้าง ล่าง.

autofit-table-aspose-words-java

ตารางการพิมพ์อัตโนมัติไปยังเนื้อหา

เมื่อ ตาราง ถูก ปรับ ให้ เข้า กับ เนื้อหา โดย ตรง จริง ๆ แล้ว ขั้น ตอน ต่อ ไป นี้ จะ ทํา หลัง ฉาก

1 เดอะ Table.AllowAutoFit เปิดให้ปรับขนาดเซลล์แต่ละตัวโดยอัตโนมัติ

2 ลบความกว้างของตารางที่ควรใช้ออกจาก Table.PreferredWidth, CellFormat.PreferredWidth ลบสําหรับแต่ละเซลล์ของตาราง

3 ความกว้างคอลัมน์จะถูกคํานวณใหม่สําหรับเนื้อหาของตารางปัจจุบัน - ผลที่ออกมาคือตารางที่ความกว้างคอลัมน์ และความกว้างของตารางทั้งหมด ถูกปรับขนาดให้พอดีกับเนื้อหาที่ผู้ใช้ทําการแก้ไขข้อความโดยอัตโนมัติ

ตัวอย่างโค้ดต่อไปนี้ จะแสดงวิธีปรับโต๊ะให้เข้ากับเนื้อหาของตาราง:

ตัว อย่าง ของ วิธี ใช้ ทาง เลือก เหล่า นี้ กับ ตาราง ข้าง บน จะ เห็น ได้ ใน ภาพ ข้าง ล่าง.

resize-column-autofit-settings-aspose-words-java

ปิดการใช้แฟลชอัตโนมัติในตาราง และใช้ความกว้างของคอลัมน์ความกว้างคงที่

หากโต๊ะไม่มีความกว้างอัตโนมัติ และใช้ความกว้างของคอลัมน์คงที่แทน จะมีการดําเนินการตามขั้นตอนต่อไปนี้:

1 Table.AllowAutoFit คุณสมบัติถูกปิดการใช้งาน ดังนั้น คอลัมน์จะไม่ขยายหรือหดเก็บเข้ากับเนื้อหา 2 ความกว้างของทั้งตารางจะถูกลบออกจาก Table.PreferredWidth, CellFormat.PreferredWidth จะถูกลบออกจากเซลล์ตารางทั้งหมด 3 ผลสุดท้ายคือตารางที่ความกว้างคอลัมน์กําหนดโดย CellFormat.Width คุณสมบัติ และไม่มีการปรับขนาดคอลัมน์โดยอัตโนมัติเมื่อ ผู้ใช้ป้อนข้อความ หรือเมื่อมีการปรับขนาดหน้า

ตัวอย่างโค้ดต่อไปนี้ จะแสดงวิธีปิดการใช้งานอัตโนมัติ และเปิดใช้ความกว้างคงที่สําหรับตารางที่ระบุ:

ตัว อย่าง ของ วิธี ใช้ ทาง เลือก เหล่า นี้ กับ ตาราง ข้าง บน จะ เห็น ได้ ใน ภาพ ข้าง ล่าง.

disable-autofit-settings-to-a-table-aspose-words-java

ลําดับของการประมวลผลก่อน

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

มันสําคัญที่ต้องรู้ว่า CellFormat.Width ทรัพย์สินทํางานแตกต่างกัน ขึ้นอยู่กับคุณสมบัติความกว้างอื่น ๆ ที่มีอยู่แล้วในตาราง

Aspose.Words ใช้ลําดับการคํานวณความกว้างเซลล์ต่อไปนี้:

ลําดับ คุณสมบัติ คําอธิบาย
1 AllowAutoFit กําหนดไว้แล้ว ถ้า AutoFit เปิดใช้:
- ตารางอาจจะเติบโตผ่านความกว้างที่ชื่นชอบเพื่อรองรับเนื้อหา - มักจะไม่หดภายใต้ความกว้างที่โปรด
- การเปลี่ยนแปลงใด ๆ CellFormat.Width ค่าจะถูกละทิ้ง และเซลล์จะเข้ากับเนื้อหาของมันแทน
2 PreferredWidthType ด้วยคุณค่าของ Points หรือ Percent CellFormat.Width ถูกละทิ้ง
3 PreferredWidthType ด้วยคุณค่าของ Auto ค่าจาก CellFormat.Width จะคัดลอกและกลายเป็นความกว้างที่ชอบของเซลล์ (ในจุด)

อนุญาตให้เว้นช่องว่างระหว่างเซลล์

คุณสามารถหาหรือตั้งค่าช่องว่างเพิ่มเติมใด ๆ ระหว่างเซลล์ตารางที่คล้ายกับตัวเลือก “ช่องว่าง' ใน Microsoft Word. นี้สามารถทําโดยใช้ AllowCellSpacing ทรัพย์สิน

ตัว อย่าง ของ วิธี ใช้ ทาง เลือก เหล่า นี้ กับ ตาราง จริง ใน เอกสาร สามารถ เห็น ได้ ใน ภาพ ข้าง ล่าง.

formatting-spacing-between-cells-aspose-words-java

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

ปรับใช้กรอบและสี

กรอบและเงาสามารถใช้กับทั้งตารางโดยใช้ Table.SetBorder, Table.SetBorders ถึง Table.SetShading, หรือเฉพาะเซลล์เฉพาะที่ใช้ CellFormat.Borders ถึง CellFormat.Shading. นอกจากนี้ ชายแดนแถวยังสามารถตั้งได้โดยใช้ RowFormat.Borders, ไม่ อาจ นํา มา ใช้ ได้ ใน วิธี นี้.

ภาพด้านล่างนี้แสดงกรอบและเงาใน Microsoft Word และคุณสมบัติที่ตรงกันใน Aspose.Words.

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการฟอร์แมตตารางและเซลล์ที่มีกรอบที่แตกต่างกันและเงา