คัดลอกข้อมูลภายในเวิร์กบุ๊กโดยใช้ Aspose.Cells

การแนะนำ

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

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

ก่อนที่เราจะเริ่มเขียนโค้ด เรามาตรวจสอบให้แน่ใจก่อนว่าเรามีทุกสิ่งที่จำเป็นสำหรับการทำงานนี้ให้เสร็จสมบูรณ์:

  1. Aspose.Cells สำหรับไลบรารี .NET – ดาวน์โหลดเวอร์ชันล่าสุดได้จากหน้าดาวน์โหลด Aspose.Cells สำหรับ .NET.
  2. สภาพแวดล้อมการพัฒนา – คุณจะต้องมี IDE ที่เข้ากันได้กับ .NET เช่น Visual Studio
  3. ใบอนุญาต – ใช้รุ่นทดลองใช้งานฟรีหรือใบอนุญาตที่ซื้อสำหรับ Aspose.Cells คุณสามารถรับใบอนุญาตชั่วคราวได้ที่นี่ หรือสำรวจตัวเลือกการซื้อที่นี่.

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

ในโค้ดของคุณ คุณจะต้องนำเข้า Aspose.Cells เพื่อใช้คลาสและวิธีการของมัน:

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

มาเจาะลึกโค้ดกันเลย! เราจะแบ่งงานการคัดลอกข้อมูลภายในเวิร์กบุ๊กโดยใช้ Aspose.Cells สำหรับ .NET ออกเป็นขั้นตอนที่ทำตามได้ง่าย

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

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

// ตั้งค่าเส้นทางไดเร็กทอรีสำหรับเอกสาร
string dataDir = "Your Document Directory";
string inputPath = dataDir + "book1.xls";

ที่นี่แทนที่"Your Document Directory" ด้วยเส้นทางจริงที่จัดเก็บเวิร์กบุ๊กของคุณ ตัวแปรเส้นทางนี้จะทำให้การอ้างอิงไฟล์อินพุตและเอาต์พุตของคุณง่ายขึ้น

ขั้นตอนที่ 2: เปิดไฟล์ Excel ที่มีอยู่

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

// เปิดไฟล์ Excel ที่มีอยู่
Workbook wb = new Workbook(inputPath);

ด้วยเหตุนี้เราจึงWorkbook วัตถุwb ตอนนี้พร้อมที่จะโต้ตอบกับเนื้อหาของbook1.xls.

ขั้นตอนที่ 3: เข้าถึงคอลเลกชันแผ่นงาน

เมื่อสมุดงานเปิดขึ้นแล้ว เราจะเข้าถึงคอลเลกชันของแผ่นงานWorksheetCollection คลาสช่วยให้เราทำงานกับแผ่นงานหลายแผ่นภายในเวิร์กบุ๊กได้

// สร้างวัตถุเวิร์กชีตที่อ้างอิงแผ่นงานทั้งหมดในเวิร์กบุ๊ก
WorksheetCollection sheets = wb.Worksheets;

ที่นี่,sheets จะทำให้เราสามารถจัดการแต่ละแผ่นงานในเวิร์กบุ๊กได้ รวมถึงเพิ่มสำเนาของแผ่นงานที่มีอยู่ด้วย

ขั้นตอนที่ 4: คัดลอกข้อมูลไปยังแผ่นงานใหม่

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

// คัดลอกข้อมูลจาก "แผ่นงาน 1" ไปยังแผ่นงานใหม่ภายในเวิร์กบุ๊ก
sheets.AddCopy("Sheet1");

การAddCopyวิธีการนี้จะสร้างสำเนาที่แน่นอนของแผ่นงานที่ระบุโดยผนวกเข้ากับเวิร์กบุ๊ก ในที่นี้ เรากำลังทำสำเนา “Sheet1” คุณสามารถระบุชื่อแผ่นงานใดๆ ที่คุณต้องการคัดลอกได้

ขั้นตอนที่ 5: บันทึกสมุดงานด้วยแผ่นงานใหม่

หลังจากคัดลอกแผ่นงานแล้ว ให้บันทึกสมุดงานด้วยชื่อใหม่หรือในตำแหน่งใหม่เพื่อเก็บรักษาการเปลี่ยนแปลงไว้

// บันทึกสมุดงานพร้อมข้อมูลที่คัดลอก
wb.Save(dataDir + "CopyWithinWorkbook_out.xls");

บรรทัดนี้จะบันทึกสมุดงานที่แก้ไขแล้วเป็นCopyWithinWorkbook_out.xls ในไดเร็กทอรีที่ระบุ

บทสรุป

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

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

ฉันสามารถคัดลอกแผ่นงานหลายแผ่นในครั้งเดียวได้ไหม?

Aspose.Cells ไม่รองรับการคัดลอกแผ่นงานหลายแผ่นในครั้งเดียว แต่คุณสามารถวนซ้ำผ่านแผ่นงานที่คุณต้องการทำซ้ำและคัดลอกทีละแผ่นได้

ฉันสามารถเปลี่ยนชื่อแผ่นงานที่คัดลอกได้หรือไม่

ใช่ หลังจากคัดลอกแผ่นงานแล้ว คุณสามารถเปลี่ยนชื่อได้โดยใช้sheets[sheets.Count - 1].Name = "NewSheetName";.

Aspose.Cells เข้ากันได้กับ .NET Core ได้หรือไม่

แน่นอน! Aspose.Cells รองรับทั้งสภาพแวดล้อม .NET Framework และ .NET Core

ฉันจะจัดการการจัดรูปแบบขณะคัดลอกแผ่นงานอย่างไร

การAddCopy วิธีการนี้จะรักษาเนื้อหาและการจัดรูปแบบทั้งหมดไว้ ดังนั้นแผ่นงานที่คุณคัดลอกจะมีหน้าตาเหมือนต้นฉบับทุกประการ

จะเกิดอะไรขึ้นหากฉันต้องการคัดลอกแผ่นงานไปยังสมุดงานอื่น?

คุณสามารถใช้Copy วิธีการที่มีการอ้างอิงถึงสมุดงานอื่น เช่นsheets.Add().Copy(wb.Worksheets["Sheet1"]);.