Microsoft® การแยกไฟล์ Excel via Java

แยกสเปรดชีต Excel ออกเป็นแผ่นงานภายในแอปพลิเคชันที่ใช้ Java

 

มีหลายสถานการณ์ เมื่อจำเป็นต้องแยกไฟล์ Excel เช่น สเปรดชีตที่มีข้อมูลนักเรียน โดยมีการจัดสรรชีตเดียวสำหรับนักเรียนแต่ละคน และจำเป็นต้องแยกนักเรียนแต่ละชีตออกเป็นไฟล์แยกกัน หากต้องการทำให้แอปพลิเคชัน via Java เป็นแบบอัตโนมัติ Java เอกเซล API มีไว้เพื่อแยกเอกสาร Excel ตามแผ่นงาน รูปแบบที่รองรับ ได้แก่ XLS, XLSX, XLSB, XLSM, ODS

แยกเอกสาร Excel ออกเป็นหลายไฟล์

วิธีที่ง่ายที่สุดในการแบ่งไฟล์ Excel ออกเป็นชีตคือ เข้าถึงชีตทั้งหมด วนซ้ำแต่ละชีต และบันทึกทีละชีตในรูปแบบที่ต้องการ หากต้องการโหลดใบงาน API จัดให้ สมุดงาน ระดับ. getWorksheets().getCount() วิธีรับจำนวนแผ่นงานทั้งหมด วนซ้ำแต่ละแผ่นและใช้งาน getWorksheets().get(sheetindex) สำหรับการเข้าถึงแผ่นงานเฉพาะ ย้ายข้อมูลแผ่นงานที่เลือกไปยังวัตถุคลาสสมุดงานที่สร้างขึ้นใหม่โดยใช้ วิธีการคัดลอก . ในที่สุดก็บันทึกเป็นรูปแบบที่ต้องการ

Java โค้ดแยกไฟล์ Excel
// Load XLS spreadsheet
Workbook wbk = new Workbook("sourceFile.xls");
//Iterate all worksheets inside the workbook
for(int i=0; i< wbk.getWorksheets().getCount(); i++){
//Access the i th worksheet
Worksheet worksheet = wbk.getWorksheets().get(i);
Workbook bk = new Workbook();
bk.getWorksheets().get(0).copy(worksheet);
// Save the file.
bk.save("path"+worksheet.getName()+"-"+i+".xls");
}
 

แยกแผ่นงาน Excel ออกเป็นบานหน้าต่าง

API ยังมีฟังก์ชันการแบ่งแผ่นงาน Excel ออกเป็นบานหน้าต่างต่างๆ กระบวนการคือโหลดไฟล์โดยใช้คลาสสมุดงาน เลือกแผ่นงานแรกหรือแผ่นงานที่จำเป็นโดยระบุดัชนี เรียก setActiveCell ที่มีดัชนีเซลล์ที่เกี่ยวข้องเป็นพารามิเตอร์ และสุดท้ายก็แบ่งหน้าต่างเวิร์กชีตออกเป็นบานหน้าต่างต่างๆ โดยเรียกเมธอด split()

Java รหัสสำหรับแยกแผ่นงาน Excel ลงในมุมมองบานหน้าต่าง
//Instantiate a new workbook / Open a template file
Workbook bk = new Workbook(dataDir + "workbook.xls");
//Set the active cell
bk.getWorksheets().get(0).setActiveCell("A20");
//Split the worksheet window
bk.getWorksheets().get(0).split();