คัดลอกแผ่นงาน Excel ใน C#

ในบางกรณี คุณอาจจำเป็นต้องคัดลอกเวิร์กชีตภายในเวิร์กบุ๊ก Excel หรือจากเวิร์กบุ๊กหนึ่งไปยังอีกเวิร์กบุ๊กหนึ่ง ในทางกลับกัน การย้ายเวิร์กชีตเพื่อเปลี่ยนตำแหน่งภายในเวิร์กบุ๊กก็จำเป็นในสถานการณ์ต่างๆ เช่นกัน บทความนี้แสดงวิธีคัดลอกเวิร์กชีต Excel ใน C# เพื่อดำเนินการตามที่กล่าวถึงข้างต้นโดยทางโปรแกรม นอกจากนี้ยังครอบคลุมถึงวิธีการเปลี่ยนตำแหน่งของแผ่นงานในสมุดงาน Excel

C# API เพื่อคัดลอกแผ่นงาน Excel - ดาวน์โหลดฟรี

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

PM> Install-Package Aspose.Cells

คัดลอกแผ่นงาน Excel ใน C#

ต่อไปนี้เป็นขั้นตอนในการคัดลอกแผ่นงานในสมุดงาน Excel โดยใช้ C#

ตัวอย่างรหัส C# ต่อไปนี้แสดงวิธีการคัดลอกแผ่นงาน Excel ในสมุดงาน

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

// สร้างวัตถุ WorksheetCollection โดยอ้างอิงถึงแผ่นงานของสมุดงาน
WorksheetCollection sheets = wb.Worksheets;

// คัดลอกข้อมูลไปยังแผ่นงานใหม่จากแผ่นงานที่มีอยู่ภายในสมุดงาน
sheets.AddCopy("Sheet1");

// บันทึกไฟล์ Excel
wb.Save("CopyWithinWorkbook.xlsx");

C #: คัดลอกแผ่นงาน Excel จากสมุดงานหนึ่งไปยังอีก

ตอนนี้ มาดูวิธีการคัดลอกแผ่นงานจากสมุดงาน Excel หนึ่งไปยังอีก ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • สร้างวัตถุของคลาส Workbook และโหลดไฟล์ Excel ต้นทาง
  • สร้างวัตถุอื่นของคลาส Workbook และโหลดไฟล์ Excel ปลายทาง
  • คัดลอกแผ่นงานจากต้นทางไปยังสมุดงานปลายทางโดยใช้เมธอด destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int])
  • บันทึกสมุดงานปลายทางโดยใช้เมธอด Workbook.Save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการคัดลอกแผ่นงานจากสมุดงานหนึ่งไปยังอีกที่หนึ่งใน C#

// ไฟล์ Excel แบบโอเพ่นซอร์ส
Workbook sourceWorkbook = new Workbook("source.xlsx");

// เปิดไฟล์ Excel ปลายทาง
Workbook destinationWorkbook = new Workbook("destination.xlsx");

// คัดลอกแผ่นงานแรกของสมุดงานต้นทางไปยังสมุดงานปลายทาง
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);

// บันทึกไฟล์ Excel
destinationWorkbook.Save("copy-worksheets.xlsx");

ย้ายตำแหน่งของแผ่นงาน Excel ใน C

อาจมีกรณีที่คุณต้องการจัดเรียงตำแหน่งของแผ่นงานในสมุดงานใหม่ คุณสามารถทำได้โดยย้ายแผ่นงานไปยังตำแหน่งที่ต้องการโดยระบุดัชนี ต่อไปนี้เป็นขั้นตอนในการย้ายแผ่นงาน Excel จากตำแหน่งหนึ่งไปอีกตำแหน่งหนึ่ง

  • โหลดไฟล์ Excel โดยใช้คลาส Workbook
  • ดึงแผ่นงานในวัตถุ WorksheetCollection โดยใช้คุณสมบัติ Workbook.Worksheets
  • เข้าถึงแผ่นงานที่ต้องการจากคอลเลกชันแผ่นงานลงในวัตถุ แผ่นงาน
  • ใช้เมธอด Worksheet.MoveTo(int) เพื่อย้ายเวิร์กชีตไปยังดัชนีที่ระบุ
  • บันทึกสมุดงานที่อัปเดตโดยใช้เมธอด Workbook.Save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการย้ายแผ่นงาน Excel จากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่งโดยใช้ C#

// เปิดไฟล์ excel ที่มีอยู่
Workbook wb = new Workbook("workbook.xlsx");

// สร้างวัตถุ WorksheetCollection โดยอ้างอิงถึงแผ่นงานของสมุดงาน
WorksheetCollection sheets = wb.Worksheets;

// รับแผ่นงานแรก
Worksheet worksheet = sheets[0];

// ย้ายแผ่นงานแรกไปยังตำแหน่งที่สามในสมุดงาน
worksheet.MoveTo(2);

// บันทึกไฟล์ Excel
wb.Save("move-worksheet.xlsx");

C# API สำหรับการคัดลอกแผ่นงาน Excel - รับใบอนุญาตฟรี

คุณสามารถลองและประเมิน Aspose.Cells for .NET ได้ฟรีโดยขอ ใบอนุญาตชั่วคราว

บทสรุป

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

ดูสิ่งนี้ด้วย