รวมเซลล์ในช่วงที่ตั้งชื่อใน Excel

การแนะนำ

เมื่อทำงานกับไฟล์ Excel โดยโปรแกรม หนึ่งในงานทั่วไปที่คุณอาจพบคือการผสานเซลล์ภายในช่วงที่ตั้งชื่อ ไม่ว่าคุณจะกำลังสร้างรายงานอัตโนมัติ สร้างแดชบอร์ด หรือเพียงแค่จัดการชุดข้อมูลขนาดใหญ่ การผสานเซลล์เป็นเทคนิคที่จำเป็น ในบทช่วยสอนนี้ เราจะมาสำรวจวิธีการผสานเซลล์ในช่วงที่ตั้งชื่อโดยใช้ Aspose.Cells สำหรับ .NET ซึ่งเป็นไลบรารีที่มีประสิทธิภาพที่ช่วยให้นักพัฒนาสามารถจัดการไฟล์ Excel ได้โดยไม่ต้องติดตั้ง Microsoft Excel

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม ให้แน่ใจว่าคุณมีสิ่งต่อไปนี้พร้อมแล้ว:

  • Aspose.Cells สำหรับ .NET: คุณสามารถดาวน์โหลดได้จากหน้าเผยแพร่ Aspose.Cells.
  • มีการติดตั้ง .NET Framework ไว้ในเครื่องของคุณแล้ว
  • ความเข้าใจพื้นฐานเกี่ยวกับ C#: ความคุ้นเคยกับแนวคิดเช่นคลาส วิธีการ และอ็อบเจ็กต์ จะเป็นประโยชน์

แพ็คเกจนำเข้า

ก่อนที่เราจะเริ่มต้นเขียนโค้ด คุณต้องนำเข้าเนมสเปซที่จำเป็นเสียก่อน เนมสเปซเหล่านี้จะช่วยให้คุณเข้าถึงฟังก์ชันการทำงานของไลบรารี Aspose.Cells ได้

using System;
using System.IO;
using Aspose.Cells;

เมื่อจัดการข้อกำหนดเบื้องต้นและแพ็คเกจต่างๆ เรียบร้อยแล้ว เรามาเริ่มส่วนที่สนุกกันเลย: การเขียนโค้ด!

ต่อไปนี้คือรายละเอียดวิธีการผสานเซลล์ในช่วงที่มีชื่อในแผ่นงาน Excel โดยใช้ Aspose.Cells สำหรับ .NET

ขั้นตอนที่ 1: สร้างสมุดงานใหม่

สิ่งแรกที่เราต้องการคือเวิร์กบุ๊ก เวิร์กบุ๊กใน Excel เทียบเท่ากับไฟล์ Excel มาสร้างกัน

// สร้างเวิร์กบุ๊กใหม่
Workbook wb1 = new Workbook();

เมื่อเริ่มต้นเวิร์กบุ๊กใหม่ เราจะมีไฟล์ Excel ว่างเปล่าที่พร้อมสำหรับการจัดการ เหมือนกับการเริ่มต้นด้วยผืนผ้าใบเปล่า!

ขั้นตอนที่ 2: เข้าถึงเวิร์กชีตแรก

ทุกเวิร์กบุ๊กมีเวิร์กชีต และในกรณีนี้ เราต้องการทำงานกับเวิร์กชีตแรก มาคว้ามันมาเลย!

// รับแผ่นงานแรกในสมุดงาน
Worksheet worksheet1 = wb1.Worksheets[0];

ลองนึกถึงแผ่นงานเป็นแท็บแต่ละแท็บในไฟล์ Excel ที่มีข้อมูลจริงอยู่ โดยค่าเริ่มต้น เราจะเข้าถึงแท็บแรกสุด

ขั้นตอนที่ 3: สร้างช่วงของเซลล์

