การคัดลอกแถวและคอลัมน์เป็นงานทั่วไปที่ทำในขณะที่ทำงานกับไฟล์ Excel อาจมีสถานการณ์ที่คุณจำเป็นต้องคัดลอกแถวหรือคอลัมน์ในไฟล์ Excel โดยทางโปรแกรม ในกรณีเช่นนี้ บทความนี้จะสอนวิธีคัดลอกแถวและคอลัมน์ในไฟล์ Excel โดยใช้ C++
- C++ API สำหรับการคัดลอกแถวและคอลัมน์ในไฟล์ Excel
- คัดลอกแถวเดียวในไฟล์ Excel โดยใช้ C++
- การคัดลอกหลายแถวในไฟล์ Excel โดยใช้ C++
- คัดลอกคอลัมน์เดียวในไฟล์ Excel โดยใช้ C++
- การคัดลอกหลายคอลัมน์ในไฟล์ Excel โดยใช้ C++
C++ API สำหรับการคัดลอกแถวและคอลัมน์ในไฟล์ Excel
Aspose.Cells for C++ เป็นไลบรารี C++ ดั้งเดิมที่ให้คุณสร้าง อ่าน และแก้ไขไฟล์ Excel โดยไม่ต้องติดตั้ง Microsoft Excel API ยังให้ความสามารถในการคัดลอกแถวและคอลัมน์ในไฟล์ Excel คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.Cells.Cpp
คัดลอกแถวเดียวในไฟล์ Excel โดยใช้ C++
ต่อไปนี้คือรูปภาพของไฟล์ Excel ต้นทางที่เราจะใช้ในตัวอย่างต่อไปนี้
ต่อไปนี้เป็นขั้นตอนการคัดลอกแถวเดียวในไฟล์ Excel โดยใช้ C++
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ดึงแผ่นงานที่คุณต้องการคัดลอกแถว
- คัดลอกแถวโดยใช้ CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) เมธอด
- บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการคัดลอกแถวในไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// รับแผ่นงานแรก
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// คัดลอกแถว
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
การคัดลอกหลายแถวในไฟล์ Excel โดยใช้ C++
ในการคัดลอกหลายแถว เราจะใช้เมธอด CopyIRows ที่ยอมรับพารามิเตอร์เพิ่มเติมที่ระบุจำนวนแถวทั้งหมดที่จะคัดลอก หากต้องการคัดลอกหลายแถว ให้ทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ดึงแผ่นงานที่คุณต้องการคัดลอกแถว
- คัดลอกแถวโดยใช้ CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber) เมธอด
- บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการคัดลอกหลายแถวในไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// รับแผ่นงานแรก
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// คัดลอกแถว
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
คัดลอกคอลัมน์เดียวในไฟล์ Excel โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการคัดลอกคอลัมน์เดียวในไฟล์ Excel โดยใช้ C++
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ดึงแผ่นงานที่คุณต้องการคัดลอกคอลัมน์
- คัดลอกคอลัมน์โดยใช้ CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) เมธอด
- บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการคัดลอกคอลัมน์เดียวในไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// รับแผ่นงานแรก
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// คัดลอกคอลัมน์
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
การคัดลอกหลายคอลัมน์ในไฟล์ Excel โดยใช้ C++
ในการคัดลอกหลายคอลัมน์ เราจะใช้เมธอด CopyIColumns ที่ยอมรับพารามิเตอร์เพิ่มเติมที่ระบุจำนวนคอลัมน์ทั้งหมดที่จะคัดลอก หากต้องการคัดลอกหลายคอลัมน์ ให้ทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ดึงแผ่นงานที่คุณต้องการคัดลอกคอลัมน์
- คัดลอกคอลัมน์โดยใช้ CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber) เมธอด
- บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการคัดลอกหลายคอลัมน์ในไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// รับแผ่นงานแรก
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// คัดลอกคอลัมน์
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
รับใบอนุญาตฟรี
หากต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีคัดลอกแถวและคอลัมน์ในไฟล์ Excel โดยใช้ C++ ตัวอย่างโค้ดที่ใช้ร่วมกันแสดงวิธีการคัดลอกแถวและคอลัมน์เดี่ยวและหลายแถวในไฟล์ Excel เราใช้ Aspose.Cells for C++ API เพื่อให้บรรลุเป้าหมายนี้ เป็น API ที่มีประสิทธิภาพซึ่งมีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานกับไฟล์ Excel คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีข้อสงสัย โปรดติดต่อเราที่ ฟอรัมสนับสนุนฟรี