tạo tệp Excel trong Android

Trong bài viết này, bạn sẽ học cách triển khai các tính năng tự động hóa Excel từ bên trong các ứng dụng Android của mình. Sau khi đọc bài viết này, bạn sẽ có thể tạo tệp Excel XLSX hoặc XLS từ đầu trong ứng dụng Android của mình theo lập trình. Ngoài ra, bài viết này sẽ trình bày 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 Android để tạo tệp Excel - Tải xuống miễn phí

Aspose.Cells cho Android qua Java là một 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 bảng tính khác theo lập trình. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình sau trong build.gradle.

maven {
    url "https://repository.aspose.com/repo/" }
compile (
        group: 'com.aspose',
        name: 'aspose-cells',
        version: '21.3',
        classifier: 'android.via.java')

Tạo Excel XLSX hoặc XLS trong Android

Mỗi sổ làm việc Excel bao gồm một hoặc nhiều trang tính chứa các hàng và cột để giữ dữ liệu ở dạng ô. 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 pháp Workbook.getWorksheets.get().
  • Đặt giá trị vào ô mong muốn trong trang tính bằng cách sử dụng số nhận dạng 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 thấy cách tạo tệp Excel XLSX trong Android.

// Tạo một 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"); 
tạo Excel XLSX XLS trong Android

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

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 có thể 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 tệp Excel hiện có.

  • Mở tệp Excel bằng lớp Workbook.
  • Truy cập trang tính và ô bằng cách sử dụng các lớp Trang tínhÔ 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 thấy cách chỉnh sửa tệp MS Excel hiện có trong Android.

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

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

// Đặt "Hello World!" giá trị vào ô "A1"
cell.setValue("updated cell value.");

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

Tạo Biểu đồ hoặc Đồ thị trong Excel trong Android

Biểu đồ trong bảng tính được sử dụng để thể hiện một cách trực quan dữ liệu được lưu trữ trong bảng tính. Chúng giúp bạn dễ dàng phân tích một lượng lớn dữ liệu khá dễ dàng. Aspose.Cells cho Android thông qua 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 biểu đồ trong tệp Excel XLSX.

  • Tạo tệp Excel mới hoặc tải tệp hiện có bằng lớp Workbook.
  • Thêm dữ liệu vào trang tính (tùy chọn).
  • Nhận bộ sưu tập biểu đồ của trang tính bằng phương pháp Worksheet.getCharts().
  • Thêm biểu đồ mới bằng phương thức Worksheet.getCharts(). Add().
  • Nhận biểu đồ mới được tạo từ bộ sưu tập.
  • Chỉ định phạm vi ô để đặ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 thấy cách tạo biểu đồ trong Excel XLSX trong Android.

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

// Lấy tham chiếu của trang 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 ô
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"
// ô đến "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 Android

Tạo bảng tổng hợp trong Excel XLSX trong Android

Bảng tổng hợp trong trang tính Excel có nhiều mục đích khác nhau như thêm bộ lọc vào dữ liệu, tính toán tổng, tổng hợp 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 trang tính Excel.

  • Tạo 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 pháp Worksheet.getPivotTables().
  • Thêm một bảng tổng hợp mới trong trang tính bằng cách sử dụ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 thấy cách tạo bảng tổng hợp trong Excel.

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

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

// Lấy bộ sưu tập ô của Trang tính
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 vùng hàng.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Kéo trường thứ hai vào vùng 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

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

Aspose.Cells cho Android thông qua 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 chức năng tích hợp cũng như bổ trợ cho các ô.

Áp dụng các hàm dựng sẵn trong Excel

Để sử dụng các hàm tích hợp, bạn có thể 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 pháp Cell.setFormula (String). Mẫu mã sau đây cho biết cách đặt công thức tích hợp sẵn.

// Tạo một 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 các hàm bổ trợ trong Excel

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

// 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 hàm
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Đăng ký thêm các chức năng 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 phần bổ trợ
cell.setFormula("=TEST_UDF()"); 

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

Sự kết luận

Trong bài viết này, bạn đã biết cách tạo tệp MS Excel từ đầu trong Android 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 giá trị ô trong trang tính MS Excel. Bạn có thể tìm hiểu thêm về API Android Excel bằng tài liệu. Trong trường hợp bạn có bất kỳ thắc mắc nào, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi.

Xem thêm