คัดลอกเวิร์กชีตระหว่างเวิร์กบุ๊กสองเล่มโดยใช้ 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 ด้วยใบอนุญาตชั่วคราวฟรีหรือซื้อใบอนุญาตเต็มรูปแบบเพื่อการเข้าถึงแบบไม่มีข้อจำกัด