vue2.0 + element UI 中 el-table 資料匯出Excel 。
vue2.0 + element UI 中 el-table 資料匯出Excel
1、 安裝相關依賴
主要是兩個依賴
npm install --save xlsx file-saver
如果想詳細看著兩個外掛使用,請移步github。
https://github.com/SheetJS/js-xlsx
https://github.com/eligrey/FileSaver.js
2、元件裡頭引入
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
3、元件methods裡寫一個方法
exportExcel () {
/* generate workbook object from table */
var wb = XLSX.utils.table_to_book(document.querySelector('#out-table'))
/* get binary string as output */
var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
try {
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
return wbout
},
注意:XLSX.uitls.table_to_book( 放入的是table 的DOM 節點 ) ,sheetjs.xlsx 即為匯出表格的名字,可修改!
4、點選匯出按鈕執行 exportExcel 的方法即可 。
元件裡頭程式碼截圖:
實現效果圖如下:
匯出如下表格的資料到excel。
匯出到excel 表格,結果如下:
相關連結:
該工具的其他使用場景( 如react 、jQ、angular ) http://sheetjs.com/
Js 匯出excel (相容ie9)
需要引入的 相關js 庫:
<!-- ECMAScript 5 相容性 -->
<script type="text/javascript" src="https://unpkg.com/xlsx/dist/shim.min.js"></script>
<script type="text/vbscript" language="vbscript">
IE_GetProfileAndPath_Key = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\"
Function IE_GetProfileAndPath(key): Set wshell = CreateObject("WScript.Shell"): IE_GetProfileAndPath = wshell.RegRead(IE_GetProfileAndPath_Key & key): IE_GetProfileAndPath = wshell.ExpandEnvironmentStrings("%USERPROFILE%") & "!" & IE_GetProfileAndPath: End Function
Function IE_SaveFile_Impl(FileName, payload): Dim data, plen, i, bit: data = CStr(payload): plen = Len(data): Set fso = CreateObject("Scripting.FileSystemObject"): fso.CreateTextFile FileName, True: Set f = fso.GetFile(FileName): Set stream = f.OpenAsTextStream(2, 0): For i = 1 To plen Step 3: bit = Mid(data, i, 2): stream.write Chr(CLng("&h" & bit)): Next: stream.Close: IE_SaveFile_Impl = True: End Function
</script>
<script type="text/vbscript" language="vbscript">
Function IE_LoadFile_Impl(FileName): Dim out(), plen, i, cc: Set fso = CreateObject("Scripting.FileSystemObject"): Set f = fso.GetFile(FileName): Set stream = f.OpenAsTextStream(1, 0): plen = f.Size: ReDim out(plen): For i = 1 To plen Step 1: cc = Hex(Asc(stream.read(1))): If Len(cc) < 2 Then: cc = "0" & cc: End If: out(i) = cc: Next: IE_LoadFile_Impl = Join(out,""): End Function
</script>
<script type="text/javascript" src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/blob.js@1.0.1/Blob.js"></script>
<script type="text/javascript" src="https://unpkg.com/file-saver@1.3.3/FileSaver.js"></script>
頁面上的HTML 的table 元素:
<div style="display: block">
<table id="js_table_xlsx">
<tbody>
<tr>
<td><span>This</span></td>
<td><span>is</span></td>
<td><span>a</span></td>
<td><span>Test</span></td>
</tr>
<tr>
<td><span>வணக்கம்</span></td>
<td><span>สวัสดี</span></td>
<td><span>你好</span></td>
<td><span>가지마</span></td>
</tr>
<tr>
<td><span>1233</span></td>
<td><span>2333</span></td>
<td><span>3333</span></td>
<td><span>43333</span></td>
</tr>
</tbody>
</table>
</div>
<!-- 匯出excel -->
<button class="js_exportExcel">匯出excel</button>
js 事件函式:
/*
* 匯出 excel 表格 ,利用隱藏的excel
* */
$('.js_exportExcel').on('click', function () {
exportExcel_Doit();
});
/*
* 匯出excel function
* */
function exportExcel_Doit(type, fn, dl) {
var elt = document.getElementById('js_table_xlsx');
var wb = XLSX.utils.table_to_book(elt, {sheet: "Sheet JS"});
return dl ?
XLSX.write(wb, {bookType: type, bookSST: true, type: 'base64'}) :
XLSX.writeFile(wb, fn || ('test.' + (type || 'xlsx')));
}
相關文章
- vue + element UI 中 el-table 資料匯出Excel表格VueUIExcel
- element-ui 匯出excelUIExcel
- vue2.0 匯出Excel表格資料VueExcel
- element-UI庫Table表格匯出Excel表格UIExcel
- Element-ui元件庫Table表格匯出Excel表格UI元件Excel
- vue+element將資料匯出成excel表格VueExcel
- vue element ui excel json2csv csv 匯出VueUIExcelJSON
- Vue+element ui table 匯出到excelVueUIExcel
- vue + element + 匯入、匯出excel表格VueExcel
- element-ui匯出表格UI
- Vue element-ui 裡面的table匯出excel表格 步驟VueUIExcel
- vue+element + table將選中的資料匯出為excel(匯出的是當前頁選中的資料)VueExcel
- vue+element-ui 修改動態生成的表格(el-table)中的資料VueUI
- vue+elementUI el-table匯出excel表格VueUIExcel
- element-ui匯出excel表格,程式碼基於vue-element-admin-masterUIExcelVueAST
- Vue + Element 實現匯入匯出ExcelVueExcel
- Element-ui,Vue表格匯出生成Excel表UIVueExcel
- php匯出資料excelPHPExcel
- Vue+Element 實現excel的匯入匯出VueExcel
- SAP UI5 表格資料如何匯出成 Excel 檔案(Table Export As Excel)UIExcelExport
- EasyPoi, Excel資料的匯入匯出Excel
- vue2.0專案引入element-uiVueUI
- 資料匯出為excel表格Excel
- 大資料使用Excel匯出大資料Excel
- Vue element ui結合java後臺匯出Excel(二進位制檔案流)VueUIJavaExcel
- 用php把資料匯出excelPHPExcel
- vue匯出excel資料表格功能VueExcel
- SQL SERVER 和EXCEL的資料匯入匯出SQLServerExcel
- 【Mysql】匯出資料到excel檔案中MySqlExcel
- Mvc 5中匯出ExcelMVCExcel
- ASP.NET EXCEL資料的匯出和匯入ASP.NETExcel
- vue+element-ui中獲取頁面資料VueUI
- 將資料庫中資料匯出為excel表格資料庫Excel
- asp.net中利用NPOI匯出資料到excel中ASP.NETExcel
- 百萬級別資料Excel匯出優化Excel優化
- Dcat admin使用Laravel Excel匯出資料LaravelExcel
- node 抓取api資料匯出為excel表格APIExcel
- 頁面資料匯出為word或者excelExcel