MS Excel cung cấp một cách dễ dàng để lưu giữ và chia sẻ một lượng lớn dữ liệu dạng bảng. Ngoài ra, bạn có thể thực hiện nhiều thao tác khác nhau như áp dụng công thức, tạo biểu đồ và đồ thị, sắp xếp và lọc dữ liệu, v.v. Trong bài viết này, bạn sẽ tìm hiểu cách triển khai các tính năng tự động hóa của Excel từ bên trong các ứng dụng Java của mình. Chúng tôi sẽ trình bày cách tạo tệp Excel XLSX hoặc XLS từ đầu trong Java. Ngoài ra, chúng tôi sẽ đề cập đến cách cập nhật tệp Excel hiện có, tạo biểu đồ, áp dụng công thức và thêm bảng tổng hợp trong trang tính Excel.

API Java để tạo tệp Excel - Tải xuống miễn phí

Aspose.Cells for Java là API thao tác bảng tính mạnh mẽ cho phép bạn tạo hoặc sửa đổi các tệp Excel mà không cần MS Office. API hỗ trợ thêm biểu đồ, đồ thị, công thức và thực hiện các thao tác thao tác trên bảng tính khác theo chương trình. Bạn có thể tải xuống API miễn phí hoặc cài đặt nó trong các ứng dụng dựa trên Maven của mình.

<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>

Tạo Excel XLSX hoặc XLS trong Java

Các tệp MS Excel được gọi là sổ làm việc và mỗi sổ làm việc bao gồm một hoặc nhiều trang tính. Các trang tính còn chứa các hàng và cột để giữ dữ liệu ở dạng ô. Vì vậy, hãy bắt đầu bằng cách tạo một sổ làm việc đơn giản. Sau đây là các bước để tạo tệp Excel XLSX từ đầu.

  • Tạo một thể hiện của lớp Workbook.
  • Truy cập trang tính mong muốn bằng phương thức Workbook.getWorksheets.get().
  • Đặt giá trị vào ô mong muốn trong trang tính bằng mã định danh của ô, chẳng hạn như A1, B3, v.v.
  • Lưu sổ làm việc dưới dạng tệp Excel bằng phương pháp Workbook.save().

Mẫu mã sau đây cho biết cách tạo tệp Excel XLSX bằng Java.

// Tạo sổ làm việc mới
Workbook workbook = new Workbook();

// Thêm giá trị vào ô
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Lưu dưới dạng tệp Excel XLSX
workbook.save("Excel.xlsx"); 

Chỉnh sửa tệp Excel XLSX trong Java

Bây giờ chúng ta hãy xem cách sửa đổi hoặc chèn dữ liệu vào tệp MS Excel hiện có. Đối với điều này, bạn chỉ cần tải tệp, truy cập trang tính mong muốn và lưu tệp đã cập nhật. Sau đây là các bước để sửa đổi một tệp Excel hiện có.

  • Mở tệp Excel bằng lớp Workbook.
  • Truy cập các trang tính và ô bằng cách sử dụng các lớp WorksheetCell tương ứng.
  • Lưu sổ làm việc đã cập nhật dưới dạng tệp Excel .xlsx.

Mẫu mã sau đây cho biết cách chỉnh sửa tệp MS Excel hiện có bằng Java.

// Tạo sổ làm việc mới
Workbook workbook = new Workbook("workbook.xls"); 

// Lấy tham chiếu của ô "A1" từ các ô của trang tính
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Đặt "Xin chào thế giới!" giá trị vào ô "A1"
cell.setValue("updated cell value.");

// Viết tệp Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Java Tạo tệp Excel bằng biểu đồ hoặc đồ thị

Biểu đồ trong bảng tính được sử dụng để thể hiện trực quan dữ liệu được lưu trữ trong trang tính. Chúng giúp phân tích một lượng lớn dữ liệu khá dễ dàng. Aspose.Cells for Java cung cấp nhiều loại biểu đồ mà bạn có thể tạo trong các tệp Excel theo chương trình. Sau đây là các bước để tạo một tệp Excel có biểu đồ trong Java.

  • Tạo một tệp Excel mới hoặc tải một tệp hiện có bằng lớp Workbook.
  • Thêm dữ liệu vào trang tính (tùy chọn).
  • Lấy bộ sưu tập biểu đồ của trang tính bằng phương thức Worksheet.getCharts().
  • Thêm biểu đồ mới bằng phương thức Worksheet.getCharts().add().
  • Lấy biểu đồ vừa tạo từ bộ sưu tập.
  • Chỉ định phạm vi của ô để đặt NSeries cho biểu đồ.
  • Lưu sổ làm việc dưới dạng tệp Excel .xlsx.

Mẫu mã sau đây cho biết cách tạo tệp Excel XLSX bằng biểu đồ trong Java.

// Tạo sổ làm việc mới
Workbook workbook = new Workbook("workbook.xlsx"); 

// Lấy tham chiếu của bảng tính đầu tiên
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Thêm một số giá trị mẫu vào các ô
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);

// lấy biểu đồ trong trang tính
ChartCollection charts = sheet.getCharts();

// Thêm biểu đồ vào trang tính
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Thêm NSeries (nguồn dữ liệu biểu đồ) vào biểu đồ từ "A1"
// ô thành "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Viết tệp Excel 
workbook.save("Excel_with_Chart.xlsx");
tạo biểu đồ trong excel bằng java

Java Tạo tệp XLSX có Bảng tổng hợp

