MS Excel มีวิธีง่ายๆ ในการจัดเก็บและแบ่งปันข้อมูลแบบตารางจำนวนมาก นอกจากนี้ คุณสามารถดำเนินการต่างๆ เช่น การใช้สูตร การสร้างแผนภูมิและกราฟ การเรียงลำดับและการกรองข้อมูล และอื่นๆ ในบทความนี้ คุณจะได้เรียนรู้วิธีการใช้คุณลักษณะการทำงานอัตโนมัติของ Excel จากภายในแอปพลิเคชัน Java ของคุณ เราจะสาธิตวิธีสร้างไฟล์ Excel XLSX หรือ XLS ตั้งแต่เริ่มต้นใน Java นอกจากนี้ เราจะกล่าวถึงวิธีการอัปเดตไฟล์ Excel ที่มีอยู่ สร้างแผนภูมิ ใช้สูตร และเพิ่มตาราง Pivot ในแผ่นงาน Excel
- Java API เพื่อสร้างไฟล์ Excel - ดาวน์โหลดฟรี
- สร้างไฟล์ Excel XLSX หรือ XLS โดยใช้ Java
- แก้ไขไฟล์ Excel ที่มีอยู่โดยใช้ Java
- สร้างแผนภูมิในไฟล์ Excel โดยใช้ Java
- สร้าง Pivot Table ใน XLSX โดยใช้ Java
- เพิ่มสูตรสำหรับเซลล์ใน XLSX โดยใช้ Java
Java API เพื่อสร้างไฟล์ Excel - ดาวน์โหลดฟรี
Aspose.Cells for Java คือ API การจัดการสเปรดชีตที่มีประสิทธิภาพ ซึ่งช่วยให้คุณสร้างหรือแก้ไขไฟล์ Excel โดยไม่ต้องใช้ MS Office 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>20.9</version>
</dependency>
สร้าง Excel XLSX หรือ XLS ใน Java
ไฟล์ MS Excel จะเรียกว่าเวิร์กบุ๊ก และแต่ละเวิร์กบุ๊กจะประกอบด้วยเวิร์กชีตอย่างน้อยหนึ่งเวิร์กชีต แผ่นงานประกอบด้วยแถวและคอลัมน์เพิ่มเติมเพื่อเก็บข้อมูลในรูปแบบเซลล์ เริ่มต้นด้วยการสร้างสมุดงานอย่างง่าย ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ Excel XLSX ตั้งแต่เริ่มต้น
- สร้างอินสแตนซ์ของคลาส Workbook
- เข้าถึงแผ่นงานที่ต้องการโดยใช้เมธอด Workbook.getWorksheets.get()
- ใส่ค่าในเซลล์ที่ต้องการในเวิร์กชีตโดยใช้ตัวระบุเซลล์ เช่น A1, B3 เป็นต้น
- บันทึกสมุดงานเป็นไฟล์ Excel โดยใช้วิธี Workbook.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ Excel XLSX โดยใช้ Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook();
// เพิ่มมูลค่าในเซลล์
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// บันทึกเป็นไฟล์ Excel XLSX
workbook.save("Excel.xlsx");
แก้ไขไฟล์ Excel XLSX ใน Java
มาดูวิธีการแก้ไขหรือแทรกข้อมูลลงในไฟล์ MS Excel ที่มีอยู่ สำหรับสิ่งนี้ คุณสามารถโหลดไฟล์ เข้าถึงแผ่นงานที่ต้องการ และบันทึกไฟล์ที่อัปเดต ต่อไปนี้เป็นขั้นตอนในการแก้ไขไฟล์ Excel ที่มีอยู่
- เปิดไฟล์ Excel โดยใช้คลาส Workbook
- เข้าถึงเวิร์กชีตและเซลล์โดยใช้คลาส เวิร์กชีต และ เซลล์ ตามลำดับ
- บันทึกเวิร์กบุ๊กที่อัปเดตเป็นไฟล์ Excel .xlsx
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขไฟล์ MS Excel ที่มีอยู่โดยใช้ Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook("workbook.xls");
// รับการอ้างอิงของเซลล์ "A1" จากเซลล์ของแผ่นงาน
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");
// ตั้งค่า "Hello World!" ค่าลงในเซลล์ "A1"
cell.setValue("updated cell value.");
// เขียนไฟล์ Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);
Java สร้างไฟล์ Excel ด้วยแผนภูมิหรือกราฟ
แผนภูมิในสเปรดชีตใช้เพื่อแสดงข้อมูลที่จัดเก็บไว้ในเวิร์กชีตด้วยภาพ ช่วยให้วิเคราะห์ข้อมูลจำนวนมากได้ง่ายขึ้น Aspose.Cells for Java มี แผนภูมิที่หลากหลาย ที่คุณสามารถสร้างภายในไฟล์ Excel โดยทางโปรแกรม ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ Excel ที่มีแผนภูมิใน Java
- สร้างไฟล์ Excel ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Workbook
- เพิ่มข้อมูลลงในเวิร์กชีต (ไม่บังคับ)
- รับคอลเลกชันแผนภูมิของแผ่นงานโดยใช้เมธอด Worksheet.getCharts()
- เพิ่มแผนภูมิใหม่โดยใช้เมธอด Worksheet.getCharts().add()
- รับแผนภูมิที่สร้างขึ้นใหม่จากคอลเลกชัน
- ระบุช่วงของเซลล์เพื่อตั้งค่า NSeries สำหรับแผนภูมิ
- บันทึกสมุดงานเป็นไฟล์ Excel .xlsx
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ Excel XLSX พร้อมแผนภูมิใน Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook("workbook.xlsx");
// การได้รับข้อมูลอ้างอิงของแผ่นงานแรก
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// การเพิ่มค่าตัวอย่างให้กับเซลล์
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);
// รับแผนภูมิในแผ่นงาน
ChartCollection charts = sheet.getCharts();
// การเพิ่มแผนภูมิลงในแผ่นงาน
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);
// การเพิ่ม NSeries (แหล่งข้อมูลแผนภูมิ) ลงในแผนภูมิตั้งแต่ "A1"
// เซลล์ไปที่ "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);
// เขียนไฟล์ Excel
workbook.save("Excel_with_Chart.xlsx");
Java สร้างไฟล์ XLSX ที่มี Pivot Table
ตาราง Pivot ในเวิร์กชีต Excel มีวัตถุประสงค์ต่างๆ เช่น การเพิ่มตัวกรองข้อมูล การคำนวณผลรวม การสรุปข้อมูล และอื่นๆ ตาราง Pivot สามารถสร้างได้โดยใช้ช่วงของเซลล์ในเวิร์กชีต ต่อไปนี้เป็นขั้นตอนในการสร้าง pivot table ในไฟล์ Excel ใน Java
- สร้าง Workbook ใหม่หรือโหลดไฟล์ที่มีอยู่
- แทรกข้อมูลลงในเวิร์กชีต (ไม่บังคับ)
- เข้าถึงคอลเลกชันตารางเดือยโดยใช้เมธอด Worksheet.getPivotTables()
- เพิ่มตารางเดือยใหม่ในเวิร์กชีตโดยใช้เมธอด Worksheet.getPivotTables().add()
- ให้ข้อมูลกับตารางเดือย
- บันทึกสมุดงาน
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างตารางเดือยใน Excel ใน Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook("workbook.xlsx");
// รับแผ่นงานแรก
Worksheet sheet = workbook.getWorksheets().get(0);
// การรับคอลเล็กชันเซลล์ของแผ่นงาน
Cells cells = sheet.getCells();
// การตั้งค่าให้กับเซลล์
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");
cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");
cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");
cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);
PivotTableCollection pivotTables = sheet.getPivotTables();
// การเพิ่ม PivotTable ลงในแผ่นงาน
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");
// การเข้าถึงอินสแตนซ์ของ PivotTable ที่เพิ่มเข้ามาใหม่
PivotTable pivotTable = pivotTables.get(index);
// ไม่แสดงผลรวมทั้งหมดสำหรับแถว
pivotTable.setRowGrand(false);
// ลากฟิลด์แรกไปยังพื้นที่แถว
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
// การลากฟิลด์ที่สองไปยังพื้นที่คอลัมน์
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);
// การลากฟิลด์ที่สามไปยังพื้นที่ข้อมูล
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);
// เขียนไฟล์ Excel
workbook.save("Excel_with_Chart.xlsx");
เพิ่มสูตรสำหรับเซลล์ในไฟล์ Excel ใน Java
Aspose.Cells for Java ยังช่วยให้คุณทำงานกับสูตรในแผ่นงาน Excel คุณสามารถใช้ฟังก์ชันในตัวและฟังก์ชันเสริมกับเซลล์ได้
ใช้ฟังก์ชันในตัวใน Excel
สำหรับการใช้ฟังก์ชันในตัว คุณสามารถเข้าถึงเซลล์ที่ต้องการในเวิร์กชีตและเพิ่มสูตรโดยใช้เมธอด Cell.setFormula(String) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าสูตรในตัวโดยใช้ Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook();
// เพิ่มมูลค่าในเซลล์
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");
// บันทึกเป็นไฟล์ Excel XLSX
workbook.save("Excel.xlsx");
เพิ่มฟังก์ชันเสริมใน Excel
อาจมีบางกรณีที่คุณต้องใช้ฟังก์ชันที่ผู้ใช้กำหนด ในการทำเช่นนี้ คุณจะต้องลงทะเบียนฟังก์ชัน Add-in โดยใช้ไฟล์ .xlam (Excel macro-enabled add-in) จากนั้นใช้สำหรับเซลล์ที่ต้องการ สำหรับการลงทะเบียนฟังก์ชันเสริม Aspose.Cells for Java มีเมธอด registerAddInFunction(int, String) และ registerAddInFunction(String, String, boolean) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลงทะเบียนและใช้ฟังก์ชัน Add-in โดยใช้ Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook();
// ลงทะเบียน Add-in ที่เปิดใช้งานแมโครพร้อมกับชื่อฟังก์ชัน
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);
// ลงทะเบียนฟังก์ชั่นเพิ่มเติมในไฟล์ (ถ้ามี)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file
// เข้าถึงแผ่นงานแรก
Worksheet worksheet = workbook.getWorksheets().get(0);
// เข้าถึงเซลล์แรก
Cell cell = worksheet.getCells().get("A1");
// ตั้งชื่อสูตรที่มีอยู่ใน Add-in
cell.setFormula("=TEST_UDF()");
// บันทึกเป็นไฟล์ Excel XLSX
workbook.save("Excel.xlsx");
Java API เพื่อสร้างไฟล์ Excel XLS XLSX - รับใบอนุญาตฟรี
คุณสามารถใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เห็นวิธีสร้างไฟล์ MS Excel ตั้งแต่เริ่มต้นโดยใช้ Java โดยไม่ต้องใช้ MS Office คุณยังได้เรียนรู้วิธีอัปเดตสมุดงาน สร้างแผนภูมิ เพิ่มตาราง และใช้สูตรกับค่าเซลล์ภายในแผ่นงาน MS Excel คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Java Excel API ของ Aspose ได้โดยใช้ เอกสารประกอบ