Làm cách nào để nhập tệp excel vào nút? ✅ 2023
Thủ Thuật Hướng dẫn Làm cách nào để nhập tệp excel vào nút? 2022
Cao Thị Xuân Dung đang tìm kiếm từ khóa Làm cách nào để nhập tệp excel vào nút? được Cập Nhật vào lúc : 2022-12-19 07:45:13 . Với phương châm chia sẻ Kinh Nghiệm về trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi tham khảo Post vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Admin lý giải và hướng dẫn lại nha.Bạn đã bao giờ cần lấy và phân tích tài liệu từ Excel (. xlsx) Bảng tính trong nút. js?
Nội dung chính Show- Trong nội dung bài viết này, chúng tôi sẽ tập trung vào,đọc tập tinCài đặtĐọc tệp ExcelLấy tài liệu thực tếXử lý nhiều trang tínhTệp Excel đã sửa đổiLấy list tên trang tínhChỉ định trang tính để lấy dữ liệuPhần kết luậnLàm cách nào để đọc tài liệu từ tệp excel trong NodeJs?Làm cách nào để sử dụng xlsx trong NodeJs?Làm cách nào để tải lên tệp excel trong nút js và mongodb?Làm cách nào để đọc tệp excel lớn trong NodeJs?
Trong nội dung bài viết này, chúng tôi sẽ tập trung vào,
Đọc tài liệu từ tệp bảng tính
Hiểu cách tài liệu được trả về
Lấy list (tên) những trang tính trong sổ thao tác
Chỉ định từ trang tính nào chúng tôi muốn tài liệu
đọc tập tin
Cài đặt
Bạn sẽ nên phải có nút. js đã setup
Bạn hoàn toàn có thể tạo bất kỳ tệp Excel nào bạn thích, ảnh chụp màn hình hiển thị của tệp đơn giản mà tôi sẽ sử dụng cho nội dung bài viết này ở phía dưới. Tôi đặt tên tệp là Dữ liệu. xlsx

Tôi sẽ sử dụng Visual Studio Code (VSCode)
Mở hiên chạy cửa số terminal của bạn và gõ, npm init. Bạn chỉ hoàn toàn có thể đồng ý những giá trị mặc định sẽ làm cho tệp chính của tất cả chúng ta **index. js ** như đã thấy trong gói của bạn. tập tin json
Trong hiên chạy cửa số đầu cuối của bạn, hãy nhập nội dung sau để setup gói làm cho tất cả hoạt động và sinh hoạt giải trí
npm setup tệp đọc-excel
Tạo một tệp mang tên là chỉ mục. js và mở nó
Đọc tệp Excel
Bây giờ chúng tôi đã sẵn sàng để đọc tệp
Thêm đoạn mã sau vào chỉ mục của bạn. tập tin js
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx').then((rows) =>Ghi chú bên lề. Trong câu lệnh yêu cầu, chúng tôi đã chỉ định /node. Điều này rất quan trọng vì điều này cũng hoàn toàn có thể được thực hiện với JavaScript trong trình duyệt bằng phương pháp sử dụng,
import xlsxFile from 'read-excel-file'Tuy nhiên, chúng tôi muốn phiên bản nút
Mật mã
Dòng đầu tiên nhập gói
Dòng thứ hai đọc tệp, trả lại lời hứa hẹn. Khi đọc xong, chúng tôi nhận được những mảng
Mỗi mảng (tham số hàng của hàm gọi lại) chứa một hàng trong bảng tính. Mỗi trong số này còn có ba mảng tương ứng với ba cột trong bảng tính của chúng tôi
Về cơ bản, chúng tôi đang lấy lại một mảng hai chiềuXem tài liệu thô
Sửa đổi mã của bạn để xác minh rằng chúng tôi đang lấy tài liệu từ tệp
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx').then((rows) => console.log(rows); console.table(rows); )Chạy cái này ở chính sách gỡ lỗi, **F5, **và sau đó chạy mà không cần gỡ lỗi, Ctrl+F5
Chạy trong cả hai sẽ giúp chúng tôi tưởng tượng những gì chúng tôi đang nhận lại cũng như xác minh tài liệu đã được đọc từ tệp
F5

