Cách tạo Bảng tổng hợp trong Excel bằng Node.js

Cách tạo Bảng tổng hợp trong Excel bằng Node.js

Điều tuyệt vời nhất về tệp Excel là bạn có thể thực hiện sửa đổi ở bất kỳ giai đoạn biên dịch hoặc trực quan hóa dữ liệu nào. MS Excel vẫn đứng đầu trong danh sách tổ chức dữ liệu và thực hiện các phép tính phức tạp. Trong bài đăng trên blog này, chúng ta sẽ tìm hiểu cách tạo bảng Pivot trong Excel bằng cách sử dụng Node.js theo chương trình. Ngoài ra, chúng ta cũng sẽ hướng dẫn cách tạo biểu đồ Pivot trong file Excel dựa trên bảng Pivot. Để làm điều này, chúng tôi sẽ cài đặt Excel JavaScript API này trong dự án Node.js của chúng tôi.

Các phần sau đây sẽ được đề cập:

Cài đặt API Excel JavaScript

Để cài đặt thư viện mạnh mẽ này, bạn tải xuống gói API hoặc cài đặt nó bằng cách chạy các lệnh sau:

npm install java
npm install aspose.cells

Cách tạo Bảng tổng hợp trong Excel bằng Node.js

Trong phần này, chúng tôi sẽ viết các bước sau và đoạn mã tạo bảng Pivot trong Excel theo chương trình.

Bạn có thể làm theo các bước sau và đoạn mã để chuyển đổi Excel sang DataTable trong C#:

  1. Khởi tạo một thể hiện của lớp Workbook.
  2. Lấy tham chiếu của bảng tính đầu tiên bằng cách gọi phương thức get(index).
  3. Đặt tên của bảng tính bằng cách gọi phương thức setName.
  4. Gọi phương thức getCells để lấy bộ sưu tập Cells.
  5. Nhận phần tử Ô tại tên ô được chỉ định.
  6. Gọi phương thức setValue này để đặt giá trị của phạm vi.
  7. Lấy đối tượng Cell trong phạm vi bằng cách gọi phương thức get.
  8. Thêm một trang tính mới bằng cách gọi phương thức add.
  9. nhận phần tử Trang tính tại chỉ mục đã chỉ định.
  10. Đặt tên cho sheet bằng cách gọi phương thức setName.
  11. Thêm Bảng tổng hợp vào trang tính bằng cách gọi phương thức add.
  12. Hiển thị tổng cuối bằng cách đặt giá trị của phương thức setRowGrand.
  13. Đặt giá trị của phương thức setColumnGrand để cho biết liệu báo cáo PivotTable có hiển thị tổng cuối cho các cột hay không.
  14. Bây giờ, hãy đặt giá trị của phương thức setAutoFormat để cho biết liệu báo cáo PivotTable có được định dạng tự động hay không.
  15. Đặt loại PivotTable autoformat bằng cách gọi phương thức setAutoFormatType.
  16. Gọi phương thức addFieldToArea để kéo trường thứ nhất, thứ hai, thứ ba, thứ tư và thứ năm vào khu vực hàng.
  17. Đặt định dạng số của trường dữ liệu đầu tiên bằng cách gọi phương thức getDataFields.
  18. Lưu tệp Excel bằng cách gọi phương thức save.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Khởi tạo tức thời của lớp Workbook 
var workbook = new aspose.cells.Workbook();
// Lấy tham chiếu của bảng tính đầu tiên bằng cách gọi phương thức get(index) 
var sheet = workbook.getWorksheets().get(0);
//  đặt tên của bảng tính bằng cách gọi phương thức setName. 
sheet.setName("Data");
// Gọi phương thức getCells để lấy bộ sưu tập Cells. 
var cells = sheet.getCells();