ตอนนี้เรามีเวิร์กชีตแล้ว ถึงเวลาสร้างช่วง ช่วงหมายถึงบล็อกของเซลล์ ซึ่งสามารถครอบคลุมหลายแถวและหลายคอลัมน์

// สร้างช่วง
Range mrange = worksheet1.Cells.CreateRange("D6", "I12");

ที่นี่ เรากำลังเลือกเซลล์ตั้งแต่ D6 ถึง I12 ซึ่งเป็นบล็อกที่ครอบคลุมหลายแถวและหลายคอลัมน์ เราจะรวมช่วงนี้เร็วๆ นี้!

ขั้นตอนที่ 4: ตั้งชื่อช่วง

การตั้งชื่อช่วงข้อมูลจะทำให้สามารถอ้างอิงในภายหลังได้ง่ายขึ้น โดยเฉพาะเมื่อต้องจัดการกับชุดข้อมูลขนาดใหญ่

// ตั้งชื่อช่วง
mrange.Name = "TestRange";

การตั้งชื่อช่วงนี้ว่า “TestRange” ช่วยให้เราสามารถดึงข้อมูลในภายหลังในโค้ดได้อย่างรวดเร็ว โดยไม่จำเป็นต้องระบุพิกัดเซลล์อีกครั้ง

ขั้นตอนที่ 5: รวมช่วงของเซลล์

ตอนนี้มาถึงขั้นตอนมหัศจรรย์—การรวมเซลล์ภายในช่วงที่เราเพิ่งสร้างขึ้น!

// รวมเซลล์ของช่วง
mrange.Merge();

ขั้นตอนนี้จะรวมเซลล์ทั้งหมดตั้งแต่ D6 ถึง I12 เข้าเป็นเซลล์เดียว เหมาะสำหรับสิ่งต่างๆ เช่น ชื่อเรื่องหรือบทสรุป!

ขั้นตอนที่ 6: ดึงข้อมูลช่วงที่ตั้งชื่อ

เมื่อรวมเซลล์แล้ว เราอาจต้องการใช้การจัดรูปแบบบางอย่าง ขั้นแรกให้ดึงช่วงที่ตั้งชื่อไว้

// รับช่วง
Range range1 = wb1.Worksheets.GetRangeByName("TestRange");

การดึงข้อมูลช่วงตามชื่อช่วยให้เราสามารถดำเนินการอื่นๆ เพิ่มเติมได้ เช่น การเพิ่มสไตล์หรือป้อนข้อมูล

ขั้นตอนที่ 7: กำหนดสไตล์สำหรับเซลล์ที่ผสานกัน

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

// กำหนดวัตถุสไตล์
Style style = wb1.CreateStyle();

// ตั้งค่าการจัดตำแหน่ง
style.HorizontalAlignment = TextAlignmentType.Center;
style.VerticalAlignment = TextAlignmentType.Center;
style.Pattern = BackgroundType.Solid;
style.ForegroundColor = System.Drawing.Color.Aqua;

ที่นี่ เรากำลังจัดตำแหน่งข้อความทั้งในแนวนอนและแนวตั้งตรงกลาง และกำหนดสีพื้นหลังเป็นสีฟ้าอ่อน (น้ำเงินอมเขียว) ดูเก๋ไก๋ใช่ไหมล่ะ

ขั้นตอนที่ 8: ใช้สไตล์กับช่วง

หลังจากกำหนดสไตล์แล้ว ก็ถึงเวลาที่จะนำไปใช้กับช่วงที่ผสานกัน

// สร้างวัตถุ StyleFlag
StyleFlag flag = new StyleFlag();

// เปิดแอตทริบิวต์สไตล์สัมพันธ์เป็น ON
flag.HorizontalAlignment = true;
flag.VerticalAlignment = true;
flag.CellShading = true;

// นำสไตล์ไปปรับใช้กับช่วง
range1.ApplyStyle(style, flag);

