SheetJS trình bày một giao diện JS đơn giản hoạt động với "Mảng của các mảng" và "Mảng của các đối tượng JS". Các hàm API là các khối xây dựng nên được kết hợp với các API JS khác để giải quyết vấn đề
Cuộc thảo luận tập trung vào tư duy giải quyết vấn đề. Chi tiết API được đề cập trong các phần khác của tài liệu
Mục tiêu của ví dụ này là tạo sổ làm việc XLSX có tên và ngày sinh của Tổng thống Hoa Kỳ. Nhấn vào đây để chuyển sang bản demo trực tiếp
Thu thập dữ liệu
Dữ liệu thô
Dữ liệu thô có sẵn ở dạng JSON. Để thuận tiện, nó đã được nhân đôi ở đây
Thu thập dữ liệu đơn giản với
{
"id": { /* [data omitted] */ },
"name": {
"first": "John", // term.type === "prez"]];
2. Để kiểm tra xem một hàng cụ thể có ít nhất một thuật ngữ const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
2 hay không, const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
4 là một hàm JS gốc khác. Bộ lọc hoàn chỉnh sẽ làconst prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
Định hình lại mảng
Đối với ví dụ này, tên sẽ là tên kết hợp với họ [
const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
5] và ngày sinh sẽ có tại const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
6. Sử dụng const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
7, bộ dữ liệu có thể được xoa bóp trong một cuộc gọiconst url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
2Kết quả là một mảng các đối tượng "đơn giản" không lồng vào nhau
const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
3Tạo sổ làm việc
Với tập dữ liệu đã được làm sạch,
const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
8 tạo một trang tínhconst url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
5const prez = raw_data.filter[row => row.terms.some[term => term.type === "prez"]];
9 tạo một sổ làm việc mới và const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
20 nối thêm một trang tính vào sổ làm việc. Bảng tính mới sẽ được gọi là "Ngày"const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
8Dọn dẹp Sổ làm việc
Dữ liệu nằm trong sổ làm việc và có thể được xuất
Có nhiều cơ hội để cải thiện. các tiêu đề có thể được đổi tên và độ rộng cột có thể được điều chỉnh. SheetJS Pro cung cấp các tùy chọn kiểu dáng bổ sung như kiểu dáng ô và hàng cố định
Thay đổi tên tiêu đề [bấm để hiển thị]Theo mặc định,
const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
21 tạo trang tính có hàng tiêu đề. Trong trường hợp này, các tiêu đề đến từ các khóa đối tượng JS. "tên" và "sinh nhật"Các tiêu đề nằm trong các ô
const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
22 và const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
23. const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
24 có thể ghi các giá trị văn bản vào trang tính hiện có bắt đầu từ ô const url = "//sheetjs.com/data/executive.json";
const raw_data = await [await fetch[url]].json[];
22{
"id": { /* [data omitted] */ },
"name": {
"first": "John", //