// Lấy phần tử Cell tại tên ô được chỉ định. 
var cell = cells.get("A1");
// Gọi phương thức này để đặt giá trị của phạm vi. 
cell.setValue("Employee");
// Lấy đối tượng Cell trong phạm vi bằng cách gọi phương thức get.
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Product");
cell = cells.get("D1");
cell.setValue("Continent");
cell = cells.get("E1");
cell.setValue("Country");
cell = cells.get("F1");
cell.setValue("Sale");

cell = cells.get("A2");
cell.setValue("David");
cell = cells.get("A3");
cell.setValue("David");
cell = cells.get("A4");
cell.setValue("David");
cell = cells.get("A5");
cell.setValue("David");
cell = cells.get("A6");
cell.setValue("James");
cell = cells.get("A7");
cell.setValue("James");
cell = cells.get("A8");
cell.setValue("James");
cell = cells.get("A9");
cell.setValue("James");
cell = cells.get("A10");
cell.setValue("James");
cell = cells.get("A11");
cell.setValue("Miya");
cell = cells.get("A12");
cell.setValue("Miya");
cell = cells.get("A13");
cell.setValue("Miya");
cell = cells.get("A14");
cell.setValue("Miya");
cell = cells.get("A15");
cell.setValue("Miya");
cell = cells.get("A16");
cell.setValue("Miya");
cell = cells.get("A17");
cell.setValue("Miya");
cell = cells.get("A18");
cell.setValue("Elvis");
cell = cells.get("A19");
cell.setValue("Elvis");
cell = cells.get("A20");
cell.setValue("Elvis");
cell = cells.get("A21");
cell.setValue("Elvis");
cell = cells.get("A22");
cell.setValue("Elvis");
cell = cells.get("A23");
cell.setValue("Elvis");
cell = cells.get("A24");
cell.setValue("Elvis");
cell = cells.get("A25");
cell.setValue("Jean");
cell = cells.get("A26");
cell.setValue("Jean");
cell = cells.get("A27");
cell.setValue("Jean");
cell = cells.get("A28");
cell.setValue("Ada");
cell = cells.get("A29");
cell.setValue("Ada");
cell = cells.get("A30");
cell.setValue("Ada");

cell = cells.get("B2");
cell.setValue("1");
cell = cells.get("B3");
cell.setValue("2");
cell = cells.get("B4");
cell.setValue("3");
cell = cells.get("B5");
cell.setValue("4");
cell = cells.get("B6");
cell.setValue("1");
cell = cells.get("B7");
cell.setValue("2");
cell = cells.get("B8");
cell.setValue("3");
cell = cells.get("B9");
cell.setValue("4");
cell = cells.get("B10");
cell.setValue("4");
cell = cells.get("B11");
cell.setValue("1");
cell = cells.get("B12");
cell.setValue("1");
cell = cells.get("B13");
cell.setValue("2");
cell = cells.get("B14");
cell.setValue("2");
cell = cells.get("B15");
cell.setValue("3");
cell = cells.get("B16");
cell.setValue("4");
cell = cells.get("B17");
cell.setValue("4");
cell = cells.get("B18");
cell.setValue("1");
cell = cells.get("B19");
cell.setValue("1");
cell = cells.get("B20");
cell.setValue("2");
cell = cells.get("B21");
cell.setValue("3");
cell = cells.get("B22");
cell.setValue("3");
cell = cells.get("B23");
cell.setValue("4");
cell = cells.get("B24");
cell.setValue("4");
cell = cells.get("B25");
cell.setValue("1");
cell = cells.get("B26");
cell.setValue("2");
cell = cells.get("B27");
cell.setValue("3");
cell = cells.get("B28");
cell.setValue("1");
cell = cells.get("B29");
cell.setValue("2");
cell = cells.get("B30");
cell.setValue("3");

