項目需求在前端頁面中實現預覽excel表格的功能,上網了解之后大致總結為一下幾種方法。
1.office文檔轉換為pdf,再轉swf,然后通過網頁加載flash進行預覽
2.通過 xlsx.js,jszip.js插件
3.django xlrd讀取excel內容,循環寫入到前端頁面table中
4.office轉html,網頁加載html文件進行預覽
第一種方法:首先你的電腦上需要安裝office軟件,其次轉換過程較為繁瑣,同時消耗系統資源。
第二種方法:個人對js不是很熟悉,看了別人寫的js代碼,感覺可行性還是挺高的
第三種方法:通過django的xlrd插件按照行和列進行數據讀取,然后寫入到變量中存儲,最后返回給前端模板頁面。可以實現預覽的效果,但后台操作較為繁瑣,程序運行效率較低。
第四種方法:把excel表格打開后,另存為html格式的文件。在網頁上預覽效果和excel表格一致。
綜上第四種方法是比較不錯的選擇
需要安裝libreoffice軟件,ubuntu下直接通過軟件庫安裝,其他可通過官網下載,下載地址如下:
https://zh-cn.libreoffice.org...
ps:注意系統版本的選取
執行代碼如下,后面跟的是文件地址。
libreoffice --invisible --convert-to html ' + my_file.name
在我的項目中,我把該代碼集成到了文件上傳的方法中,在文件上傳完成后,生成該文件的html后綴的文件,最后在前端頁面中通過a標簽訪問到對應的路徑地址,實現在頁面中預覽的效果。