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

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");
สร้างแผนภูมิใน excel โดยใช้ java

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");
สร้าง pivot table ใน excel โดยใช้ java

เพิ่มสูตรสำหรับเซลล์ในไฟล์ 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 ได้โดยใช้ เอกสารประกอบ

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

แปลงไฟล์ Excel เป็น PDF โดยใช้ JavaJSON เป็น Excel ใน JavaWord to JSON ใน C#
Word to JSON ใน PythonDOC เป็น JSON ใน C#ไฟล์ Excel เป็น JSON ใน Python
XLSX เป็น JSON ใน C#XLS เป็น JSON ใน C#XLSX เป็น JSON ใน Java
Excel เป็น JSON ใน JavaDOCX เป็น JSON ใน JavaDOC เป็น JSON ใน Java
Word to JSON ใน JavaTXT เป็น JSON ใน JavaJSON เป็น PDF ใน Python
Excel เป็น JSON ใน JavaTXT เป็น JSON ใน Pythonแปลงไฟล์ Excel เป็น Google ชีตใน C# .NET
แปลง Excel เป็น JSON ใน Javaแปลง Excel XLS/XLSX เป็น CSV ใน Javaแปลงไฟล์ Excel XLS เป็น XLSX ใน Python
ส่งข้อมูล Excel ในเนื้อหาอีเมลโดยใช้ C# .NETส่งออกข้อมูล Excel ไปยัง Google ชีตด้วย Pythonแปลงไฟล์ Excel เป็น Google ชีตใน Java