Hướng dẫn how to upload excel file in node js - cách tải lên tệp excel trong nút js
Tôi đang sử dụng Multer để tải lên tệp và XLSX để xử lý nó và MongoDB làm cơ sở dữ liệu (Mongoose cho mô hình): Show
3 là mô hình dữ liệu, bạn phải thêm tên cột Excel. Xem tài liệu Mongoose để biết thêm thông tin
Vì vậy, từ đây khi bạn thực hiện cuộc gọi đến 4 với người đưa thư xem hình bên dưới Tệp Excel là định dạng tệp bảng tính do Microsoft tạo để sử dụng với Microsoft Excel. Bạn có thể sử dụng tệp để tạo, xem, chỉnh sửa, phân tích dữ liệu, biểu đồ, ngân sách và nhiều hơn nữa. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tải lên/nhập dữ liệu tệp Excel vào cơ sở dữ liệu MySQL bằng Node.js & Read-Excel-File. Các bài viết liên quan: - Tải lên/lưu trữ hình ảnh trong MySQL bằng Node.js, Express & Multer - Cách tải lên/lưu trữ hình ảnh trong MongoDB bằng Node.js, Express & Multer - Nhập dữ liệu CSV vào MySQL bằng Node.js - Nhập dữ liệu CSV vào PostgreSQL Sử dụng Node.js - Nhập tệp CSV vào Bộ sưu tập MongoDB bằng Node.js Thay vào đó, tệp CSV: Node.js: Tải dữ liệu tệp CSV vào cơ sở dữ liệu với Express Nội dung
Node.js REST API để tải lên các tệp excelAPI Node.js REST trả về tệp Excel.xlsx file that contains Tutorial data in Tutorials sheet as following: Công nghệ
Khởi tạo phần tiếp theo Xác định mô hình phần tiếp theo API Node.js REST trả về tệp ExcelCông nghệtutorials.xlsx that contains data in MySQL table: Cấu trúc dự án
Thiết lập dự án tải lên tệp excel excel.js Định cấu hình cơ sở dữ liệu MySQL & phần tiếp theo
Công nghệ
Cấu trúc dự ánThiết lập dự án tải lên tệp excel excel.js Định cấu hình cơ sở dữ liệu MySQL & phần tiếp theo 7: uses configuration above to initialize Sequelize, 8 for Sequelize Tutorial data model.– 9: initializes Multer Storage engine and defines middleware function to save Excel file in 0 folder.– 1:
- 4: Xác định các tuyến đường cho các điểm cuối được gọi từ máy khách HTTP, các bộ điều khiển sử dụng (cùng với phần mềm trung gian) để xử lý các yêu cầu. - 5: Khởi tạo các tuyến đường, chạy ứng dụng Express.– 5: initializes routes, runs Express app.Thiết lập dự án tải lên tệp excel excel.jsMở dấu nhắc lệnh, thay đổi thư mục hiện tại thành thư mục gốc của dự án của chúng tôi. Cài đặt Express, Multer, Sequelize, MySQL2 với lệnh sau:
Tệp gói.json sẽ trông như thế này:package.json file will look like this:
Định cấu hình cơ sở dữ liệu MySQL & phần tiếp theoTrong thư mục SRC, chúng tôi tạo một thư mục cấu hình riêng cho cấu hình với tệp db.config.js như thế này:src folder, we create a separate config folder for configuration with db.config.js file like this:
Năm tham số đầu tiên là cho kết nối MySQL. 6 là tùy chọn, nó sẽ được sử dụng cho cấu hình nhóm kết nối tiếp theo: 6 is optional, it will be used for Sequelize connection pool configuration:
Để biết thêm chi tiết, vui lòng truy cập tham chiếu API cho hàm tạo phần tiếp theo. Khởi tạo phần tiếp theoBây giờ chúng tôi khởi tạo phần tiếp theo trong thư mục SRC/Model.src/models folder. Tạo src/model/index.js với mã sau:src/models/index.js with the following code:
Chúng tôi sẽ xác định mô hình 1 trong bước tiếp theo.Xác định mô hình phần tiếp theoTrong thư mục mô hình, hãy tạo tệp hướng dẫn.model.js như thế này:
Mô hình phần tiếp theo này đại diện cho bảng hướng dẫn trong cơ sở dữ liệu MySQL. Các cột này sẽ được tạo tự động: id, tiêu đề, mô tả, xuất bản, createdat, cập nhật.tutorials table in MySQL database. These columns will be generated automatically: id, title, description, published, createdAt, updatedAt. Sau khi khởi tạo phần tiếp theo, chúng tôi không cần phải viết các chức năng CRUD, phần tiếp theo hỗ trợ tất cả chúng:
Chúng tôi sẽ sử dụng 6 và 5 trong bộ điều khiển của chúng tôi.Tạo phần mềm trung gian để tải lên và lưu trữ tệp ExcelBên trong thư mục phần mềm trung gian, hãy tạo tệp upload.js với mã sau:middleware folder, create upload.js file with the following code:
Trong mã trên, chúng tôi đã thực hiện các bước sau: - Đầu tiên, chúng tôi nhập mô -đun 8. - Tiếp theo, chúng tôi định cấu hình 8 để sử dụng công cụ lưu trữ đĩa. - Chúng tôi cũng xác định một bộ lọc chỉ cho phép tệp có định dạng Excel.– First, we import 8 module.– Next, we configure 8 to use Disk Storage engine.– We also define a filter to only allow file with excel format. Bạn có thể thấy rằng chúng tôi có hai tùy chọn ở đây: - 0 xác định thư mục để lưu trữ các tệp đã tải lên. - 1 Xác định tên của tệp bên trong thư mục đích. - Chúng tôi thêm tiền tố 2 vào tệp gốc của tệp để đảm bảo rằng các bản sao không bao giờ xảy ra.– 0 determines folder to store the uploaded files.– 1 determines the name of the file inside the destination
folder.– We add the 2 prefix to the file’s original name to make sure that the duplicates never occur.Tạo bộ điều khiển để tải lên/nhập tệp Excelcontrollers/tutorial/excel.controller.js/excel.controller.js
Bây giờ hãy xem chức năng 3: - Đầu tiên chúng tôi nhận và kiểm tra tải lên tệp từ 4. - Tiếp theo chúng tôi sử dụng 2 Để đọc tệp Excel trong thư mục tải lên, dữ liệu được trả về dưới dạng 6 sẽ được thay đổi thành mảng 7. - Sau đó, chúng tôi sử dụng phương thức Sequelize model 6 để lưu mảng 7 (ID, tiêu đề, mô tả, xuất bản) vào cơ sở dữ liệu MySQL.– First we get and check file upload from 4.– Next we use 2 to read Excel file in uploads
folder, the data which is returned as 6 will be changed to 7 array.– Then we use Sequelize model 6 method to save the 7 array (id, title, description, published) to MySQL database.Hàm 0 sử dụng phương thức 5 để trả về tất cả các hướng dẫn được lưu trữ trong bảng hướng dẫn cơ sở dữ liệu.tutorials table.Xác định các tuyến đường để tải lên tệp excelKhi khách hàng gửi yêu cầu cho điểm cuối bằng yêu cầu HTTP (đăng tệp Excel, nhận hướng dẫn), chúng tôi cần xác định cách máy chủ sẽ phản hồi bằng cách thiết lập các tuyến đường. Đây là những tuyến đường của chúng tôi:
Tạo một hướng dẫn.Routes.js bên trong thư mục các tuyến đường có nội dung như thế này:
Bạn có thể thấy rằng chúng tôi sử dụng bộ điều khiển từ 4.Tạo máy chủ ứng dụng ExpressCuối cùng, chúng tôi tạo một máy chủ tốc hành. server.js 0Trong mã ở trên, chúng tôi khởi tạo bộ định tuyến Express và gọi phương thức Sequelize 5. 1Trong phát triển, bạn có thể cần phải bỏ các bảng hiện có và cơ sở dữ liệu đồng bộ hóa lại. Chỉ cần sử dụng 6 như mã sau: 2Chạy & Kiểm traĐầu tiên chúng ta cần tạo thư mục tải lên với đường dẫn 7. Trên thư mục gốc dự án, hãy chạy lệnh này: 8uploads folder with the path 7.On the project root folder, run this command: 8Hãy để sử dụng Postman để thực hiện yêu cầu bài đăng HTTP với tệp Excel.Postman to make HTTP POST request with an Excel file. Kết quả trong bảng hướng dẫn MySQL:tutorials table: Sự kết luậnHôm nay, chúng tôi đã xây dựng API CRUD REST bằng Node.js Express để tải lên và nhập dữ liệu từ tệp Excel sang bảng cơ sở dữ liệu MySQL. Chúng tôi cũng thấy cách sử dụng 2 để đọc dữ liệu từ tệp Excel, 0 để truy xuất các mục trong bảng cơ sở dữ liệu mà không cần mã Boilerplate.Nếu bạn muốn thêm phân trang trong khi nhận dữ liệu từ bảng MySQL, bạn có thể tìm thấy hướng dẫn tại: Sên máy chủ trong Node.js với phần tiếp theo & MySQL Để tải xuống tệp Excel: Node.js Tải xuống ví dụ về tệp Excel với Exceljs Hoặc làm việc với tệp CSV thay thế: Node.js: Tải dữ liệu tệp CSV vào cơ sở dữ liệu với Express Học hỏi! Hẹn gặp lại. Đọc thêm
- Node.js REST API với Express & MySQL - Node.js REST API với Express & MySQL (bao gồm cả phần tiếp theo) FullStack: - Vue.js + Node.js + Express + MySQL Ví dụ - Vue.js + Node.js + Express + MongoDB Ví dụ - Angular 8 + Node.js Express + MySQL Ví dụ - Angular 10 + Node.js Express + MySQL Ví dụ - Angular 11 + Node.js Express + MySQL Ví dụ - Angular 12 + Node.js Express + MySQL Ví dụ - React + Node.js + Express + MySQL Ví dụ Bảo mật: Node.js - Xác thực và ủy quyền JWT Triển khai: - Triển khai/lưu trữ ứng dụng Node.js trên cơ sở dữ liệu MySQL - DOCKERIZE NODE.JS Express và MySQL ví dụ - Docker Compose Node.js & MYSQL Hiệp hội:-Ví dụ về mối quan hệ một-nhiều Mã nguồnBạn có thể tìm thấy mã nguồn đầy đủ cho ví dụ này trên GitHub. Làm thế nào để bạn nhập dữ liệu excel trong React JS?Bước 1: Thêm sprevjs vào ứng dụng React của bạn. .... Bước 2: Mã tĩnh. .... Bước 3: Từ tĩnh đến bảng tính. .... Bước 4: Bảng tính với ràng buộc phản ứng. .... Bước 5: Thêm tính năng xuất Excel vào ứng dụng React. .... Bước 6: Thêm tính năng nhập Excel vào ứng dụng React .. Làm cách nào để viết JavaScript trong Excel?Cách nhập và xuất Excel XLSX bằng JavaScript.. Thiết lập dự án bảng tính JavaScript .. Thêm mã nhập excel .. Thêm dữ liệu vào tệp Excel đã nhập .. Thêm một tia lửa .. Thêm mã xuất excel .. Làm thế nào nhập dữ liệu từ Excel vào MongoDB?Kết nối Excel với MongoDB với Get & Transform (Truy vấn sức mạnh).. Nhấp vào dữ liệu trong Excel, sau đó mở rộng danh sách thả xuống Get Data..... Trong hộp thoại từ ODBC, chọn Tên nguồn dữ liệu (DSN) của bạn..... Nếu bạn đang sử dụng tên người dùng hoặc mật khẩu cơ sở dữ liệu, hãy chọn cơ sở dữ liệu và nhập thông tin đăng nhập của bạn vào Dialox Bog, sau đó bấm Kết nối .. Làm thế nào tìm nạp dữ liệu từ Excel bằng cách sử dụng JavaScript?JavaScript Excel - Nhập dữ liệu từ Excel Tệp Excel được đọc vào đối tượng Uint8array, sau đó được chuyển đến phương thức tải được hiển thị bởi thư viện Excel.Khi bảng tính được tải vào đối tượng thư viện Excel, chúng ta có thể đọc từng giá trị ô và xây dựng một mảng JSON sẽ được sử dụng làm nguồn dữ liệu IgGRid.The Excel file is read into Uint8Array object, which is then passed to the load method exposed by the Excel library. Once the worksheet is loaded into the Excel library object, we can read each cell value and build a JSON array that will be used as the igGrid data source. |