Phương thức
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
4 có thể trích xuất dữ liệu từ các byte bảng tính được lưu trữ trong chuỗi JS, "chuỗi nhị phân", bộ đệm NodeJS hoặc mảng đã nhập [/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
5 hoặc /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
6]Đọc byte bảng tính từ tệp cục bộ và trích xuất dữ liệu
var workbook = XLSX.readFile[filename, opts];
Phương pháp
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 cố gắng đọc tệp bảng tính theo đường dẫn được cung cấpĐối số
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
8 thứ hai là tùy chọn. "Tùy chọn phân tích cú pháp" bao gồm các thuộc tính và hành vi được hỗ trợsự nguy hiểm
Các trình duyệt thường không cho phép đọc tệp bằng cách chỉ định tên tệp [đó là một rủi ro bảo mật] và việc chạy
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
9 trong trình duyệt sẽ gây ra lỗiTập lệnh Deno phải được gọi bằng
#include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
0 để đọc từ hệ thống tệpví dụ
Dưới đây là một vài tình huống phổ biến [bấm vào từng phụ đề để xem mã]
Các bản trình diễn bao gồm các triển khai đặc biệt chi tiết hơn
Ví dụ. Tệp cục bộ
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
9 hỗ trợ đọc các tệp cục bộ trong các nền tảng như NodeJS. Trong các nền tảng khác như React Native, nên gọi #include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
2 với dữ liệu tệpQuá trình xử lý trong trình duyệt nơi người dùng kéo và thả tệp hoặc sử dụng phần tử tệp được đề cập trong
- NodeJS
- điện tử
- Phản ứng tự nhiên
- photoshop
- Deno
- bún
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 sử dụng #include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
4 dưới mui xe/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
2Đối với Node ESM,
#include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
5 phải được tải thủ công/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
4/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 có thể được sử dụng trong quá trình kết xuất/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
API điện tử đã thay đổi theo thời gian. Hiển thị một ví dụ hoàn chỉnh và chi tiết các cài đặt dành riêng cho phiên bản được yêu cầu
bao gồm các plugin đã thử nghiệm
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 kết thúc logic #include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
9 trong Photoshop và các mục tiêu ExtendScript khác. Đường dẫn đã chỉ định phải là đường dẫn tuyệt đối#include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
Đối với các đường dẫn do người dùng định cấu hình,
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
00 có thể hiển thị bộ chọn tệp/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
0Bản trình diễn
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
01 bao gồm một ví dụ phức tạp hơn/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 sử dụng /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
03 dưới mui xe/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
5Ghi chú
Các ứng dụng đọc tệp phải được gọi bằng cờ
#include "xlsx.extendscript.js"
/* Read test.xlsx from the Documents folder */
var workbook = XLSX.readFile[Folder.myDocuments + "/test.xlsx"];
0Đầu ra của bánh bao
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
05 nên được bọc trong một /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
06/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
9Ví dụ. Nội dung gửi của người dùng
Ví dụ này tập trung vào các tệp do người dùng gửi thông qua sự kiện kéo và thả, phần tử đầu vào tệp HTML hoặc yêu cầu mạng
- trình duyệt
- NodeJS
- Deno
Đối với các trang web hiện đại nhắm mục tiêu Chrome 76+, nên dùng
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
07- Kéo và thả
- Phần tử đầu vào tệp HTML
Giả sử
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
08 là phần tử DOM sẽ lắng nghe các thay đổivar workbook = XLSX.readFile[filename, opts];
2Thuộc tính sự kiện là
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
09. Đoạn mã làm nổi bật sự khác biệt giữa ví dụ kéo và thả và ví dụ nhập tệpvar workbook = XLSX.readFile[filename, opts];
0Bắt đầu với một phần tử INPUT HTML với
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
50var workbook = XLSX.readFile[filename, opts];
1Thuộc tính sự kiện là
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
51. Đoạn mã làm nổi bật sự khác biệt giữa ví dụ kéo và thả và ví dụ nhập tệpvar workbook = XLSX.readFile[filename, opts];
2https. // oss. trang tính. com/sheetjs/ thể hiện kỹ thuật FileReader
Để có khả năng tương thích tối đa [IE10+], nên sử dụng phương pháp
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
52- Kéo và thả
- Phần tử đầu vào tệp HTML
Giả sử
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
08 là phần tử DOM sẽ lắng nghe các thay đổivar workbook = XLSX.readFile[filename, opts];
2Thuộc tính sự kiện là
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
09. Đoạn mã làm nổi bật sự khác biệt giữa ví dụ kéo và thả và ví dụ nhập tệpvar workbook = XLSX.readFile[filename, opts];
4Bắt đầu với một phần tử INPUT HTML với
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
50var workbook = XLSX.readFile[filename, opts];
1Thuộc tính sự kiện là
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
51. Đoạn mã làm nổi bật sự khác biệt giữa ví dụ kéo và thả và ví dụ nhập tệpvar workbook = XLSX.readFile[filename, opts];
6Hiển thị kịch bản dự phòng tương thích với IE
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
4 có thể chấp nhận bộ đệm NodeJS. /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
7 có thể đọc các tệp được tạo bởi trình phân tích cú pháp nội dung yêu cầu HTTP POST như /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
90var workbook = XLSX.readFile[filename, opts];
7Bản demo
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
91 có nhiều ví dụ nâng cao hơnDrash là một khung máy chủ HTTP cho Deno. Trong trình xử lý yêu cầu
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
92, trình phân tích cú pháp nội dung có thể kéo dữ liệu tệp vào một /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
5var workbook = XLSX.readFile[filename, opts];
8Ghi chú
Deno phải được chạy với cờ
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
94 để kích hoạt các yêu cầu mạngvar workbook = XLSX.readFile[filename, opts];
9Để kiểm tra, hãy gửi yêu cầu POST tới http. //máy chủ cục bộ. 7262 bao gồm một tập tin
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
20Ví dụ. Tệp từ xa
Ví dụ này tập trung vào việc tìm nạp các tệp ["Ajax" theo cách nói của trình duyệt] bằng cách sử dụng các API như
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
95 và /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
96 cũng như các thư viện của bên thứ ba- trình duyệt
- NodeJS
- bún
- Deno
- điện tử
Đối với các trang web hiện đại nhắm mục tiêu Chrome 42+, nên sử dụng
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
96/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
21Để được hỗ trợ rộng rãi hơn, nên sử dụng phương pháp
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
95/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
22Bản trình diễn
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
99 bao gồm một cuộc thảo luận dài hơn và nhiều ví dụ hơnhttps. // oss. trang tính. com/sheetjs/ajax. html hiển thị các phương pháp dự phòng cho IE6+
Nút 17. 5 và 18. 0 có hỗ trợ riêng cho tìm nạp
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
23Để có khả năng tương thích rộng hơn, các mô-đun của bên thứ ba được khuyến nghị
var workbook = XLSX.readFile[filename, opts];
20 yêu cầu mã hóa var workbook = XLSX.readFile[filename, opts];
21 để mang lại Bộ đệm/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
24var workbook = XLSX.readFile[filename, opts];
22 hoạt động theo cùng một cách trong trình duyệt và trong NodeJS/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
25Bun có hỗ trợ riêng cho
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
96. Sử dụng gói NodeJS/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
26Deno có hỗ trợ riêng cho
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
96/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
27Ghi chú
Deno phải được chạy với cờ
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
94 để kích hoạt các yêu cầu mạng/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
28Mô-đun
var workbook = XLSX.readFile[filename, opts];
26 trong quy trình chính có thể thực hiện các yêu cầu HTTP/HTTPS tới các tài nguyên bên ngoài. Các phản hồi phải được nối thủ công bằng cách sử dụng var workbook = XLSX.readFile[filename, opts];
27/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
29Ví dụ. Luồng có thể đọc được
thận trọng
Cách tiếp cận được đề xuất là đệm các luồng trong bộ nhớ và xử lý sau khi tất cả dữ liệu đã được thu thập. Phân tích cú pháp phát trực tuyến thích hợp là không thể về mặt kỹ thuật
Chi tiết kỹ thuật [bấm vào để hiển thị]Các tệp XLSX, XLSB, NUMBERS và ODS cuối cùng là các tệp ZIP chứa các mục nhập nhị phân và XML. Định dạng tệp ZIP lưu trữ mục lục [bản ghi "cuối thư mục trung tâm"] ở cuối tệp, do đó, việc phân tích cú pháp đúng của tệp ZIP yêu cầu quét từ cuối. Luồng không cung cấp quyền truy cập ngẫu nhiên vào dữ liệu, do đó, cách tiếp cận đúng duy nhất liên quan đến việc đệm toàn bộ luồng
Các tệp XLS, XLR, QPW và Works 4 cho Mac sử dụng "Định dạng nhị phân tệp tổng hợp". Đây là định dạng vùng chứa có thể chứa nhiều "tệp" và "thư mục". Nó cũng có một mục lục ["các khu vực thư mục"] nhưng chúng có thể được đặt ở bất kỳ đâu trong tệp. Cách tiếp cận chính xác duy nhất liên quan đến việc đệm đủ luồng để tìm mục lục đầy đủ, nhưng độ phức tạp được thêm vào có ít lợi ích khi thử nghiệm đối với các tệp trong thế giới thực được tạo bởi các phiên bản Excel khác nhau và các công cụ khác
- trình duyệt
- NodeJS
- Deno
Khi xử lý
var workbook = XLSX.readFile[filename, opts];
28, cách tiếp cận đơn giản nhất là đệm luồng và xử lý toàn bộ nội dung ở cuối/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
40Khi xử lý Luồng có thể đọc được, cách tiếp cận đơn giản nhất là đệm luồng và xử lý toàn bộ nội dung ở cuối
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
41Ngoài API
var workbook = XLSX.readFile[filename, opts];
28 của trình duyệt, Deno còn có lớp var workbook = XLSX.readFile[filename, opts];
00Đối với các luồng này,
var workbook = XLSX.readFile[filename, opts];
01 cung cấp phương pháp var workbook = XLSX.readFile[filename, opts];
02 để thu thập dữ liệu vào một /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
5. Ví dụ này đọc từ một tệp bằng cách sử dụng var workbook = XLSX.readFile[filename, opts];
04 và in mảng tên trang tính/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
42Các ví dụ chi tiết hơn được đề cập trong các bản demo đi kèm
Xử lý dữ liệu JSON và JS
Dữ liệu JSON và JS có xu hướng đại diện cho các trang tính đơn lẻ. Phần này sẽ sử dụng một vài hàm tiện ích để tạo sổ làm việc
Tạo Sổ làm việc mới
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
43Hàm tiện ích
var workbook = XLSX.readFile[filename, opts];
05 tạo sổ làm việc trống không có trang tínhPhần mềm bảng tính thường yêu cầu ít nhất một trang tính và thực thi yêu cầu trong giao diện người dùng. Thư viện này thực thi yêu cầu tại thời điểm ghi, đưa ra lỗi nếu sổ làm việc trống được chuyển để ghi hàm
API
Tạo một trang tính từ một mảng các mảng giá trị JS
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
44Hàm tiện ích
var workbook = XLSX.readFile[filename, opts];
06 duyệt một "mảng các mảng" theo thứ tự chính của hàng, tạo ra một đối tượng trang tính. Đoạn mã sau tạo một trang tính với ô var workbook = XLSX.readFile[filename, opts];
07 được đặt thành chuỗi var workbook = XLSX.readFile[filename, opts];
07, ô var workbook = XLSX.readFile[filename, opts];
09 được đặt thành var workbook = XLSX.readFile[filename, opts];
09, v.v./* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
45mô tả chức năng và đối số tùy chọn
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
8 chi tiết hơnTạo một trang tính từ một mảng các đối tượng JS
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
46Hàm tiện ích
var workbook = XLSX.readFile[filename, opts];
12 duyệt một mảng các đối tượng JS theo thứ tự, tạo ra một đối tượng trang tính. Theo mặc định, nó sẽ tạo một hàng tiêu đề và một hàng cho mỗi đối tượng trong mảng. Đối số /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
8 tùy chọn có cài đặt để kiểm soát thứ tự cột và đầu ra tiêu đềmô tả chức năng và đối số tùy chọn
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
8 chi tiết hơnví dụ
"Ví dụ hoàn chỉnh" chứa ví dụ chi tiết "Nhận dữ liệu từ điểm cuối JSON và tạo sổ làm việc"
là một lưới dữ liệu tương tác để xem trước và sửa đổi dữ liệu có cấu trúc trong trình duyệt web
"Mảng đã nhập và ML" bao gồm các chiến lược để tạo trang tính từ xuất thư viện ML [bộ dữ liệu được lưu trữ trong Mảng đã nhập]
Bản ghi từ truy vấn cơ sở dữ liệu [SQL hoặc không có SQL] [bấm để hiển thị]Bản trình diễn
var workbook = XLSX.readFile[filename, opts];
16 bao gồm các ví dụ về cách làm việc với cơ sở dữ liệu và kết quả truy vấnXử lý bảng HTML
API
Tạo một trang tính bằng cách cạo BẢNG HTML trong trang
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
47Hàm tiện ích
var workbook = XLSX.readFile[filename, opts];
17 lấy một phần tử DOM TABLE và lặp qua các hàng để tạo một trang tính. Đối số /* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
8 là tùy chọn. mô tả chức năng chi tiết hơnTạo sổ làm việc bằng cách cạo BẢNG HTML trong trang
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
48Hàm tiện ích
var workbook = XLSX.readFile[filename, opts];
19 tuân theo logic giống như var workbook = XLSX.readFile[filename, opts];
17. Sau khi tạo một trang tính, nó sẽ tạo một sổ làm việc trống và nối thêm bảng tínhĐối số tùy chọn hỗ trợ các tùy chọn giống như
var workbook = XLSX.readFile[filename, opts];
17, với việc bổ sung thuộc tính var workbook = XLSX.readFile[filename, opts];
22 để kiểm soát tên trang tính. Nếu thuộc tính bị thiếu hoặc không có tùy chọn nào được chỉ định, tên mặc định var workbook = XLSX.readFile[filename, opts];
23 sẽ được sử dụngví dụ
Bản trình diễn không đầu bao gồm các ví dụ về tạo bảng tính phía máy chủ từ các phần tử BẢNG HTML bằng cách sử dụng Chromium không đầu ["Người múa rối"] và các trình duyệt khác ["Nhà viết kịch"]
Dưới đây là một vài tình huống phổ biến [bấm vào từng phụ đề để xem mã]
Phần tử BẢNG HTML trong một trang web [bấm để hiển thị]/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
49Nhiều bảng trên một trang web có thể được chuyển đổi thành các trang tính riêng lẻ
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
0Ngoài ra, mã HTML có thể được trích xuất và phân tích cú pháp
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
1Tiện ích mở rộng Chrome/Chromium [nhấp để hiển thị]
Bản trình diễn
var workbook = XLSX.readFile[filename, opts];
24 hiển thị một ví dụ hoàn chỉnh và nêu chi tiết các quyền cần thiết cũng như các cài đặt khácTrong tiện ích mở rộng, bạn nên tạo sổ làm việc trong tập lệnh nội dung và chuyển đối tượng trở lại tiện ích mở rộng
/* From the renderer process */
var XLSX = require["xlsx"];
var workbook = XLSX.readFile[path];
2Bảng HTML NodeJS không có trình duyệt [bấm để hiển thị]
NodeJS không bao gồm triển khai DOM và Puppeteer yêu cầu bản dựng Chromium khổng lồ.
var workbook = XLSX.readFile[filename, opts];
25 là một giải pháp thay thế nhẹ