cell = cells.get("C2");
cell.setValue("Maxilaku");
cell = cells.get("C3");
cell.setValue("Maxilaku");
cell = cells.get("C4");
cell.setValue("Chai");
cell = cells.get("C5");
cell.setValue("Maxilaku");
cell = cells.get("C6");
cell.setValue("Chang");
cell = cells.get("C7");
cell.setValue("Chang");
cell = cells.get("C8");
cell.setValue("Chang");
cell = cells.get("C9");
cell.setValue("Chang");
cell = cells.get("C10");
cell.setValue("Chang");
cell = cells.get("C11");
cell.setValue("Geitost");
cell = cells.get("C12");
cell.setValue("Chai");
cell = cells.get("C13");
cell.setValue("Geitost");
cell = cells.get("C14");
cell.setValue("Geitost");
cell = cells.get("C15");
cell.setValue("Maxilaku");
cell = cells.get("C16");
cell.setValue("Geitost");
cell = cells.get("C17");
cell.setValue("Geitost");
cell = cells.get("C18");
cell.setValue("Ikuru");
cell = cells.get("C19");
cell.setValue("Ikuru");
cell = cells.get("C20");
cell.setValue("Ikuru");
cell = cells.get("C21");
cell.setValue("Ikuru");
cell = cells.get("C22");
cell.setValue("Ipoh Coffee");
cell = cells.get("C23");
cell.setValue("Ipoh Coffee");
cell = cells.get("C24");
cell.setValue("Ipoh Coffee");
cell = cells.get("C25");
cell.setValue("Chocolade");
cell = cells.get("C26");
cell.setValue("Chocolade");
cell = cells.get("C27");
cell.setValue("Chocolade");
cell = cells.get("C28");
cell.setValue("Chocolade");
cell = cells.get("C29");
cell.setValue("Chocolade");
cell = cells.get("C30");
cell.setValue("Chocolade");

cell = cells.get("D2");
cell.setValue("Asia");
cell = cells.get("D3");
cell.setValue("Asia");
cell = cells.get("D4");
cell.setValue("Asia");
cell = cells.get("D5");
cell.setValue("Asia");
cell = cells.get("D6");
cell.setValue("Europe");
cell = cells.get("D7");
cell.setValue("Europe");
cell = cells.get("D8");
cell.setValue("Europe");
cell = cells.get("D9");
cell.setValue("Europe");
cell = cells.get("D10");
cell.setValue("Europe");
cell = cells.get("D11");
cell.setValue("America");
cell = cells.get("D12");
cell.setValue("America");
cell = cells.get("D13");
cell.setValue("America");
cell = cells.get("D14");
cell.setValue("America");
cell = cells.get("D15");
cell.setValue("America");
cell = cells.get("D16");
cell.setValue("America");
cell = cells.get("D17");
cell.setValue("America");
cell = cells.get("D18");
cell.setValue("Europe");
cell = cells.get("D19");
cell.setValue("Europe");
cell = cells.get("D20");
cell.setValue("Europe");
cell = cells.get("D21");
cell.setValue("Oceania");
cell = cells.get("D22");
cell.setValue("Oceania");
cell = cells.get("D23");
cell.setValue("Oceania");
cell = cells.get("D24");
cell.setValue("Oceania");
cell = cells.get("D25");
cell.setValue("Africa");
cell = cells.get("D26");
cell.setValue("Africa");
cell = cells.get("D27");
cell.setValue("Africa");
cell = cells.get("D28");
cell.setValue("Africa");
cell = cells.get("D29");
cell.setValue("Africa");
cell = cells.get("D30");
cell.setValue("Africa");

