คัดลอกแผ่นงานในไฟล์ Excel โดยใช้ Java

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

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

ในการคัดลอกหรือย้ายแผ่นงานในไฟล์ Excel เราจะใช้ Aspose.Cells for Java เป็น API ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้างหรือแก้ไขเอกสารสเปรดชีตได้ค่อนข้างง่าย คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.6</version>
</dependency>

คัดลอกแผ่นงานใน Excel โดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการคัดลอกแผ่นงานในไฟล์ Excel โดยใช้ Java

  1. โหลดไฟล์ Excel โดยใช้คลาส Workbook
  2. ดึงแผ่นงานในวัตถุ WorksheetCollection โดยใช้วิธี Workbook.getWorksheets()
  3. ใช้เมธอด WorksheetCollection.addCopy(String) เพื่อคัดลอกเวิร์กชีตโดยระบุชื่อ
  4. บันทึกสมุดงานที่อัปเดตโดยใช้เมธอด Workbook.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการคัดลอกแผ่นงานในไฟล์ Excel ใน Java

// โหลดไฟล์ Excel โดยใช้เส้นทาง
Workbook wb = new Workbook("book1.xls");

// เข้าถึงแผ่นงานในสมุดงาน
WorksheetCollection sheets = wb.getWorksheets();

// สร้างสำเนาของแผ่นงาน
sheets.addCopy("Sheet1");

// บันทึกไฟล์ Excel ที่อัปเดต
wb.save("updated.xls");

Java คัดลอกแผ่นงานจากไฟล์ Excel ไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง

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

  1. สร้างวัตถุของคลาส Workbook และโหลดไฟล์ Excel ต้นทาง
  2. สร้างวัตถุอื่นของคลาส สมุดงาน และโหลดไฟล์ Excel ปลายทาง
  3. คัดลอกแผ่นงานจากต้นทางไปยังสมุดงานปลายทางโดยใช้เมธอด Workbook.getWorksheets().get(int).copy(sourceWorkbook.getWorksheets().get(int))
  4. บันทึกสมุดงานปลายทางโดยใช้เมธอด Workbook.save(String)

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

// โหลดสมุดงาน Excel ต้นทาง
Workbook source = new Workbook("source.xls");

// โหลดสมุดงาน Excel ปลายทาง
Workbook destination = new Workbook("destination.xls");

// คัดลอกแผ่นงานแรกของสมุดงานต้นฉบับลงในสมุดงานที่สอง
destination.getWorksheets().get(0).copy(source.getWorksheets().get(0));

// บันทึกไฟล์
destination.save("updated.xls", FileFormatType.EXCEL_97_TO_2003);

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

ต่อไปนี้เป็นขั้นตอนในการย้ายเวิร์กชีตจากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่งใน Java

  1. โหลดไฟล์ Excel โดยใช้คลาส Workbook
  2. ดึงแผ่นงานในวัตถุ WorksheetCollection โดยใช้วิธี Workbook.getWorksheets()
  3. เข้าถึงแผ่นงานที่ต้องการจากคอลเลกชันแผ่นงานลงในวัตถุ แผ่นงาน
  4. ใช้เมธอด Worksheet.moveTo(int) เพื่อย้ายเวิร์กชีตไปยังดัชนีที่ระบุ
  5. บันทึกสมุดงานที่อัปเดตโดยใช้เมธอด Workbook.save(string)

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

// โหลดไฟล์ Excel
Workbook wb = new Workbook("workbook.xls");

// รับแผ่นงานแรกในสมุดงาน
Worksheet sheet = wb.getWorksheets().get(0);

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

// บันทึกไฟล์ Excel ที่อัปเดต
wb.save("updated.xls");

Java API เพื่อคัดลอกแผ่นงาน Excel - รับใบอนุญาตฟรี

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

บทสรุป

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

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