Bảng tổng hợp trong trang tính Excel có nhiều mục đích khác nhau, chẳng hạn như thêm bộ lọc vào dữ liệu, tính tổng, tóm tắt dữ liệu, v.v. Có thể tạo bảng tổng hợp bằng cách sử dụng phạm vi ô trong trang tính. Sau đây là các bước để tạo bảng tổng hợp trong tệp Excel bằng Java.

  • Tạo một Workbook mới hoặc tải một tệp hiện có.
  • Chèn dữ liệu vào trang tính (tùy chọn).
  • Truy cập bộ sưu tập bảng tổng hợp bằng phương thức Worksheet.getPivotTables().
  • Thêm một bảng tổng hợp mới trong trang tính bằng phương thức Worksheet.getPivotTables().add().
  • Cung cấp dữ liệu cho bảng tổng hợp.
  • Lưu sổ làm việc.

Mẫu mã sau đây cho biết cách tạo bảng tổng hợp trong Excel bằng Java.

// Tạo sổ làm việc mới
Workbook workbook = new Workbook("workbook.xlsx"); 

// Nhận bảng tính đầu tiên.
Worksheet sheet = workbook.getWorksheets().get(0);

// Lấy bộ sưu tập ô của Worksheet
Cells cells = sheet.getCells();

// Đặt giá trị cho các ô
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();

// Thêm PivotTable vào trang tính
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Truy cập phiên bản của PivotTable mới được thêm vào
PivotTable pivotTable = pivotTables.get(index);

// Đang hiển thị tổng số lớn cho các hàng.
pivotTable.setRowGrand(false);

// Kéo trường đầu tiên vào khu vực hàng.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Kéo trường thứ hai vào khu vực cột.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Kéo trường thứ ba vào vùng dữ liệu.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Viết tệp Excel 
workbook.save("Excel_with_Chart.xlsx");
tạo bảng tổng hợp trong excel bằng java

Thêm công thức cho ô trong tệp Excel trong Java

Aspose.Cells for Java cũng cho phép bạn làm việc với các công thức trong trang tính Excel. Bạn có thể áp dụng các hàm tích hợp sẵn cũng như bổ trợ cho các ô.

Áp dụng các hàm tích hợp trong Excel

Để sử dụng các hàm tích hợp sẵn, bạn chỉ cần truy cập vào ô mong muốn trong trang tính và thêm công thức bằng phương thức Cell.setFormula(String). Mẫu mã sau đây cho biết cách đặt công thức dựng sẵn bằng Java.

// Tạo sổ làm việc mới
Workbook workbook = new Workbook();

// Thêm giá trị vào ô
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Lưu dưới dạng tệp Excel XLSX
workbook.save("Excel.xlsx"); 

Thêm Add-in Hàm trong Excel

Có thể xảy ra trường hợp bạn phải sử dụng hàm do người dùng xác định. Đối với điều này, bạn sẽ phải đăng ký chức năng bổ trợ bằng tệp .xlam (bổ trợ hỗ trợ macro Excel) rồi sử dụng nó cho các ô mong muốn. Để đăng ký các hàm bổ trợ, Aspose.Cells for Java cung cấp các phương thức registerAddInFunction(int, String)registerAddInFunction(String, String, boolean). Mẫu mã sau đây cho biết cách đăng ký và sử dụng hàm bổ trợ bằng Java.

// tạo một sổ làm việc mới
Workbook workbook = new Workbook();

// Đăng ký bổ trợ hỗ trợ macro cùng với tên chức năng
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Đăng ký thêm hàm trong file (nếu có)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Truy cập trang tính đầu tiên
Worksheet worksheet = workbook.getWorksheets().get(0);

// Truy cập ô đầu tiên
Cell cell = worksheet.getCells().get("A1");

// Đặt tên công thức có trong bổ trợ
cell.setFormula("=TEST_UDF()"); 

// Lưu dưới dạng tệp Excel XLSX
workbook.save("Excel.xlsx"); 

API Java để tạo tệp Excel XLS XLSX - Nhận giấy phép miễn phí

Bạn có thể sử dụng API mà không bị giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã biết cách tạo các tệp MS Excel từ đầu bằng cách sử dụng Java mà không cần MS Office. Bạn cũng đã học cách cập nhật sổ làm việc, tạo biểu đồ, thêm bảng và áp dụng công thức cho các giá trị ô trong trang tính MS Excel. Bạn có thể tìm hiểu thêm về API Java Excel của Aspose bằng cách sử dụng tài liệu.

Xem thêm

Tệp Excel sang PDF bằng JavaJSON sang Excel trong JavaTừ chuyển thành JSON trong C#
Từ chuyển thành JSON trong PythonDOC sang JSON trong C#Tệp Excel thành JSON trong Python
XLSX sang JSON trong C#XLS sang JSON trong C#XLSX sang JSON trong Java
Excel sang JSON trong JavaDOCX sang JSON trong JavaDOC sang JSON trong Java
Từ chuyển thành JSON trong JavaTXT sang JSON trong JavaJSON sang PDF bằng Python
Excel sang JSON trong JavaTXT sang JSON trong PythonChuyển đổi tệp Excel sang Google Trang tính bằng C# .NET
Chuyển đổi Excel sang JSON trong JavaChuyển đổi Excel XLS/XLSX sang CSV trong JavaChuyển đổi tệp Excel XLS sang XLSX bằng Python
Gửi dữ liệu Excel trong nội dung email bằng C# .NETXuất dữ liệu Excel sang Google Trang tính bằng PythonChuyển đổi tệp Excel sang Google Trang tính bằng Java