cell = cells.get("E2");
cell.setValue("China");
cell = cells.get("E3");
cell.setValue("India");
cell = cells.get("E4");
cell.setValue("Korea");
cell = cells.get("E5");
cell.setValue("India");
cell = cells.get("E6");
cell.setValue("France");
cell = cells.get("E7");
cell.setValue("France");
cell = cells.get("E8");
cell.setValue("Germany");
cell = cells.get("E9");
cell.setValue("Italy");
cell = cells.get("E10");
cell.setValue("France");
cell = cells.get("E11");
cell.setValue("U.S.");
cell = cells.get("E12");
cell.setValue("U.S.");
cell = cells.get("E13");
cell.setValue("Brazil");
cell = cells.get("E14");
cell.setValue("U.S.");
cell = cells.get("E15");
cell.setValue("U.S.");
cell = cells.get("E16");
cell.setValue("Canada");
cell = cells.get("E17");
cell.setValue("U.S.");
cell = cells.get("E18");
cell.setValue("Italy");
cell = cells.get("E19");
cell.setValue("France");
cell = cells.get("E20");
cell.setValue("Italy");
cell = cells.get("E21");
cell.setValue("New Zealand");
cell = cells.get("E22");
cell.setValue("Australia");
cell = cells.get("E23");
cell.setValue("Australia");
cell = cells.get("E24");
cell.setValue("New Zealand");
cell = cells.get("E25");
cell.setValue("S.Africa");
cell = cells.get("E26");
cell.setValue("S.Africa");
cell = cells.get("E27");
cell.setValue("S.Africa");
cell = cells.get("E28");
cell.setValue("Egypt");
cell = cells.get("E29");
cell.setValue("Egypt");
cell = cells.get("E30");
cell.setValue("Egypt");

cell = cells.get("F2");
cell.setValue(2000);
cell = cells.get("F3");
cell.setValue(500);
cell = cells.get("F4");
cell.setValue(1200);
cell = cells.get("F5");
cell.setValue(1500);
cell = cells.get("F6");
cell.setValue(500);
cell = cells.get("F7");
cell.setValue(1500);
cell = cells.get("F8");
cell.setValue(800);
cell = cells.get("F9");
cell.setValue(900);
cell = cells.get("F10");
cell.setValue(500);
cell = cells.get("F11");
cell.setValue(1600);
cell = cells.get("F12");
cell.setValue(600);
cell = cells.get("F13");
cell.setValue(2000);
cell = cells.get("F14");
cell.setValue(500);
cell = cells.get("F15");
cell.setValue(900);
cell = cells.get("F16");
cell.setValue(700);
cell = cells.get("F17");
cell.setValue(1400);
cell = cells.get("F18");
cell.setValue(1350);
cell = cells.get("F19");
cell.setValue(300);
cell = cells.get("F20");
cell.setValue(500);
cell = cells.get("F21");
cell.setValue(1000);
cell = cells.get("F22");
cell.setValue(1500);
cell = cells.get("F23");
cell.setValue(1500);
cell = cells.get("F24");
cell.setValue(1600);
cell = cells.get("F25");
cell.setValue(1000);
cell = cells.get("F26");
cell.setValue(1200);
cell = cells.get("F27");
cell.setValue(1300);
cell = cells.get("F28");
cell.setValue(1500);
cell = cells.get("F29");
cell.setValue(1400);
cell = cells.get("F30");
cell.setValue(1000);


// Thêm một trang tính mới bằng cách gọi phương thức add 
var sheetIndex = workbook.getWorksheets().add();
// lấy phần tử Bảng tính tại chỉ mục đã chỉ định. 
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// Đặt tên cho sheet bằng cách gọi phương thức setName 
sheet2.setName("PivotTable");
// Lấy bộ sưu tập Pivottable trong trang tính
var pivotTables = sheet2.getPivotTables();
// Thêm PivotTable vào trang tính bằng cách gọi phương thức thêm 
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// lấy phiên bản của PivotTable mới được thêm vào
var pivotTable = pivotTables.get(index);
// Hiển thị tổng cuối bằng cách đặt giá trị của phương thức setRowGrand 
pivotTable.setRowGrand(true);
// Đặt giá trị của phương thức setColumnGrand cho biết liệu báo cáo PivotTable có hiển thị tổng cuối cho các cột hay không.
pivotTable.setColumnGrand(true);
// Đặt giá trị của phương thức setAutoFormat cho biết liệu báo cáo PivotTable có được định dạng tự động hay không. 
pivotTable.setAutoFormat(true);
// Đặt loại tự động định dạng PivotTable bằng cách gọi phương thức setAutoFormatType 
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// Gọi phương thức addFieldToArea để kéo trường thứ nhất, thứ hai, thứ ba, thứ tư và thứ năm vào khu vực hàng. 
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 0);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 2);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 1);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.COLUMN, 3);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.DATA, 5);
// Đặt định dạng số của trường dữ liệu đầu tiên bằng cách gọi phương thức getDataFields 
pivotTable.getDataFields().get(0).setNumber(7);
// Lưu tệp Excel bằng cách gọi phương thức lưu 
workbook.save(  "pivotTable_test.xls");

