Ảnh của Drew Coffman trên unplash
Ban đầu, khi tôi bắt đầu làm việc theo yêu cầu này, mọi người đề nghị sử dụng bất kỳ một trong các thư viện phụ trợ để đọc và chuyển đổi dữ liệu Excel thành các đối tượng JSON. Nhưng thật khó để gửi yêu cầu đến máy chủ mỗi lần. Mặt khác, thật dễ dàng để chuyển đổi tệp Excel trên máy khách thành đối tượng JSON bằng cách sử dụng JavaScript thuần túy.JSON object by using pure JavaScript.
Có một plugin JavaScript XSLX có thể được sử dụng để đọc các tệp Excel dưới dạng chuỗi nhị phân và để chuyển đổi chúng thành các đối tượng JSON.XSLX that can be used to read excel files as binary strings and to convert them into JSON objects.
Yêu cầu plugin: xlsx.full.min.jsxlsx.full.min.js
Cài đặt
Bao gồm liên kết CDN trong thẻ
6 của tệp HTML như sau:npm install -g convert-excel-to-json
Bây giờ, trong thẻ HTML
7, chúng ta cần ghi thẻ đầu vào với loại dưới dạng tệp và cần hạn chế người dùng chỉ chọn các tệp có phần mở rộng của .xls hoặc .xlsx. Dán mã dưới đây vào thẻ HTMLnpm install -g convert-excel-to-json
7 của bạn.npm install -g convert-excel-to-json
Bây giờ chúng ta cần thêm người nghe sự kiện cho cả hai yếu tố
9 vànpm install -g convert-excel-to-json
0 để xử lý thay đổi các sự kiện đầu vào và nút nhấp chuột.$ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}'
Trong JavaScript, chúng tôi có thể thêm người nghe sự kiện vào các yếu tố như thế này:
Chúng ta có thể đọc dữ liệu trong tệp Excel bằng cách sử dụng trình đọc tệp làm chuỗi nhị phân trong JavaScript. Sau đó, chúng tôi sử dụng XLSX có một cơ sở tích hợp của SheetJS để chuyển đổi chuỗi nhị phân của chúng tôi thành một đối tượng JSON.XLSX which has a built-in facility of SheetJS to convert our binary string into a JSON object.
Cách chuyển đổi tệp Excel thành đối tượng JSON bằng cách sử dụng JavaScriptBây giờ chọn tệp Excel và nhấp vào nút Chuyển đổi để hiển thị đối tượng JSON trong trình duyệt. Sau đó, chúng ta có thể sử dụng đối tượng JSON cho bất kỳ thao tác nào và tích hợp dữ liệu vào các bố cục UI khác nhau.
Trong góc
Excel to Json trong Angularjson để xuất sắc trong JavaScriptĐể thuận tiện cho bạn, tôi đang thêm bản demo liên kết Sandbox Code tại đây
Để xuất dữ liệu JSON dưới dạng Excel, hãy xem video này
Bấm vào đây để biết mã nguồnsource code
Cảm ơn vì đã dành thời gian cho tôi :]
Cấp độ lên mã hóa
Cảm ơn vì đã là một phần của cộng đồng của chúng tôi! Lên lên là chuyển đổi tuyển dụng công nghệ. Tìm công việc hoàn hảo của bạn tại các công ty tốt nhất.Find your perfect job at the best companies.
Làm thế nào tìm nạp dữ liệu từ Excel trong 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. $ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}' $ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}' $ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}' npm install convert-excel-to-jsonconvert-excel-to-json
1]Chỉ định một cột vào ánh xạ khóa [ví dụ:
2]Nhận các tờ cụ thể [ví dụ:
3]
Cài đặt
npm install -g convert-excel-to-json
NPM / Nút
hoặc sử dụng nó thông qua dòng lệnh
Sử dụng / ví dụ
Đối với tất cả các ví dụ, hãy giả sử rằng tệp Excel của chúng tôi có hai tờ, được đặt tên là 'Sheet1' và 'Sheet2'.
$ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}'
Để sử dụng nó chỉ truyền trong SourceFile mà không có cấu hình bổ sung:sourceFile without extra configuration:
$ convert-excel-to-json --sourceFile="tests/test-data.xlsx"
Để kiểm tra phần trợ giúp:
$ convert-excel-to-json --help
Chuyển đổi đơn giản
Chỉ cần nhận tất cả các hàng, cho mỗi tờ, trong đó mỗi hàng sẽ được biểu diễn bằng một đối tượng có cấu trúc như
5, ví dụ: từ một tờ chỉ có một cột [cột A] và hai hàng$ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}'
6$ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}'
'use strict';
const excelToJson = require['convert-excel-to-json'];
const result = excelToJson[{
sourceFile: 'SOME-EXCEL-FILE.xlsx'
}];
{
sheet1: [{
A: 'data of cell A1',
B: 'data of cell B1',
C: 'data of cell C1'
}],
sheet2: [{
A: 'data of cell A1',
B: 'data of cell B1',
C: 'data of cell C1'
}]
}
Chuyển đổi một xlsx mà bạn có như một bộ đệm
'use strict';
const excelToJson = require['convert-excel-to-json'];
const fs = require['fs'];
const result = excelToJson[{
source: fs.readFileSync['SOME-EXCEL-FILE.xlsx']
}];
{
sheet1: [{
A: 'data of cell A1',
B: 'data of cell B1',
C: 'data of cell C1'
}],
sheet2: [{
A: 'data of cell A1',
B: 'data of cell B1',
C: 'data of cell C1'
}]
}
Xác định các hàng tiêu đề
Bạn sẽ nhận thấy rằng nếu bảng của bạn có một số thiết lập hàng đầu làm tiêu đề [nó rất phổ biến], vị trí đầu tiên của kết quả của chúng tôi sẽ có dữ liệu này, trong trường hợp này, nó không hữu ích lắm. Vì vậy, chúng tôi có thể cho biết mô -đun có bao nhiêu hàng là tiêu đề, vì vậy chúng tôi có thể bỏ qua chúng và chỉ nhận dữ liệu.
'use strict';
const excelToJson = require['convert-excel-to-json'];
const result = excelToJson[{
sourceFile: 'SOME-EXCEL-FILE.xlsx',
header:{
rows: 1
}
}];
Chỉ cho các tờ cụ thể
Chỉ nhận được tất cả các hàng cho mỗi trang được xác định trên đối tượng cấu hình
'use strict';
const excelToJson = require['convert-excel-to-json'];
const result = excelToJson[{
sourceFile: 'SOME-EXCEL-FILE.xlsx',
header:{
rows: 1
},
sheets: ['sheet2']
}];
{
sheet2: [{
A: 'data of cell A1',
B: 'data of cell B1',
C: 'data of cell C1'
}]
}
Các cột ánh xạ tới các phím
Một cấu hình cho tất cả các tờ
Nhận tất cả các hàng, cho mỗi tờ, nhưng xác định cột nào sẽ được trả về và cách chúng nên được đặt tên trên đối tượng kết quả.
'use strict';
const excelToJson = require['convert-excel-to-json'];
const result = excelToJson[{
sourceFile: 'SOME-EXCEL-FILE.xlsx',
columnToKey: {
A: 'id',
B: 'firstName'
}
}];
{
sheet1: [{
id: 'data of cell A1',
firstName: 'data of cell B1'
}],
sheet2: [{
id: 'data of cell A1',
firstName: 'data of cell B1'
}]
}
Cấu hình cho mỗi tờ
Nhận được tất cả các hàng, cho mỗi tờ, nhưng xác định cột nào sẽ được trả về và cách chúng nên được đặt tên trên đối tượng kết quả, trên mỗi tờ.per sheet.
0npm install -g convert-excel-to-json
OBS: Tiêu đề cấu hình. Làm mới cũng có thể được xác định trên mỗi tờ, như trong ví dụ trước của cộtToKey. ví dụ. The config header.rows can also be defined per sheet, like in the previous example of columnToKey. e.g.
1npm install -g convert-excel-to-json
Các cột ánh xạ tới các phím :: Biến đặc biệt
Các biến tế bào
Giá trị từ một ô cụ thể có thể được định nghĩa là tên khóa [ví dụ:
7]. ví dụ. Nếu chúng ta có 3 hàng được phân bổ cho tiêu đề, nhưng giá trị văn bản được chỉ định ở hàng đầu tiên:$ convert-excel-to-json --config='{"sourceFile": "tests/test-data.xlsx"}'
2npm install -g convert-excel-to-json
Obs: {{pallheader}} sẽ theo tiêu đề cấu hình. {{columnHeader}} will follow the config header.rows or, in case it is not specified, it will always treat the first row as a header.
Phím tự động/đặt tên thuộc tính theo tiêu đề cột {{pallheader}}
Để trả về tất cả các dữ liệu nhưng có các phím đối tượng được đặt tên là tiêu đề hàng được tìm thấy ở Excel, thay vì các chữ cái cột, chỉ sử dụng hai cấu hình đặc biệt. Kiểm tra cột sau đây:
3npm install -g convert-excel-to-json
Obs: {{pallheader}} sẽ theo tiêu đề cấu hình. {{columnHeader}} will follow the config header.rows or, in case it is not specified, it will always treat the first row as a header.
Phím tự động/đặt tên thuộc tính theo tiêu đề cột {{pallheader}}
Để trả về tất cả các dữ liệu nhưng có các phím đối tượng được đặt tên là tiêu đề hàng được tìm thấy ở Excel, thay vì các chữ cái cột, chỉ sử dụng hai cấu hình đặc biệt. Kiểm tra cột sau đây:
Phạm vi
4npm install -g convert-excel-to-json
Một phạm vi cụ thể có thể được xác định. Cũng giống như các cấu hình trước đó, cho tất cả các tấm hoặc mỗi tờ.
5npm install -g convert-excel-to-json