8000 Update index.js · AKAChing/fed-code-snippets@65e4aa2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 65e4aa2

Browse files
authored
Update index.js
1 parent e497ef3 commit 65e4aa2

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

ExcelAndTable/index.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
import XLSX from 'xlsx'
22
import FileSaver from 'file-saver'
3-
export function excelToJson(rawFile, keysOption) {
4-
let reader = new FileReader()
5-
reader.onload = function (e) {
6-
let data = e.target.result
7-
let workbook = XLSX.read(data, { type: 'binary' })
8-
let unitSheet = [] // a one dimensional array, only includes the data in one sheet
9-
let totalSheet = [] // a two dimensional array, includes the data in all sheets
10-
let arrySheet = [] // a one dimensional array, includes the data in all sheets
11-
Object.keys(workbook.Sheets).forEach(key => {
12-
unitSheet = XLSX.utils.sheet_to_json(workbook.Sheets[key], { header: keysOption })
13-
keysOption && unitSheet.splice(0,1) // splice the first item bcz we don't need it, it's a label, you can redefine it by keysOption
14-
totalSheet.push(unitSheet)
3+
export function excelToJson(rawFile) {
4+
let reader = new FileReader();
5+
let jsonArr = []
6+
reader.onload = function(e) {
7+
let data = e.target.result;
8+
let workbook = XLSX.read(data, {
9+
type: 'binary'
10+
});
11+
let sheets = workbook.Sheets
12+
Object.keys(sheets).forEach(key => {
13+
let unitJson = XLSX.utils.sheet_to_json(sheets[key])
14+
unitJson.forEach(item => {
15+
jsonArr.push(item)
16+
})
1517
})
16-
totalSheet.map(arr1 => arr1.map(arr2 => arrySheet.push(arr2))) // generate a one dimensional array for back-end
17-
console.log(arrySheet)
18-
return arrySheet
19-
}
20-
reader.readAsBinaryString(rawFile)
18+
};
19+
reader.readAsBinaryString(rawFile);
20+
return jsonArr
2121
}
2222

2323
export function tableToExcel(table, name = 'table') {
@@ -37,4 +37,4 @@ export function tableToExcel(table, name = 'table') {
3737
}
3838
}
3939
return documents
40-
}
40+
}

0 commit comments

Comments
 (0)
0