Ở đây tất cả chúng ta thấy tất cả chúng ta có một mảng có năm phần tử. Mỗi phần tử là một hàng từ tệp của chúng tôi. Mỗi hàng chứa một mảng có ba phần tử. Ba mảng này tương ứng với những cột của chúng tôi. Mảng hai chiều
CTRL+F5

Điều này cho một bức tranh tốt hơn về cấu trúc mảng
Lấy tài liệu thực tế
Vì tài liệu ở dạng mảng nên hoàn toàn có thể thuận tiện và đơn giản truy cập. Dưới đây là hai phương pháp để truy cập tài liệu
vòng lặp forEach
Sửa đổi mã của bạn như sau để xem từng phần tài liệu và đó là loại tài liệu
Tham số **tài liệu ** chứa chứa mục nhập ô bảng tính
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx').then((rows) => rows.**forEach**((col)=> col.**forEach**((data)=> console.log(data); console.log(typeof data); ) ) )Đối với mục tiêu của chúng tôi, đầu ra chỉ là một list, nhưng chúng tôi có quyền truy cập vào tài liệu và hoàn toàn có thể xác minh loại tài liệu của nó

vì. trong vòng lặp
Sửa đổi mã của bạn để sử dụng vòng lặp for…in
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx').then((rows) => **for (i in rows)** for (j in **rows[i]**) console.dir(**rows[i][j]**); )Kết quả tương tự khi chạy nhưng mã này được cho phép tất cả chúng ta nhìn rõ hơn cấu trúc mảng và cách truy cập những phần tử mảng
**rows[i][j] **chứa tài liệu trong từng ô của bảng tính
Xử lý nhiều trang tính
Điều gì sẽ xảy ra nếu tất cả chúng ta có hai trang tính mang tên là Dev và Exec?
Theo mặc định, khi chúng tôi đọc, tờ đầu tiên được đọc. Tuy nhiên tất cả chúng ta hoàn toàn có thể,
Lấy list tên sheet
Chỉ định Trang tính mà chúng tôi muốn tài liệu
Tệp Excel đã sửa đổi
Tôi đã sửa đổi tệp Excel của tớ, Dữ liệu. xlsx, để có hai trang tính


Lấy list tên trang tính
Tên trang tính được trả về dưới dạng một mảng đối tượng. Mỗi đối tượng có cấu trúc,
Tên. 'tên trang tính'
Trong trường hợp của chúng tôi, nó sẽ trả về mảng này, [name. 'Nhà phát triển', tên. ‘Exec’]
Sửa đổi mã của bạn như sau để có list những trang tính
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx', ** getSheets: true **).then((**sheets**) => **sheets**.forEach((**obj**)=> console.log(obj.name); ) )Ở đây chúng tôi đã chuyển tham số đối tượng getSheets. thật
Sau đó, sử dụng vòng lặp forEach để lặp qua mảng trang tính và truy cập thuộc tính **name **của từng đối tượng

Chỉ định trang tính để lấy tài liệu
Để chỉ định trang tính mong ước, chúng tôi sẽ chuyển **sheet. **tham số đối tượng. Cái này còn có hai dạng. Bạn hoàn toàn có thể chỉ định theo số trang tính hoặc tên trang tính. Để truy cập trang 2, tất cả chúng ta hoàn toàn có thể sử dụng một trong những cách sau,
tấm. 2
tấm. 'Thực thi'
Sửa đổi mã của bạn như sau để truy cập tài liệu của bảng Exec
const xlsxFile = require('read-excel-file/node'); xlsxFile('./Data.xlsx', ** sheet: 'Exec' **).then((rows) => for (i in rows) for (j in rows[i]) console.log(rows[i][j]); )
Phần kết luận
Gói npm thực hiện tất cả việc làm đọc tệp. Phần quan trọng là cách tài liệu được trả về. Nó được trả về dưới dạng một mảng hai chiều