在項目做完之余,測試最近做的一個論壇,其中有個導出功能,發現點擊網頁導出按鈕之後,將頁面的table內容另存為excel文件後,卻發現無法保存表格樣式,經過問題分析之後找到根本原因,下面小編就把我的實現思路給大家分享如下:
問題描述:
問題分析過程:
1.table表格用class,而不是style。導出時並沒有導出class定義,若換成style,將顏色樣式直接寫在style中,就會導出樣式。
style是樣式,在HTML中用這個來標明屬性樣式,是css中的內容,而class是類,申明和定義裡面的內容,導出頁面時並不會導出定義即class所定義的樣式。
2.將類定義放到table中也可以導出樣式
下面通過兩種方案解決此問題。
處理方案一:
將class="${getClass()}"換成style="color:${getStyle()};"
補充:
$('#export').click(function () { saveAsExcel($('h3').text(), $('#table').html().replace(/( )+/gi,'')); });
其中excel只識別table,使用saveAsExcel方法自動另存時,class定義保存不了;如果手工拷貝粘貼到excel時,class定義就能保存了。
主要還是手工與自動拷貝粘貼問題
處理方案二:
將在<head><style></style></head>中定義的類移動到<table></table>之間即可。類定義樣式的位置問題
以上內容就是本文的全部內容,希望大家喜歡。