當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
使用JavaScript实现纯前端读取excel文件并与后台进行交互
生活随笔
收集整理的這篇文章主要介紹了
使用JavaScript实现纯前端读取excel文件并与后台进行交互
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下載SheetJS文件
GitHub下載地址:https://github.com/SheetJS/sheetjs
下載之后打開(kāi)其中的dist文件目錄,能看到其中有xlsx.core.min.js和xlsx.full.min.js兩個(gè)JS文件,使用其中一個(gè)文件就行,一般情況下使用xlsx.core.min.js就可以了。
此處以xlsx.core.min.js為例
具體用法如下:
1.首先在HTML中定義如下
<input type="file" id="inputfilename"> <!--選擇文件的input--><button onclick="readWorkbookFromLocalFile()">讀取Excel表格</button> <!--讀取文件的按鈕--><div id="result"></div> <!--顯示所讀取excel的區(qū)域-->2. 引入JS
<script src="../../js/xlsx.core.min.js"></script>3. 使用XLSX.read方法讀取本地excel文件
function readWorkbookFromLocalFile() {var file = document.getElementById('inputfilename').files[0];if (file) {var reader = new FileReader();reader.onload = function (e) {var data = e.target.result;var workbook = XLSX.read(data, { //XLSX.read()方法會(huì)返回一個(gè)workbook 對(duì)象type: 'binary'});readWorkbook(workbook);};reader.readAsBinaryString(file);} else {alert('請(qǐng)先選擇文件');}}4. 得到exce文件的csv和json格式
得到csv格式是為了在網(wǎng)頁(yè)中顯示讀取到的表格
得到j(luò)son格式是為了與后臺(tái)進(jìn)行數(shù)據(jù)交互
5. 將csv轉(zhuǎn)換成簡(jiǎn)單的表格,會(huì)忽略單元格合并,在第一行和第一列追加類(lèi)似excel的索引
function csv2table(csv) {var html = '<table>';var rows = csv.split('\n');rows.pop(); // 最后一行沒(méi)用的rows.forEach(function (row, idx) {var columns = row.split(',');columns.unshift(idx + 1); // 添加行索引if (idx == 0) { // 添加列索引html += '<tr>';for (var i = 0; i < columns.length; i++) {html += '<th>' + (i == 0 ? '' : String.fromCharCode(65 + i - 1)) + '</th>';}html += '</tr>';}html += '<tr>';columns.forEach(function (column) {html += '<td>' + column + '</td>';});html += '</tr>';});html += '</table>';return html; }到這里就能夠?qū)崿F(xiàn)通過(guò)SheetJS在頁(yè)面中顯示從本地讀取到的excel文件了,也能夠拿到想要與后臺(tái)進(jìn)行交互時(shí)的標(biāo)準(zhǔn)json數(shù)據(jù)格式,最后只需要發(fā)送Ajax與后臺(tái)進(jìn)行交互就OK拉!
參考文檔 https://www.cnblogs.com/liuxianan/p/js-excel.html
總結(jié)
以上是生活随笔為你收集整理的使用JavaScript实现纯前端读取excel文件并与后台进行交互的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RDKit 记录
- 下一篇: hbase命令snapshot快照使用