在專案做完之餘,測試最近做的一個論壇,其中有個導出功能,發現點擊網頁導出按鈕之後,將頁面的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定義就能保存了。
主要還是手作自動拷貝貼上問題
處理方案二:
將在
中定義的類別移到以上內容就是本文的全部內容,希望大家喜歡。