Bạn có thể thấy đầu ra trong hình ảnh dưới đây:

Tạo Bảng tổng hợp trong Excel bằng Node.js

Cách tạo biểu đồ Pivot trong Excel bằng lập trình

Bây giờ, chúng tôi sẽ triển khai chức năng tạo biểu đồ Pivot dựa trên bảng Pivot được tạo bằng API Excel JavaScript này.

Bạn có thể làm theo các bước và đoạn mã được đề cập bên dưới:

  1. Tạo một thể hiện của lớp Workbook.
  2. Gọi phương thức thêm vào thêm một bảng tính vào bộ sưu tập.
  3. nhận phần tử Trang tính tại chỉ mục đã chỉ định.
  4. Đặt tên cho trang tính bằng cách gọi phương thức setName.
  5. Thêm biểu đồ cột bằng cách gọi phương thức add.
  6. nhận phần tử Biểu đồ tại chỉ mục đã chỉ định.
  7. Gọi phương thức setPivotSource để đặt nguồn dữ liệu biểu đồ trục.
  8. Gọi phương thức setHidePivotFieldButtons để chỉ ẩn các nút trường biểu đồ trục khi biểu đồ là PivotChart.
  9. lưu tệp Excel.

Sao chép và dán đoạn mã sau vào tệp chính của bạn:

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Tạo một thể hiện của lớp Workbook 
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// Gọi phương thức add để thêm một bảng tính vào bộ sưu tập.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// lấy phần tử Bảng tính tại chỉ mục đã chỉ định. 
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// Đặt tên cho sheet bằng cách gọi phương thức setName 
sheet3.setName("PivotChart");
// Thêm biểu đồ cột bằng cách gọi phương thức add 
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// lấy phần tử Biểu đồ tại chỉ mục đã chỉ định. 
var chart = sheet3.getCharts().get(chartIndex);
// Gọi phương thức setPivotSource để đặt nguồn dữ liệu biểu đồ trục 
chart.setPivotSource("PivotTable!PivotTable1");
// Gọi phương thức setHidePivotFieldButtons để chỉ ẩn các nút trường biểu đồ trụ khi biểu đồ là PivotChart. 
chart.setHidePivotFieldButtons(false);
// Lưu tệp Excel 
workbook.save( "pivotChart_test.xls");

Đầu ra được hiển thị trong hình ảnh dưới đây:

Cách tạo biểu đồ Pivot trong Excel bằng lập trình

Nhận giấy phép miễn phí

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

Tổng hợp

Như bạn đã xem qua API Excel JavaScript cấp doanh nghiệp này. Ngoài ra, bạn đã học cách tạo bảng Pivot trong Excel bằng cách sử dụng Node.js theo chương trình và chúng tôi cũng đã triển khai chức năng tạo biểu đồ Pivot. Ngoài ra, bạn có thể truy cập tài liệu để biết các tính năng khác.

Hơn nữa, chúng tôi khuyên bạn nên làm theo Hướng dẫn bắt đầu của chúng tôi.

Cuối cùng, conholdate.com vẫn liên tục viết các bài blog mới. Vì vậy, vui lòng giữ liên lạc để cập nhật thông tin mới nhất.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Câu hỏi thường gặp

Làm cách nào để tạo và chỉnh sửa PivotTable trong Excel?

Bạn có thể cài đặt Excel JavaScript API này để tạo PivotTable trong Excel theo chương trình. Ngoài ra, bạn có thể truy cập liên kết này để xem các bước và đoạn mã.

Xem thêm