การStyleFlagแจ้งให้ Aspose.Cells ทราบว่าจะใช้คุณสมบัติสไตล์ใด เช่น การจัดตำแหน่ง การแรเงา เป็นต้น ซึ่งจะทำให้คุณสามารถควบคุมรายละเอียดการใช้สไตล์ได้อย่างละเอียด

ขั้นตอนที่ 9: ป้อนข้อมูลลงในช่วงที่ผสาน

ช่วงที่จัดรูปแบบแล้วโดยไม่มีเนื้อหาจะเป็นอย่างไร มาเพิ่มข้อความกันหน่อย

// ป้อนข้อมูลลงในช่วง
range1[0, 0].PutValue("Welcome to Aspose APIs.");

การดำเนินการนี้จะวางข้อความ “ยินดีต้อนรับสู่ Aspose APIs” ลงในเซลล์แรกของช่วงที่ผสานเข้าด้วยกัน เมื่อผสานเซลล์แล้ว ข้อความนี้จะขยายไปทั่วเซลล์ทั้งหมดตั้งแต่ D6 ถึง I12

ขั้นตอนที่ 10: บันทึกไฟล์ Excel

สุดท้ายเรามาบันทึกสมุดงานเป็นไฟล์ Excel กัน

// บันทึกไฟล์ Excel
wb1.Save(dataDir + "outputMergeCellsInNamedRange.xlsx");

ที่นี่ เวิร์กบุ๊กจะถูกบันทึกด้วยชื่อ “outputMergeCellsInNamedRange.xlsx” ในไดเร็กทอรีที่คุณระบุ

บทสรุป

และแล้วคุณก็ทำได้! คุณได้ผสานเซลล์ในช่วงที่มีชื่อแล้ว ใช้การจัดรูปแบบที่สวยงาม และแม้แต่ป้อนข้อมูลบางส่วนสำเร็จแล้ว ทั้งหมดนี้ทำได้ด้วย Aspose.Cells สำหรับ .NET ไม่ว่าคุณจะทำงานเกี่ยวกับการสร้างรายงานอัตโนมัติ จัดการไฟล์ Excel หรือเพียงแค่เรียนรู้เทคนิคใหม่ ๆ คำแนะนำทีละขั้นตอนนี้ควรให้พื้นฐานที่คุณต้องการ

คำถามที่พบบ่อย

ฉันสามารถรวมช่วงที่ไม่ต่อเนื่องหลายช่วงใน Aspose.Cells ได้หรือไม่

ไม่ คุณสามารถผสานเซลล์ที่ต่อเนื่องกันใน Aspose.Cells ได้เท่านั้น

ฉันสามารถเลิกทำการดำเนินการผสานโดยใช้โปรแกรมได้หรือไม่

เมื่อรวมเซลล์แล้ว คุณสามารถยกเลิกการรวมเซลล์ได้โดยใช้UnMerge() วิธีการใน Aspose.Cells

การรวมเซลล์จะลบข้อมูลในเซลล์หรือไม่?

หากมีข้อมูลใดๆ ในเซลล์ก่อนที่จะผสาน ข้อมูลจากเซลล์แรกของช่วงจะยังคงอยู่

ฉันสามารถใช้รูปแบบที่แตกต่างกันกับเซลล์แต่ละเซลล์ภายในช่วงที่ผสานกันได้หรือไม่

ไม่ ช่วงที่ผสานจะทำหน้าที่เป็นเซลล์เดียว ดังนั้นคุณจึงไม่สามารถใช้รูปแบบที่แตกต่างกันกับเซลล์แต่ละเซลล์ภายในช่วงนั้นได้

ฉันจะเข้าถึงเซลล์ที่ผสานหลังจากการผสานได้อย่างไร

หลังจากผสานแล้ว คุณยังสามารถเข้าถึงเซลล์ที่ผสานได้โดยใช้พิกัดที่มุมบนซ้าย