Bài viết này chỉ cho bạn cách đọc và trích xuất nội dung từ một Excel [. xlsx] bằng cách sử dụng Nút. js. Không có gì khó chịu nữa, chúng ta hãy bắt tay vào viết mã
Chuẩn bị mọi thứ
Chúng ta sẽ làm việc với một tệp Excel đơn giản chứa một số thông tin như sau
Vì vậy, ở đây, mục tiêu của chúng tôi là đọc những dữ liệu này và chuyển đổi chúng thành một đối tượng Bản mô tả để sử dụng bên trong ứng dụng, chẳng hạn như lưu trong cơ sở dữ liệu hoặc trả về dưới dạng phản hồi JSON
Excel ColumnTypescript propertyTypescript typeIDidnumberĐộiđộiM hoặc WQuốc giaCanada hoặc Hoa KỳTênFfirstNamestringNameLlastNamestringTrọng lượngCân sốChiều caoChiều caosốDOBdateOfChuỗi sinh [YYY-MM-DD]Quê hươngquê hươngchuỗiProvProvincestringVị tríenumTuổisốHeightFtheeightFtnumberHtlnhtlnnumberBMIbminumberTừ bảng trên, loại Người chơi sẽ trông như thế này
type Team = 'M' | 'W';
type Country = 'Canada' | 'USA';
type Position = 'Goalie' | 'Defence' | 'Forward';
type Player = {
id: number;
team: Team;
country: Country;
firstName: string;
lastName: string;
weight: number;
height: number;
dateOfBirth: string; // [YYY-MM-DD]
hometown: string;
province: string;
position: Position;
age: number;
heightFt: number;
htln: number;
bmi: number;
};
Thiết lập dự án
Khởi tạo một nút. dự án js với Bản mô tả
________số 8Tải xuống tệp excel bên dưới và sao chép nó vào thư mục dự án;
vận động viên khúc côn cầu thế vận hội
olympic-khúc côn cầu. xlsx
69KB
download-circle
Cài gói Node để đọc file exceljs
yarn add exceljs
Thêm mã bên dưới vào tệp
npm i xlsx
6npm init
0Lưu và chạy mã bằng lệnh
npm i xlsx
7Như bạn có thể thấy, chúng tôi đã truy xuất nội dung của tệp excel như mong đợi, nhưng có những cải tiến cần thực hiện
- Có nhiều
0 trong mã, nghĩa là Bản mô tả phàn nàn về giá trị chúng tôi nhận được từ ômkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
- Giá trị của các thuộc tính
1,mkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
2,mkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
3 vàmkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
2 không được định dạng tốtmkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
- Các thuộc tính
5,mkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
6,mkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
7 vàmkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
8 trả về NaN vì một lý do cụ thể mà chúng ta sẽ xem cách khắc phụcmkdir node-excel-read cd node-excel-read yarn init -y yarn add -D typescript ts-node @types/node yarn tsc --init touch index.ts
Sửa giá trị của thuộc tính "đội"
Giá trị phải là
mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
9 hoặc yarn add exceljs
0 nhưng đầu ra trả về yarn add exceljs
1 hoặc yarn add exceljs
2. Chúng tôi sẽ viết mã để chuyển đổi giá trị.
├── node_modules
├── package-lock.json
├── package.json
└── src
├── KindaCode.com\ Example.xlsx
└── index.js
4Tài sản
mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
1 bây giờ sẽ là.
├── node_modules
├── package-lock.json
├── package.json
└── src
├── KindaCode.com\ Example.xlsx
└── index.js
6Sửa giá trị của thuộc tính "height"
Giá trị là
yarn add exceljs
4; . Đoạn mã dưới đây sửa nó.
├── node_modules
├── package-lock.json
├── package.json
└── src
├── KindaCode.com\ Example.xlsx
└── index.js
8Lấy giá trị từ công thức ô
Các thuộc tính
mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
5, mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
6, mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
7 và mkdir node-excel-read
cd node-excel-read
yarn init -y
yarn add -D typescript ts-node @types/node
yarn tsc --init
touch index.ts
8 trả về NaN vì chúng là công thức, nghĩa là giá trị của ô là công thức số học từ các ô khácNếu chúng ta nhìn vào giá trị của các ô đó, chúng ta sẽ có kết quả này
Ngược lại với các ô đơn giản có giá trị đơn giản, các ô công thức có một đối tượng và giá trị chúng ta muốn nằm bên trong thuộc tính
yarn add exceljs
9. Chúng tôi sẽ tạo một chức năng npm init
00 cho trường hợp cụ thể nàyĐây là mã cuối cùng dưới đây
npm i xlsx
5Chạy lại lệnh
npm i xlsx
7 để xem đầu raGói [lại
exceljs giúp bạn dễ dàng đọc và phân tích tệp Excel và trong khi sử dụng nó, hãy đảm bảo xử lý các giá trị công thức và ô đơn giản. Có các loại ô khác như Rich Text, Hyperlink, Date và Shares Formula
Bạn có thể làm được nhiều việc hơn với thư viện này, vì vậy hãy xem tài liệu để biết bạn có thể đi đâu với
Bạn có thể tìm mã nguồn trên kho lưu trữ GitHub
Theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi để tránh bỏ lỡ các bài đăng sắp tới cũng như các mẹo và thủ thuật mà tôi thỉnh thoảng chia sẻ