Làm cách nào để viết trong Excel bằng JavaScript?
Visual Basic for Applications (VBA) được tạo ra vào những năm 90 và thực tế chưa bao giờ thay đổi kể từ đó. Ngoài môi trường phát triển hoàn toàn lỗi thời và cú pháp độc đáo, VBA còn là mối đe dọa lớn đối với các tập đoàn như một công cụ hiệu quả cao cho phần mềm độc hại do khả năng truy cập các quy trình hệ điều hành cốt lõi của nó. Show Vâng, VBA có điểm mạnh của nó và cá nhân tôi biết những người đã kiếm được hàng triệu đô la nhờ mã VBA chất lượng. Tuy nhiên, có một cách nhanh hơn, an toàn hơn và thú vị hơn để tự động hóa excel. nói xin chào với phần bổ trợ Excel Môi trường phát triển tự động hóa JavaScript (JADE) NGỌC là gì?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ủ. Điều này có nghĩa là tất cả mã tự động hóa của bạn được giới hạn trong sổ làm việc của bạn, giúp chia sẻ cực kỳ an toàn JADE cung cấp một môi trường cho phép nhà phát triển viết JavaScript trực tiếp trong sổ làm việc và thậm chí nó có thể lấy các mô-đun mã từ đám mây bằng GitHub Gists Bản trình diễn ngắnHãy nhanh chóng trình bày cách sử dụng JavaScript trong Excel để tự động đặt dấu thời gian Trước tiên, bạn sẽ cần thêm bổ trợ vào sổ làm việc excel của mình. Hướng dẫn về cách làm như vậy có thể được tìm thấy ở đây Khi bạn đã thiết lập và chạy phần bổ trợ, hãy chọn Thêm mô-đun mã Chọn “Thêm mô-đun mã”Nhập tên của mô-đun; Đặt tên cho mô-đun “Demo”Điều này sẽ tạo trình chỉnh sửa mã bên dưới. Bạn có thể muốn thay đổi kích thước nó để phù hợp hơn với màn hình của bạn Chỉ cần viết, lưu và chạy JavaScript trong ExcelBạn sẽ nhận thấy rằng write_timestamp hiện được hiển thị trong bộ chọn thả xuống “tên chức năng”. Nhấp vào nút “Chạy” để thực thi chức năng và ghi ngày giờ hiện tại vào ô hiện hành Bạn cũng có thể thay đổi dấu thời gian thành văn bản JADE cũng đi kèm với các thông báo lỗi hữu ích cho bạn biết sự cố và nơi khắc phục sự cố. Nếu bạn quên dấu ngoặc kép đóng, bạn sẽ thấy như sau Chạy tập lệnh của bạn cũng lưu nó. Nếu bạn muốn lưu mà không chạy, bạn có thể nhấp vào nút “Save”. Bạn có thể đóng và mở lại sổ làm việc của mình một cách an toàn. Bạn thậm chí có thể gửi một bản sao sổ làm việc của mình cho người khác và họ có thể chạy mã bạn đã viết Điều này hoàn thành bản demo. Bạn có thể bắt đầu sử dụng JADE miễn phí bằng cách lấy nó từ cửa hàng ứng dụng bổ trợ của Microsoft Nhiêu tai nguyên hơnHướng dẫn đầy đủ về JADETrang hỗ trợ JADE. https. //ủng hộ. jsvba. com/ Tổng quan về API Excel JavaScript. https. // tài liệu. Microsoft. com/en-us/office/dev/add-ins/reference/overview/excel-add-ins-reference-overview ExcelJS là một thư viện JavaScript để đọc, thao tác và ghi dữ liệu bảng tính ở định dạng XLSX $ npm i exceljs Chúng tôi cài đặt ExcelJS bằng lệnh const ws = wb.addWorksheet('My Sheet');5 xlsxTrong bài viết này, chúng tôi làm việc với các tệp xlsx. xlsx là phần mở rộng tệp cho định dạng tệp bảng tính XML mở được sử dụng bởi Microsoft Excel. Các tệp xlsm hỗ trợ macro. xltm là các tệp mẫu hỗ trợ macro. Định dạng xls là định dạng nhị phân độc quyền trong khi xlsx dựa trên định dạng Office Open XML Trong ví dụ đầu tiên, chúng tôi làm việc với các ô. Chúng tôi nhận được tham chiếu đến một ô có chức năng const ws = wb.addWorksheet('My Sheet');6 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2); Trong ví dụ này, chúng tôi thêm dữ liệu vào một trang tính và sau đó đọc chúng const Excel = require('exceljs'); Thư viện ExcelJS được nhập const wb = new Excel.Workbook(); Một sổ làm việc mới được tạo const ws = wb.addWorksheet('My Sheet'); const ws = wb.addWorksheet('My Sheet');7 thêm một trang tính mới vào sổ làm việc________số 8_______ Hàm const ws = wb.addWorksheet('My Sheet');8 thêm các hàng dữ liệu vào trang tính const v0 = ws.getCell('A1').value; console.log(v0); Chúng tôi đề cập đến ô trên cùng bên trái thông qua địa chỉ 'A1'; . Ta lấy giá trị của ô có thuộc tính const ws = wb.addWorksheet('My Sheet');9 const v1 = ws.getCell(1, 1).value; console.log(v1); Một cách khác là chuyển số hàng và số cột cho hàm const ws = wb.addWorksheet('My Sheet');6 const v2 = ws.getRow(2).getCell(2).value; console.log(v2); Cách thứ ba là xâu chuỗi các cuộc gọi ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );1 và const ws = wb.addWorksheet('My Sheet');6 $ node app.js 1 1 7 ExcelJS ghi vào tập tinChúng tôi ghi dữ liệu vào một tệp bằng phương pháp ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );3 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);0 Ví dụ thêm một số dữ liệu vào một trang tính và ghi dữ liệu đó vào tệp ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );4 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);1 Chúng tôi ghi dữ liệu vào ba ô const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);2 Ngoài ra, chúng tôi thêm một mảng giá trị vào hàng thứ ba const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);3 Trang tính được ghi vào tệp bằng hàm ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );3 Trong ví dụ sau, chúng tôi đọc từ tệp xlsx hiện có. Chúng tôi giả sử một số dữ liệu trong hai cột đầu tiên const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);4 Ví dụ đọc dữ liệu từ 2 cột của sheet const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);5 Để đọc dữ liệu của trang tính ta sử dụng hàm ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );6 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);6 Ta có bảng tính với hàm ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );7 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);7 Chúng tôi nhận được cột đầu tiên với ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );8 const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);8 Chúng tôi lặp lại các ô hiện tại bằng cách sử dụng hàm ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );9 Cột ExcelJSTrong ví dụ tiếp theo, chúng tôi làm việc với các cột const Excel = require('exceljs'); const wb = new Excel.Workbook(); const ws = wb.addWorksheet('My Sheet'); ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] ); const v0 = ws.getCell('A1').value; console.log(v0); const v1 = ws.getCell(1, 1).value; console.log(v1); const v2 = ws.getRow(2).getCell(2).value; console.log(v2);9 Chúng tôi xác định tiêu đề cột và lặp qua các ô cột const Excel = require('exceljs');0 Thông qua thuộc tính const v0 = ws.getCell('A1').value; console.log(v0);0, chúng tôi thêm các tiêu đề cột và xác định các khóa và chiều rộng của cột const Excel = require('exceljs');1 Chúng tôi thêm một số dữ liệu hàng với const v0 = ws.getCell('A1').value; console.log(v0);1 const Excel = require('exceljs');2 Chúng tôi đề cập đến cột đầu tiên thông qua tên khóa. ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );9 được sử dụng để lặp lại dữ liệu const Excel = require('exceljs');3 Ở đây, chúng tôi lấy cột theo chữ cái được chỉ định const Excel = require('exceljs');4 Cuối cùng, chúng tôi đề cập đến cột thứ ba thông qua giá trị chỉ mục const Excel = require('exceljs');5 Ta lấy số cột chứa dữ liệu với thuộc tính const v0 = ws.getCell('A1').value; console.log(v0);3 const Excel = require('exceljs');6 Trong ví dụ đầu tiên, chúng tôi làm việc với các hàng const Excel = require('exceljs');7 Chúng tôi thêm dữ liệu với các hàm const v0 = ws.getCell('A1').value; console.log(v0);1 và const ws = wb.addWorksheet('My Sheet');8 và truy xuất các hàng dữ liệu với const v0 = ws.getCell('A1').value; console.log(v0);6 const Excel = require('exceljs');8 Chúng tôi thêm một mảng các giá trị với const v0 = ws.getCell('A1').value; console.log(v0);1 const Excel = require('exceljs');9 Ở đây, chúng tôi thêm dữ liệu bằng các cặp khóa/giá trị, trong đó mỗi khóa là tên khóa của cột const wb = new Excel.Workbook();0 Có thể thêm nhiều hàng với const ws = wb.addWorksheet('My Sheet');8 const wb = new Excel.Workbook();1 Thuộc tính const v0 = ws.getCell('A1').value; console.log(v0);9 trả về số hàng có giá trị const wb = new Excel.Workbook();2 Chúng tôi nhận được các giá trị từ các hàng 1. 4 const wb = new Excel.Workbook();3 Chúng tôi lặp qua các hàng và các ô của chúng const wb = new Excel.Workbook();4 ExcelJS tải CSVExcelJS cho phép đọc dữ liệu từ tệp CSV const wb = new Excel.Workbook();5 Chúng tôi có một số dữ liệu CSV đơn giản const wb = new Excel.Workbook();6 Trong ví dụ, chúng tôi đọc dữ liệu từ tệp const v1 = ws.getCell(1, 1).value; console.log(v1);0, in nó ra bàn điều khiển và ghi nó vào tệp xlsx const wb = new Excel.Workbook();7 Chúng tôi đọc dữ liệu CSV bằng chức năng ws.addRows([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]] );6 của thuộc tính const v1 = ws.getCell(1, 1).value; console.log(v1);2 const wb = new Excel.Workbook();8 Chúng tôi lặp lại dữ liệu với hai vòng lặp for const wb = new Excel.Workbook();9 Khi đọc xong ta gọi hàm const v1 = ws.getCell(1, 1).value; console.log(v1);3 const ws = wb.addWorksheet('My Sheet');0 Bên trong hàm const v1 = ws.getCell(1, 1).value; console.log(v1);3, chúng tôi ghi dữ liệu trang tính vào tệp xlsx Trong ví dụ tiếp theo, chúng tôi trình bày cách căn chỉnh dữ liệu trong ô. Chúng tôi có thể căn chỉnh nội dung theo chiều ngang và chiều dọc const ws = wb.addWorksheet('My Sheet');1 Để căn chỉnh nội dung, chúng tôi sử dụng các thuộc tính const v1 = ws.getCell(1, 1).value; console.log(v1);5 và const v1 = ws.getCell(1, 1).value; console.log(v1);6 Trong ví dụ tiếp theo, chúng ta tạo một siêu liên kết const ws = wb.addWorksheet('My Sheet');2 Để tạo một siêu liên kết, chúng tôi sử dụng thuộc tính const v1 = ws.getCell(1, 1).value; console.log(v1);7 của thuộc tính giá trị ô. Chúng tôi làm cho văn bản được gạch dưới với thuộc tính const v1 = ws.getCell(1, 1).value; console.log(v1);8 Chúng ta có thể viết JavaScript trong Excel không?Một phần bổ trợ Excel tương tác với các đối tượng trong Excel bằng cách sử dụng API JavaScript của Office, bao gồm hai mô hình đối tượng JavaScript . API JavaScript của Excel. Được giới thiệu với Office 2016, API JavaScript của Excel cung cấp các đối tượng được nhập mạnh mà bạn có thể sử dụng để truy nhập trang tính, phạm vi, bảng, biểu đồ, v.v.
Làm cách nào để tạo tệp Excel bằng JavaScript?Sử dụng hàm saveAs() và tạo một đối tượng Blob mới từ mảng octet . Đặt loại nội dung là octet-stream. làm theo tên tệp excel mà bạn muốn. saveAs(new Blob([s2ab(wbout)],{type. "ứng dụng/octet-stream"}), 'kiểm tra.
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. . 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 Làm cách nào để liên kết Excel với JavaScript?Cách sử dụng Javascript với Excel . Tạo khối Javascript của bạn. Khối này cho trình duyệt web biết rằng mã được chứa là tập lệnh thực thi. . Khởi tạo biến ứng dụng Excel. . Tạo bảng tính và kích hoạt nó. . Viết một số văn bản vào trang tính Excel. . Lưu tệp Excel |