คัดลอกเวิร์กชีตระหว่างเวิร์กบุ๊กสองเล่มโดยใช้ Aspose.Cells

การแนะนำ

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

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

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

  • Aspose.Cells สำหรับ .NET: ดาวน์โหลดและติดตั้ง Aspose.Cells สำหรับ .NET จากหน้าดาวน์โหลด.
  • .NET Framework: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง .NET ไว้ในสภาพแวดล้อมการพัฒนาของคุณแล้ว
  • IDE: คุณสามารถใช้ IDE ที่เข้ากันได้กับ C# ได้ (แนะนำให้ใช้ Visual Studio)
  • ใบอนุญาต: คุณสามารถทดลองใช้ Aspose.Cells ด้วยใบอนุญาตชั่วคราวฟรี หรือพิจารณาการซื้อใบอนุญาตเต็มรูปแบบ เพื่อการใช้งานที่ครบครัน ตรวจสอบออกเอกสาร Aspose.Cells สำหรับ .NET หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะและความสามารถเฉพาะ

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

ในการเริ่มต้น คุณต้องนำเข้าเนมสเปซที่จำเป็นในโค้ดของคุณ โดยทำตามขั้นตอนดังต่อไปนี้:

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

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

ขั้นตอนที่ 1: กำหนดไดเรกทอรีเอกสาร

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

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "Your Document Directory";

ที่นี่แทนที่"Your Document Directory" ด้วยเส้นทางจริงที่คุณบันทึกไฟล์ไว้

ขั้นตอนที่ 2: ตั้งค่าเส้นทางไฟล์อินพุต

ในขั้นตอนนี้ เราจะกำหนดเส้นทางไปยังเวิร์กบุ๊กต้นฉบับที่มีเวิร์กชีตที่เราต้องการคัดลอก สำหรับการสาธิต สมมติว่าไฟล์นี้มีชื่อว่าbook1.xls.

string inputPath = dataDir + "book1.xls";

เส้นนี้รวมdataDir ด้วยชื่อไฟล์ สร้างเส้นทางที่สมบูรณ์ไปยังbook1.xlsนี่คือสมุดงานที่มีแผ่นงานที่เราจะคัดลอก

ขั้นตอนที่ 3: เปิดสมุดงานต้นฉบับ

ตอนนี้เรามาเปิดสมุดงานต้นฉบับกัน (book1.xls ) โดยการสร้างWorkbook วัตถุและส่งผ่านในinputPath เป็นข้อโต้แย้ง

// สร้างสมุดงาน
// เปิดไฟล์ลงในหนังสือเล่มแรก
Workbook sourceWorkbook = new Workbook(inputPath);

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

ขั้นตอนที่ 4: สร้างสมุดงานปลายทาง

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

// สร้างสมุดงานใหม่
Workbook destinationWorkbook = new Workbook();

ของเราdestinationWorkbook จะว่างเปล่าตามค่าเริ่มต้น โดยมีเพียงเวิร์กชีตเดียว

ขั้นตอนที่ 5: คัดลอกเวิร์กชีตไปยังเวิร์กบุ๊กใหม่

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

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

ในโค้ดนี้:

  • sourceWorkbook.Worksheets[0] แสดงถึงเวิร์กชีทแรกในเวิร์กบุ๊กต้นฉบับของเรา
  • destinationWorkbook.Worksheets[0] หมายถึงแผ่นงานแรกในสมุดงานปลายทาง
  • การ.Copy วิธีนี้ช่วยยกของหนักโดยโอนเวิร์กชีตจากสมุดงานหนึ่งไปยังอีกสมุดงานหนึ่งได้อย่างราบรื่น

ขั้นตอนที่ 6: บันทึกสมุดงานปลายทาง

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

// บันทึกไฟล์
destinationWorkbook.Save(dataDir + "CopyWorksheetsBetweenWorkbooks_out.xls");

แทนที่"CopyWorksheetsBetweenWorkbooks_out.xls" ด้วยชื่อไฟล์เอาต์พุตที่คุณต้องการ ตอนนี้คุณจะมีไฟล์ใหม่ในไดเร็กทอรีที่คุณระบุพร้อมกับเวิร์กชีตที่คัดลอกมา

บทสรุป

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

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

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

ใช่ คุณสามารถวนซ้ำผ่านเวิร์กชีตในเวิร์กบุ๊กต้นฉบับและคัดลอกแต่ละรายการไปยังเวิร์กบุ๊กปลายทางได้

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

แน่นอน!.Copy วิธีการใน Aspose.Cells จะถ่ายโอนทุกอย่าง รวมถึงข้อมูล การจัดรูปแบบ และสูตร

สามารถคัดลอกเวิร์กชีตไปยังเวิร์กบุ๊กที่มีอยู่ได้หรือไม่

ใช่ คุณสามารถคัดลอกเวิร์กชีตไปยังเวิร์กบุ๊กที่มีอยู่ได้โดยระบุดัชนีเวิร์กชีตในเวิร์กบุ๊กปลายทาง

ฉันสามารถเปลี่ยนชื่อเวิร์กชีตที่คัดลอกได้หรือไม่

แน่นอนครับ! หลังจากคัดลอกแล้วใช้destinationWorkbook.Worksheets[0].Name = "NewSheetName"; เพื่อเปลี่ยนชื่อแผ่นงาน

ฉันต้องมีใบอนุญาตเพื่อใช้ Aspose.Cells หรือไม่?

คุณสามารถลองใช้ Aspose.Cells ด้วยใบอนุญาตชั่วคราวฟรีหรือซื้อใบอนุญาตเต็มรูปแบบเพื่อการเข้าถึงแบบไม่มีข้อจำกัด