เพิ่มกล่องรายการลงในเวิร์กชีตใน Excel

การแนะนำ

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

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

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

  • Aspose.Cells สำหรับไลบรารี .NET: คุณสามารถดาวน์โหลดได้จากหน้าดาวน์โหลด Aspose.Cells สำหรับ .NET.
  • สภาพแวดล้อมการพัฒนา: IDE ใด ๆ ที่รองรับการพัฒนา .NET เช่น Visual Studio
  • .NET Framework: ตรวจสอบให้แน่ใจว่าโครงการของคุณกำหนดเป้าหมายไปที่เวอร์ชันที่รองรับของ .NET framework นอกจากนี้ ควรพิจารณาการรับใบอนุญาตชั่วคราว หากคุณต้องการสำรวจฟีเจอร์ทั้งหมดโดยไม่มีข้อจำกัด

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

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

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

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

ขั้นตอนที่ 1: การตั้งค่าไดเรกทอรีเอกสารของคุณ

ก่อนที่คุณจะสร้างไฟล์ Excel คุณต้องมีตำแหน่งที่จะบันทึกไฟล์ วิธีตั้งค่าไดเรกทอรีมีดังนี้

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "Your Document Directory";
// สร้างไดเร็กทอรีหากยังไม่มีอยู่
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);

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

ขั้นตอนที่ 2: สร้างเวิร์กบุ๊กใหม่และเข้าถึงเวิร์กชีตแรก

ต่อไปเราจะสร้างเวิร์กบุ๊กใหม่และเข้าถึงเวิร์กชีตแรกที่เราจะเพิ่มกล่องรายการของเรา

// สร้างสมุดงานใหม่
Workbook workbook = new Workbook();
// รับแผ่นงานแรก
Worksheet sheet = workbook.Worksheets[0];

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

ขั้นตอนที่ 3: ป้อนข้อมูลสำหรับกล่องรายการ

ก่อนที่จะเพิ่มกล่องรายการ เราจะต้องป้อนข้อมูลบางอย่างที่กล่องรายการจะอ้างอิง

// รับคอลเลกชันเซลล์ของเวิร์กชีต
Cells cells = sheet.Cells;
// ป้อนค่าสำหรับป้ายกำกับ
cells["B3"].PutValue("Choose Dept:");
// ตั้งค่าฉลากให้เป็นตัวหนา
cells["B3"].GetStyle().Font.IsBold = true;
// ป้อนค่าสำหรับกล่องรายการ
cells["A2"].PutValue("Sales");
cells["A3"].PutValue("Finance");
cells["A4"].PutValue("MIS");
cells["A5"].PutValue("R&D");
cells["A6"].PutValue("Marketing");
cells["A7"].PutValue("HRA");

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

ขั้นตอนที่ 4: เพิ่มกล่องรายการลงในเวิร์กชีต

ตอนนี้เราได้ตั้งค่าข้อมูลเรียบร้อยแล้ว มาเพิ่มการควบคุมกล่องรายการกัน

// เพิ่มกล่องรายการใหม่
Aspose.Cells.Drawing.ListBox listBox = sheet.Shapes.AddListBox(2, 0, 3, 0, 122, 100);

โค้ดนี้จะเพิ่มกล่องรายการลงในเวิร์กชีต พารามิเตอร์จะกำหนดตำแหน่งและขนาดของกล่องรายการ กล่องรายการจะอยู่ที่แถวที่ 2 คอลัมน์ที่ 0 โดยมีความกว้าง 122 และความสูง 100 พิกัดและขนาดเหล่านี้จะกำหนดว่ากล่องรายการจะปรากฏที่ใดในเวิร์กชีต

ขั้นตอนที่ 5: ตั้งค่าคุณสมบัติของกล่องรายการ

ต่อไปเราจะตั้งค่าคุณสมบัติต่างๆ ให้กับกล่องรายการเพื่อให้ทำงานได้เต็มประสิทธิภาพ

// ตั้งค่าประเภทการวาง
listBox.Placement = PlacementType.FreeFloating;
// ตั้งค่าเซลล์ที่เชื่อมโยง
listBox.LinkedCell = "A1";
// ตั้งค่าช่วงอินพุต
listBox.InputRange = "A2:A7";
// ตั้งค่าประเภทการเลือก
listBox.SelectionType = SelectionType.Single;
// ตั้งค่ากล่องรายการด้วยการแรเงา 3 มิติ
listBox.Shadow = true;
  • PlacementType.FreeFloating: คุณสมบัตินี้จะทำให้แน่ใจว่ากล่องรายการจะยังคงอยู่ในตำแหน่งเดิมโดยไม่คำนึงถึงวิธีการปรับเปลี่ยนเวิร์กชีต
  • LinkedCell: ตั้งค่าเซลล์ (ในกรณีนี้คือ A1) ที่ต้องการแสดงค่าที่เลือกจากกล่องรายการ
  • InputRange: สิ่งนี้จะบอกกล่องรายการว่าจะค้นหารายการตัวเลือก (A2 ถึง A7 ซึ่งเราได้ตั้งค่าไว้ก่อนหน้านี้) ได้จากที่ใด
  • SelectionType.Single: จำกัดให้ผู้ใช้สามารถเลือกได้เพียงรายการเดียวจากกล่องรายการเท่านั้น
  • เงา: เอฟเฟกต์เงาทำให้กล่องรายการดูมีมิติมากขึ้น ทำให้ดูสวยงามน่าดึงดูด

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

สุดท้ายเรามาบันทึกสมุดงานของเราโดยรวมกล่องรายการไว้ด้วย

// บันทึกสมุดงาน
workbook.Save(dataDir + "book1.out.xls");

โค้ดบรรทัดนี้จะบันทึกเวิร์กบุ๊กลงในไดเร็กทอรีที่เราตั้งค่าไว้ก่อนหน้านี้ ไฟล์นี้มีชื่อว่า “book1.out.xls” แต่คุณสามารถเลือกชื่อใดก็ได้ที่เหมาะกับโปรเจ็กต์ของคุณ

บทสรุป

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

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

ฉันสามารถให้เลือกหลายรายการในกล่องรายการได้ไหม

ใช่ คุณสามารถเปลี่ยนแปลงได้SelectionType ถึงSelectionType.Multi เพื่อให้สามารถเลือกได้หลากหลาย

ฉันสามารถเปลี่ยนลักษณะของกล่องรายการได้หรือไม่

แน่นอน! Aspose.Cells ช่วยให้คุณสามารถปรับแต่งรูปลักษณ์ของกล่องรายการได้ รวมถึงขนาด แบบอักษร และแม้แต่สี

หากฉันต้องการลบกล่องรายการในภายหลังจะทำอย่างไร

คุณสามารถเข้าถึงและลบกล่องรายการจากShapes การเก็บรวบรวมโดยใช้sheet.Shapes.RemoveAt(index).

ฉันสามารถเชื่อมโยงกล่องรายการกับเซลล์อื่นได้หรือไม่

ใช่ เพียงแค่เปลี่ยนLinkedCell คุณสมบัติไปยังเซลล์อื่นที่คุณต้องการแสดงค่าที่เลือก

ฉันจะเพิ่มรายการเพิ่มเติมลงในกล่องรายการได้อย่างไร

เพียงอัปเดตช่วงอินพุตโดยแทรกค่าเพิ่มเติมลงในเซลล์ที่ระบุ และกล่องรายการจะอัปเดตโดยอัตโนมัติ