Cách sử dụng JavaScript Excel

Từ lâu đã đóng vai trò trung tâm trong hoạt động của World Wide Web, các công cụ JavaScript hiện cũng có mặt trong nhiều chương trình không phải web (chẳng hạn như trình xử lý văn bản và phần mềm PDF)

Tại hội nghị Build 2018 gần đây của Microsoft, họ đã thông báo rằng các hàm JavaScript tùy chỉnh sẽ sớm được hỗ trợ trong bảng tính Excel. Có thể bạn đã quen thuộc với Excel — đây là một công cụ gần như không thể thiếu trong môi trường làm việc hiện đại, với tất cả mọi người từ các nhà xuất bản tạp chí hào nhoáng đến các ngân hàng đường phố lớn đều sử dụng nó ngày này qua ngày khác

Hỗ trợ cho các hàm JavaScript sẽ mang lại điều gì cho Excel?

Bạn sẽ có tùy chọn tạo công thức Excel tùy chỉnh bằng mã JavaScript và những công thức này sẽ được lưu trữ trong cơ sở dữ liệu công thức của chương trình. Sau khi tạo, bạn có thể chèn các công thức trong bảng tính, điều này sẽ kích thích mã JavaScript (mà trình thông dịch JavaScript sẽ xử lý)

Việc bổ sung các hàm JavaScript tùy chỉnh giúp Excel linh hoạt hơn khi làm việc với dữ liệu, cũng như khả năng kết hợp một nhóm thông tin lớn hơn từ web và các dịch vụ của bên thứ ba

Tại hội nghị Build, Microsoft đã nhấn mạnh những lợi ích chính của các hàm JavaScript tùy chỉnh là khả năng “Tính toán các phép toán, chẳng hạn như liệu một số có phải là số nguyên tố hay không; . ”

Làm thế nào nó hoạt động?

Các hàm JavaScript sẽ được truy cập giống như các hàm đã tồn tại của Excel — bạn biết đấy, =SUM(), =AVERAGE(), =MIN(), =MAX(), v.v.

Chỉ, có một sự khác biệt nhỏ. Để kích hoạt các chức năng JavaScript ngay từ đầu, bạn cần tải chúng theo cách thủ công thông qua tính năng bổ trợ của Excel. Khi điều này được thực hiện, chúng sẽ vẫn hoạt động mỗi khi bạn mở bảng tính đó trên cùng một máy tính

Hiện tại, các chức năng JavaScript chỉ khả dụng trong Bản xem trước dành cho nhà phát triển trên Windows, Mac và Excel Online, nhưng tính khả dụng cho tất cả người dùng không còn xa nữa

Nếu bạn đang sử dụng Bản xem trước dành cho nhà phát triển, bạn có thể tìm thấy tài khoản chi tiết về cách thiết lập và chạy các chức năng JavaScript tại đây

Chào mừng bạn đến với hướng dẫn về cách tạo tệp Excel trong Javascript. Bạn đã đọc đúng. Chúng tôi đang đề cập đến “Javascript của trình duyệt” chứ không phải NodeJS phía máy chủ. Những ngày đen tối đã qua và thực sự có thể tạo các tệp Excel bằng Javascript phía máy khách – Đọc tiếp để biết các ví dụ

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Tải xuống & Ghi chú

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

ẢNH CHỤP MÀN HÌNH

Được rồi, bây giờ chúng ta hãy xem các ví dụ về cách tạo tệp Excel trong Javascript

 

VÍ DỤ 1) TẠO TẬP TIN EXCEL và BUỘC TẢI XUỐNG

1A) HTML

1-tạo-excel. html




 




document.getElementById("demo").onclick = () => { .. };

Đúng, đó là gần như mọi thứ chúng ta cần để lái ví dụ

  1. Tải SheetJS từ CDNJS, cần có thư viện này để tạo tệp Excel. Sẽ để lại một liên kết trong phần bổ sung bên dưới đến tài liệu đầy đủ của họ
  2. Nút demo để bắt đầu tạo tệp Excel
  3. Tạo tệp Excel khi nhấp vào nút

 

1B) DỮ LIỆU GIẢ

1-tạo-excel. html

// (C1) DUMMY DATA
var data = [
  ["Joa Doe", "[email protected]"],
  ["Job Doe", "[email protected]"],
  ["Joe Doe", "[email protected]"],
  ["Jon Doe", "[email protected]"],
  ["Joy Doe", "[email protected]"]
];

Đối với Javascript, trước tiên chúng ta sẽ bắt đầu bằng cách xác định một mảng dữ liệu giả được lồng vào nhau. Đừng nghĩ giải thích nhiều, cái này sẽ được “quy đổi” thành hàng và cột trong file Excel

 

 

1C) TẠO MỘT ĐỐI TƯỢNG EXCEL MỚI

1-tạo-excel. html

// (C2) CREATE NEW EXCEL "FILE"
var workbook = XLSX.utils.book_new(),
    worksheet = XLSX.utils.aoa_to_sheet(data);
workbook.SheetNames.push("First");
workbook.Sheets["First"] = worksheet;

Điều này sẽ khá dễ hiểu đối với những người đã biết rõ về Excel, nhưng đối với những người mới

  • Một “sổ làm việc” chỉ đơn giản là “toàn bộ tệp Excel”
  • Một "trang tính" là một bảng trong một sổ làm việc
  • Một sổ làm việc có thể chứa nhiều trang tính

