生成可以粘貼到excel的表格數據

最近遇到一個比較有趣的需求:
現有一個數據統計分析頁面,主體內容是table,列出了篩選後的數據,想要複製其中的數據到剪貼板,然後粘貼到EXCEL中,方便進行後續的處理。
 
思路:
經過一番調研與實驗,發現EXCEL對數據分行、分列的依據是數據中的製表符、換行符,也就是說只要在合適的位置插入製表符、換行符就可以實現我們想要的效果了。
不過,製表符和換行符是不可見的,鍵盤上也不能直接輸入,要怎麼實現呢?繼續google,發現製表符對應的ascii是9,換行符對應的ascii是10,js則可以使用String.fromCharCode生成製表符和換行符,如下所示。
 
String.fromCharCode(9)  // 製表符,用於分列
String.fromCharCode(10) // 換行符,用於換行
 
實戰:
我們實際測試一下效果,預計生成一個如下的表格。

 

 對應的代碼就是:

[1,String.fromCharCode(9),2,String.fromCharCode(9),3,String.fromCharCode(10),4,String.fromCharCode(9),5,String.fromCharCode(9),6].join('')
 
將代碼複製到瀏覽器執行,得到如下的結果:
1 2 3
4 5 6
複製到EXCEL中試試看,如下圖所示:

 

 效果還不錯,滿足我們的需求,也足夠靈活,看起來沒有什麼坑,進一步封裝一下,實現一個二維數組數據 to EXCEL數據的方法就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章