ทุกวันนี้ มีการใช้สเปรดชีตกันอย่างแพร่หลายเพื่อเก็บและแบ่งปันข้อมูลแบบตารางจำนวนมาก นอกจากนี้ คุณสามารถดำเนินการต่างๆ เช่น การใช้สูตร การสร้างแผนภูมิและกราฟ การเรียงลำดับและการกรองข้อมูล และอื่นๆ การทำงานอัตโนมัติของสเปรดชีตทำให้เกิดการปฏิวัติในอุตสาหกรรมต่างๆ การสร้างและจัดการสเปรดชีตแบบไดนามิกทำให้การจัดการข้อมูลง่ายขึ้นมาก เพื่อดำเนินการจัดการสเปรดชีตโดยทางโปรแกรม บทความนี้ครอบคลุมวิธีสร้างไฟล์ Excel XLSX หรือ XLS ตั้งแต่เริ่มต้นบน Linux โดยใช้ Java
- Java API เพื่อสร้างไฟล์ Excel บน Linux
- สร้างไฟล์ Excel XLSX หรือ XLS บน Linux
- แก้ไขไฟล์ Excel ที่มีอยู่
- สร้างแผนภูมิในไฟล์ Excel
- สร้าง Pivot Table ใน XLSX
- เพิ่มสูตรสำหรับเซลล์ใน XLSX
API เพื่อสร้างไฟล์ Excel บน Linux - ดาวน์โหลดฟรี
สำหรับการสร้างและจัดการไฟล์ Excel เราจะใช้ Aspose.Cells for Java เป็น API การจัดการสเปรดชีตที่มีประสิทธิภาพในการสร้าง อัปเดต หรือแปลงไฟล์ Excel คุณสามารถ ดาวน์โหลด JAR ของ 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.9</version>
</dependency>
สร้างไฟล์ Excel บน Linux
ไฟล์ MS Excel เก็บข้อมูลในเวิร์กชีตที่ประกอบด้วยหลายเซลล์ ในขณะที่แผ่นงานเหล่านี้มีอยู่ในสมุดงาน ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์ Excel XLSX ตั้งแต่เริ่มต้นบน Linux
- สร้างอินสแตนซ์ของคลาส Workbook
- รับการอ้างอิงแผ่นงานที่ต้องการโดยใช้เมธอด Workbook.getWorksheets.get()
- ใส่ค่าในเซลล์ที่ต้องการของแผ่นงานโดยใช้ตัวระบุเซลล์ เช่น A1, B3 เป็นต้น
- บันทึกสมุดงานโดยใช้เมธอด Workbook.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ Excel XLSX บน Linux โดยใช้ Java
// สร้างสมุดงานใหม่
Workbook workbook = new Workbook();
// เพิ่มมูลค่าในเซลล์
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// บันทึกเป็นไฟล์ Excel XLSX
workbook.save("Excel.xlsx");
ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน
แก้ไขไฟล์ Excel XLSX บน Linux
คุณยังสามารถแก้ไขไฟล์ Excel ที่มีอยู่ได้อย่างลงตัว สำหรับสิ่งนี้ คุณสามารถโหลดไฟล์ เข้าถึงแผ่นงานที่ต้องการ และอัปเดตเนื้อหาได้ ต่อไปนี้เป็นขั้นตอนในการแก้ไขไฟล์ Excel XLSX
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- รับการอ้างอิงเวิร์กชีตและเซลล์โดยใช้คลาส เวิร์กชีต และ เซลล์ ตามลำดับ
- อัปเดตเนื้อหาของเซลล์
- บันทึกสมุดงานที่อัปเดตโดยใช้เมธอด Workbook.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขไฟล์ Excel บน Linux
// สร้างสมุดงานใหม่
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);
สร้างแผนภูมิในไฟล์ Excel บน Linux
แผนภูมิในสเปรดชีตใช้เพื่อแสดงข้อมูลที่จัดเก็บไว้ในเวิร์กชีตด้วยภาพ Aspose.Cells for Java มี แผนภูมิที่หลากหลาย ที่คุณสามารถสร้างได้ภายในไฟล์ Excel ต่อไปนี้เป็นขั้นตอนในการสร้างแผนภูมิในไฟล์ Excel XLSX บนแพลตฟอร์ม Linux
- สร้างไฟล์ Excel ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Workbook
- เพิ่มข้อมูลลงในเวิร์กชีต (ไม่บังคับ)
- รับคอลเลกชันแผนภูมิของแผ่นงานโดยใช้เมธอด Worksheet.getCharts()
- เพิ่มแผนภูมิใหม่ในคอลเลกชันโดยใช้เมธอด Worksheet.getCharts().add()
- รับข้อมูลอ้างอิงของ แผนภูมิ ที่สร้างขึ้นใหม่จากคอลเล็กชัน
- ระบุช่วงของเซลล์เพื่อตั้งค่า NSeries สำหรับแผนภูมิ
- สุดท้ายให้บันทึกไฟล์ Excel
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างแผนภูมิในไฟล์ Excel XLSX
// สร้างสมุดงานใหม่
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");
ภาพหน้าจอต่อไปนี้แสดงผลลัพธ์ของตัวอย่างโค้ดด้านบน
สร้าง Pivot Table ในไฟล์ Excel บน Linux
ตาราง Pivot ในเวิร์กชีต Excel มีวัตถุประสงค์ต่างๆ เช่น การเพิ่มตัวกรองข้อมูล การคำนวณผลรวม การสรุปข้อมูล และอื่นๆ ตาราง Pivot สามารถสร้างได้โดยใช้ช่วงของเซลล์ในเวิร์กชีต คุณสามารถสร้าง pivot table ในไฟล์ Excel โดยทำตามขั้นตอนด้านล่าง
- สร้างไฟล์ Excel ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Workbook
- แทรกข้อมูลลงในแผ่นงาน (ไม่บังคับ)
- เข้าถึงคอลเลกชันตารางเดือยโดยใช้เมธอด Worksheet.getPivotTables()
- เพิ่มตารางเดือยใหม่ในเวิร์กชีตโดยใช้เมธอด Worksheet.getPivotTables().add()
- ให้ข้อมูลกับตารางเดือย
- บันทึกสมุดงานโดยใช้เมธอด Workbook.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างตารางเดือยใน Excel
// สร้างสมุดงานใหม่
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
Aspose.Cells for Java ยังรองรับการทำงานกับสูตรในแผ่นงาน Excel ส่วนต่อไปนี้จะอธิบายวิธีการทำงานกับฟังก์ชันในตัวและฟังก์ชันเสริม
ใช้ฟังก์ชันในตัวใน Excel
สำหรับฟังก์ชันในตัว คุณสามารถขอข้อมูลอ้างอิงของเซลล์ที่ต้องการในเวิร์กชีตและเพิ่มสูตรโดยใช้เมธอด Cell.setFormula(String) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าสูตรที่มีอยู่แล้วภายในใน Excel
// สร้างสมุดงานใหม่
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
Aspose.Cells for Java ยังรองรับฟังก์ชันที่ผู้ใช้กำหนดสำหรับแผ่นงาน Excel ในการทำเช่นนี้ คุณจะต้องลงทะเบียนฟังก์ชันเสริมโดยใช้ไฟล์ xlam (โปรแกรมเสริมที่เปิดใช้งานแมโครของ Excel) ในการลงทะเบียนฟังก์ชันเสริม API มีเมธอด registerAddInFunction(int, String) และ registerAddInFunction(String, String, boolean) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลงทะเบียนและใช้ฟังก์ชัน Add-in ใน Excel
// สร้างสมุดงานใหม่
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");
รับใบอนุญาตฟรี
คุณสามารถใช้ Aspose.Cells for Java ได้โดยไม่มีข้อจำกัดในการประเมินโดยใช้ ใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ MS Excel ตั้งแต่เริ่มต้นบน Linux นอกจากนี้ คุณยังได้เห็นวิธีอัปเดตไฟล์ Excel สร้างแผนภูมิ สร้างตาราง Pivot และเพิ่มสูตรในเวิร์กชีต คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java โดยใช้ เอกสารประกอบ ในกรณีที่คุณมีคำถาม คุณสามารถถามผ่าน ฟอรัม ของเรา