利用JavaScript所見即所得的生成Excel表格
筆者認為,解決問題的途徑n種,也有很多組合的使用。我們用Excel匯出大量資料的時候,可能會從伺服器端,但如果資料量較小,是不是也可以考慮使用JavaScript就可以輕量級的匯出呢。另外實際工作中,使用者也會考慮,所見即所得的匯出當前見到的內容到Excel表格中。
這裡,筆者有那麼一丟丟感想,像文件資料、檔案資料、圖片資料歸根結底都是一些資料碼,而資料碼的解析方式也是分多鐘的,像.html的檔案可以用記事本、瀏覽器、編輯工具等開啟。這裡筆者就利用Excel能夠開啟html文件,投機取巧了一把字尾名是.xls哦。
JavaScript匯出表格三個弊端:1、只能匯出當前頁面;2、若存在大量資料,則JavaScript超時崩潰;3、匯出資料的同時,不可以做其他事情。因此,一些正式的、大量的資料就不要透過JavaScript生成了,小打小鬧可以哦。
上程式碼嘍,筆者親測哦:
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta charset="utf-8" /></head><body> <table border="1"> <caption>遊戲級別統計表</caption> <tr> <th rowspan="2">序號</th> <th rowspan="2">遊戲號</th> <th rowspan="2">姓名</th> <th rowspan="2">性別</th> <th rowspan="2">年齡</th> <th colspan="3">等級</th> </tr> <tr> <th>lol</th> <th>cf</th> <th>dnf</th> <th>lsd</th> </tr> <tr> <td>1</td> <td>20180811</td> <td>RedAnt</td> <td>男</td> <td>不詳</td> <td>80</td> <td>雙槓一星</td> <td>80</td> <td>213</td> </tr> <tr> <td>2</td> <td>20180812</td> <td>HoYL</td> <td>男</td> <td>不詳</td> <td>81</td> <td>雙槓一星</td> <td>80</td> <td>999</td> </tr> <tr> <td>2</td> <td>20180813</td> <td>Thinking</td> <td>男</td> <td>不詳</td> <td>81</td> <td>雙槓一星</td> <td>80</td> <td>999</td> </tr> </table> <a download="遊戲級別統計表.xls">匯出表格</a> <script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="js/jquery.min.js" ></script> <script> $(document).ready(function(){ var now_html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>"; /*outerHTML:獲取整個table元素的HTML程式碼(包括<table>標籤),包裝成一個完整的HTML文件 charset為urf-8以防止中文亂碼*/ var blob = new Blob([now_html], { type: "application/vnd.ms-excel" }); /*例項化一個Blob物件 * Blob建構函式:[now_html]包含檔案的陣列 * { type: "application/vnd.ms-excel" }:是包含檔案型別屬性的物件*/ var a = document.getElementsByTagName("a")[0]; //利用URL.createObjectURL()方法為a元素生成blob URL a.href = URL.createObjectURL(blob); }) </script></body></html>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2817626/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用VC++開發所見即所得的列印程式 (轉)
- 所見即所得富文字編輯器實現原理
- 幾款所見即所得視覺化UML工具介紹視覺化
- Hallo.js:一款所見即所得的Web編輯器JSWeb
- 花樣玩轉“所見即所得”的視覺化開發UI視覺化UI
- 所見即所得 HTML 編輯器 Froala Editor 3.1.1 破解過程HTML
- Web 開發 17 年的所見所得Web
- 所見即所得:七大無需程式設計的DIY開發工具程式設計
- 頁面錄製服務上線:RESTful API 呼叫實現,所見所錄即所得RESTAPI
- 所得與所見:[-View周邊-] 框架層View框架
- 所見即所得:四款免程式設計移動遊戲開發引擎推薦程式設計遊戲開發
- What You See Is What You Get 所見即所得 20240525~0526 心得記錄
- excel表格生成與匯入Excel
- 在VC中所見即所得列印的簡易實現 (轉)
- 百度上線深度學習視覺化工具Visual DL 訓練結果“所見即所得”深度學習視覺化
- Excel——年終獎個人所得稅Excel
- Element-ui,Vue表格匯出生成Excel表UIVueExcel
- Excel表格底色怎麼去掉?去除Excel表格底色的方法Excel
- 所按非所得——聊一聊StandHogg漏洞HOG
- javascript生成指定行列table表格程式碼例項JavaScript
- 從服務端生成Excel電子表格(GcExcel + SpreadJS)服務端ExcelGCJS
- word放不下excel表格怎麼辦 word放不下excel表格的方法Excel
- SpringBoot利用java反射機制,實現靈活讀取Excel表格中的資料和匯出資料至Excel表格Spring BootJava反射Excel
- html轉Excel表格HTMLExcel
- java操作excel表格JavaExcel
- 生成表格與合併表格
- 電腦製作excel表格全步驟 excel製作表格的步驟教程Excel
- 如何列印出漂亮的Excel表格?Excel
- excel表格:Excel 2021 LTSC for MacExcelMac
- Excel-修改Excel表格的預設下拉選項Excel
- 7種Excel表格打勾√的方法 Excel怎麼打勾?Excel
- Excel表格如何隔行填充顏色?Excel表格底色隔行填充方法教程Excel
- 批次檢測主機IP,並把結果生成excel檔案表格Excel
- 從服務端生成Excel電子表格(Node.js+SpreadJS)服務端ExcelNode.js
- python 操作 Excel 表格PythonExcel
- 使用Java操作Excel表格JavaExcel
- js匯出Excel表格JSExcel
- vue匯出Excel表格VueExcel