Vì vậy, những gì phần này đang làm

  • workbook = XLSX.utils.book_new() Tạo sổ làm việc Excel mới
  • worksheet = XLSX.utils.aoa_to_sheet(data) Tạo một trang tính mới, sử dụng mảng dữ liệu giả ở trên
  • workbook.SheetNames.push("First")workbook.Sheets["First"] = worksheet Đính kèm trang tính vào sổ làm việc

 

1D) BUỔI TẢI XUỐNG

1-tạo-excel. html

// (C3) "FORCE DOWNLOAD" XLSX FILE
XLSX.writeFile(workbook, "demo.xlsx");

Chúc mừng, bây giờ chúng ta có một đối tượng Excel. Tất cả những gì còn lại là "bắt buộc tải xuống" tệp Excel và cho phép người dùng lưu tệp đó

 

 

VÍ DỤ 2) TẠO TỆP EXCEL VÀ TẢI LÊN MÁY CHỦ

2A) TẢI LÊN TẬP TIN EXCEL ĐÃ TẠO

2a-tải lên-excel. html

// (C3) TO BLOB
var xlsblob = new Blob(
  [new Uint8Array(XLSX.write(workbook, { bookType: "xlsx", type: "array" }))],
  {type:"application/octet-stream"}
);
 
// (C4) FORM DATA
var data = new FormData();
data.append("xls", xlsblob, "demo.xlsx");
 
// (C5) UPLOAD TO SERVER
fetch("2b-upload.php", { method: "POST", body: data })
.then(res => res.text())
.then(txt => console.log(txt));

Đây là một giải pháp thay thế nếu bạn muốn tải tệp Excel đã tạo lên máy chủ thay thế

  • (C3) Thay vì "bắt buộc tải xuống", chúng tôi biến sổ làm việc thành một đốm màu (đối tượng nhị phân)
  • (C4) Đính kèm đốm màu Excel dưới dạng dữ liệu biểu mẫu
  • (C5) Gửi đốm màu Excel đến máy chủ… Còn được gọi là “tải tệp lên”

 

2B) LƯU TỆP EXCEL ĐÃ TẢI LÊN

2b-tải lên. php

Về phía máy chủ, chúng ta chỉ lưu file Excel đã tải lên giống như “up file bình thường”. Đây là đoạn mã "lưu tệp đã tải lên" đơn giản trong PHP

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

HIỆU QUẢ & HIỆU SUẤT

Chỉ cần lưu ý nhanh rằng chúng tôi đang giữ toàn bộ tệp Excel trong bộ nhớ với ví dụ này… Điều này sẽ hoạt động tốt cho các tệp Excel vừa và nhỏ, nhưng những tệp lớn sẽ gặp sự cố về hiệu suất và giới hạn bộ nhớ. Bạn có thể muốn triển khai một số loại hạn chế đối với lượng dữ liệu tối đa hoặc xem các lựa chọn thay thế phía máy chủ với tính năng phát trực tuyến

 

KIỂM TRA TÍNH TƯƠNG THÍCH

  • Chức năng mũi tên – CanIUse
  • Bộ đệm mảng – CanIUse
  • Uint8Array – Tôi có thể sử dụng không

Ví dụ này sẽ hoạt động trên tất cả các trình duyệt “Hạng A” hiện đại

 

LIÊN KẾT và THAM KHẢO

  • Tài liệu SheetJS
  • Xuất Từ Cơ Sở Dữ Liệu MySQL Sang Excel Trong NodeJS – Code Boxx

 

BẢNG CHEAT INFOGRAPHICS

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Bạn có thể tự động hóa Excel bằng JavaScript không?

JADE cung cấp cho bạn khả năng sử dụng JavaScript để tự động hóa mọi thứ trong phạm vi sổ làm việc của Excel mà không cần bật macro . Vì JavaScript bạn viết đang tồn tại trong trình duyệt nên nó không có quyền truy cập vào bất kỳ tính năng nào của hệ điều hành trên máy chủ.

Làm cách nào để chèn JavaScript vào Excel?

Chèn mã VBA vào Sổ làm việc Excel . Sao chép mã VBA (từ trang web, v.v. ) và dán nó vào ngăn bên phải của trình soạn thảo VBA (cửa sổ "Module1"). Right-click on your workbook name in the "Project-VBAProject" pane (at the top left corner of the editor window) and select Insert -> Module from the context menu. Copy the VBA code (from a web-page etc.) and paste it to the right pane of the VBA editor ("Module1" window).

Làm cách nào để lấy dữ liệu từ Excel bằng JavaScript?

Javascript Excel - Nhập dữ liệu từ Excel . Sau khi trang tính được tải vào đối tượng thư viện Excel, chúng ta có thể đọc từng giá trị ô và tạo một mảng JSON sẽ được sử dụng làm nguồn dữ liệu igGrid. The Excel file is read into Uint8Array object, which is then passed to the load method exposed by the Excel library. Once the worksheet is loaded into the Excel library object, we can read each cell value and build a JSON array that will be used as the igGrid data source.

Làm cách nào để sử dụng JavaScript trong Excel trực tuyến?

Có hai cách để thực hiện việc này. Sử dụng trực tiếp API Excel Online. Nhược điểm của việc này là phải mất một lượng thời gian đáng kể để tìm hiểu và thiết lập tất cả các cấu hình. .
Cài đặt gói JavaScript với npm
Chạy yêu cầu API Excel Online bằng JavaScript
Tạo và sử dụng API sheet2api của riêng bạn