在前端生成excel功能對比和選擇

目標(biāo):

提供一組數(shù)據(jù)(包括圖片),要能在前端或者用node生成一個(gè)excel表格。

解決方案:

A:js-xlsx

下載量最多,更新最頻繁,但是不支持圖片導(dǎo)入。

介紹:https://www.npmjs.com/package/xlsx,https://segmentfault.com/a/1190000011057149

源碼:https://github.com/tealeg/xlsx

相關(guān)教程:http://www.itdecent.cn/p/74d405940305

B:ActiveXObject

只支持IE。

ExcelJS

只能用在node環(huán)境中。

經(jīng)過調(diào)研發(fā)現(xiàn):前端的處理能力有限,最好還是通過node來調(diào)用,在后端操作excel。只能操作csv和xlsx。

node操作excel的庫目前這個(gè)庫下載量最多,更新最頻繁。

介紹:https://www.npmjs.com/package/exceljs#images

源碼:https://github.com/guyonroche/exceljs#readme

D:其它框架

1.wijmo:

收費(fèi)

介紹:https://www.cnblogs.com/bubugao/p/js4.html

2.spreadjs:

收費(fèi),主要功能是把excel嵌入到頁面里,和目前的功能不匹配

介紹:https://www.grapecity.com.cn/developer/spreadjs

3.excel4node:

Excel的node小型框架,使用沒有ExcelJs廣泛,但是功能沒有ExcelJs強(qiáng)大。

介紹:https://www.npmjs.com/package/excel4node

E:不使用框架,純前端實(shí)現(xiàn)

Excel表格最終是xls(實(shí)際上是html table寫成xls的格式)格式,可以實(shí)現(xiàn)圖片的導(dǎo)入和樣式的操作,但是圖片的導(dǎo)入方式有本地圖片資源的引入和直接賦值網(wǎng)站鏈接。

這兩種圖片導(dǎo)入方式都進(jìn)行了測試,發(fā)現(xiàn)只有在啟用編輯的時(shí)候圖片才可以顯示出來,否則顯示不出來。Excel不信任圖片的來源。

參考案例:https://blog.csdn.net/xiaoxiaojie12321/article/details/81780900

總結(jié)

最終打算采用ExcelJS,把數(shù)據(jù)發(fā)到node服務(wù)器,在node服務(wù)器端生成Excel表格,返回給前端使用。相關(guān)代碼鏈接:https://github.com/wangyiman/handle_office_service

問題

node是在后端申請了一個(gè)虛擬機(jī)器,所以要保證所用到的框架不能對windows的excel產(chǎn)生依賴,萬一出現(xiàn)了依賴,很可能跨平臺就不支持了。

目前調(diào)研結(jié)果是excel4node可以跨平臺,但是ExcelJS不能保證是否可以支持跨平臺。

相關(guān)鏈接:

base64的轉(zhuǎn)換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,990評論 2 59
  • 首先 git checkout master 然后 git merge my-temporary-work 即:g...
    天青色等煙雨1028閱讀 218評論 0 0
  • 1、裝出來的清高,裝出來的不屑,這一切都是幼稚的體現(xiàn)。 2、有什么東西急于分享給別人的急躁,都是不成熟的表現(xiàn)。 3...
    Joan饅頭閱讀 231評論 0 0
  • 今天很奇妙!謝謝宇宙讓我過得如此愜意、充實(shí)、怡然自得。 中午享用了美味雞湯面,真好吃,吃完就到對面的西村咖啡店,...
    貓公主喵閱讀 183評論 0 1

友情鏈接更多精彩內(nèi)容