javascript
SheetJS 读取excel文件转出json
demo下載:https://download.csdn.net/download/wysdong/12839914
$(function () {
? ? //<script src="jquery.min.js" type="text/javascript"></script>
? ? //<script src="xlsx.core.min.js"></script>
? ? //<input type="file" id="excel-file">
? ? //https://github.com/SheetJS/sheetjs? //下載地址
? ? //https://www.cnblogs.com/lvsk/p/11970747.html? //例子
? ? 將excel文檔輸出成josn數(shù)組
? ? $('#excel-file').change(function (e) {
? ? ? ? var files = e.target.files;
? ? ? ? var fileReader = new FileReader();
? ? ? ? fileReader.onload = function (ev) {
? ? ? ? ? ? var filename = files[0].name;
? ? ? ? ? ? var fileType = getFileType(filename).toString();
? ? ? ? ? ? var x;
? ? ? ? ? ? switch (fileType) {
? ? ? ? ? ? ? ? case '.xls':
? ? ? ? ? ? ? ? ? ? x = XLS;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case '.xlsx':
? ? ? ? ? ? ? ? ? ? x = XLSX;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? x = null;
? ? ? ? ? ? }
? ? ? ? ? ? if (x) {
? ? ? ? ? ? ? ? try {
? ? ? ? ? ? ? ? ? ? var data = ev.target.result,
? ? ? ? ? ? ? ? ? ? ? ? workbook = x.read(data, {
? ? ? ? ? ? ? ? ? ? ? ? ? ? type: 'binary'
? ? ? ? ? ? ? ? ? ? ? ? }), // 以二進(jìn)制流方式讀取得到整份excel表格對(duì)象
? ? ? ? ? ? ? ? ? ? ? ? persons = []; // 存儲(chǔ)獲取到的數(shù)據(jù)
? ? ? ? ? ? ? ? } catch (e) {
? ? ? ? ? ? ? ? ? ? console.log('文件類型不正確');
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? else {
? ? ? ? ? ? ? ? console.log('請(qǐng)選擇excel文檔');
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? // 表格的表格范圍,可用于判斷表頭是否數(shù)量是否正確
? ? ? ? ? ? var fromTo = '';
? ? ? ? ? ? // 遍歷每張表讀取
? ? ? ? ? ? for (var sheet in workbook.Sheets) {
? ? ? ? ? ? ? ? if (workbook.Sheets.hasOwnProperty(sheet)) {
? ? ? ? ? ? ? ? ? ? fromTo = workbook.Sheets[sheet]['!ref'];
? ? ? ? ? ? ? ? ? ? console.log(fromTo);
? ? ? ? ? ? ? ? ? ? persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
? ? ? ? ? ? ? ? ? ? // break; // 如果只取第一張表,就取消注釋這行
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? //將excel文檔輸出成josn數(shù)組
? ? ? ? ? ? console.log(persons);
? ? ? ? };
? ? ? ? // 以二進(jìn)制方式打開文件
? ? ? ? fileReader.readAsBinaryString(files[0]);
? ? });
? ? function getFileType(filepath) {
? ? ? ? var reg = /.[a-zA-Z0-9]+$/;
? ? ? ? var filePostfix = reg.exec(filepath);
? ? ? ? return filePostfix;
? ? }
})
總結(jié)
以上是生活随笔為你收集整理的SheetJS 读取excel文件转出json的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于计算机视觉的裂纹检测方案
- 下一篇: 多项目管理中PMO的作用