一、首先需要需要引入需要的包 <script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script> 二、一個上傳文件的file類型的input標簽 <input type="file" onchange="showP ...
一、首先需要需要引入需要的包
<script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script>
二、一個上傳文件的file類型的input標簽
<input type="file" onchange="showPreview(this)">
三、js相關操作對選中.xls文件進行解析,獲取數據
function showPreview(source) {
// 獲取傳遞過來的內容
let file = source.files[0];
// 創建 FileReader 示例
let showPreview = new FileReader();
// 讀取文件
showPreview.readAsBinaryString(file)
// 文件讀取成功時的回調函數
showPreview.onload = (e) => {
// 獲取傳遞的表格
let data = e.target.result
// 以二進位流方式讀取到整份的excel 表格對象
let workbook = XLSX.read(data, {
type: 'binary'
})
// 儲存獲取到的數據
let persons = []
// 表格的表格範圍,可用於判斷表頭是否數量是否正確
let fromTo = '';
// 遍歷每張表讀取
for (var sheet in workbook.Sheets) {
// 判斷文件是否是 excel 文件
if (workbook.Sheets.hasOwnProperty(sheet)) {
// 對錶格的內容進行處理
persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
break; // 如果只取第一張表,就取消註釋這行
}
}
//將persons賦值給要展示的表格數組裡即可展示在界面
console.log(persons);
}
}