標籤:載入 bsp src 寫法 表格 img 還需要 技術分享 方法
問題1:增加表頭
js匯出表格時,只會匯出table裡的展現出的內容,如需增加表頭等內容需要在頁面擷取的字串中拼接表頭的相關字串,詳細介紹如下:
tableString:新增的表頭內容字串;
ctx.table: 新增的表頭+頁面擷取的table字串。
這樣,表頭就加上了,還可以通過style設定它的樣式:
問題2:mso-number-format定義資料格式
在做項目時遇到mso-number-format定義的科學計數法轉化格式與金額定義的向靠右對齊樣式有衝突。
之前有寫過篇部落格專門記述mso-number-format定義科學計數法轉化格式。當使用這種方法匯出檔案時,有時會遇到一個問題,就是匯出的Excel經常會把我們的資料自動識別為其他格式,例如只有純數位欄位在匯出到 Excel後會被自動識別為數字格式,而一旦數字超過11位,Excel便會將其以科學計數法的形式來顯示,比如社會安全號碼碼,帶區號的電話號碼等。
mso-number-format的屬性設定書寫如下:
<td style=‘mso-number-format:\"\@\";‘ class=‘tdRight‘>
class=‘tdRight‘ 是設定靠右對齊樣式,這樣就有衝突,class定義的樣式不起作用。要想避免衝突,正確的寫法是:
<td style=‘mso-number-format:\"\@\"; text-align:right;‘ class=‘tdRight‘>"
只需要把樣式都寫在style裡即可,是不是簡單的讓人抓狂。
注意:class=‘tdRight‘ 不可以去掉,因為此處的td是通過append到頁面的,頁面的樣式還需要class來定義向靠右對齊。
補充:
當table頁面中有個別不想被列印出來的,只需要將這個元素隱藏起來即可,但有些按鈕、複選框向這樣,即使隱藏也還會顯示:
列印出來是醬紫:
辦法就是將複選框等remove掉,在列印之後頁面再重新載入資料渲染複選框等,可能效能方面存在問題,暫時先這樣解決,以後有更好的方法再更新。
下面把mso-number-format
js匯出excel增加表頭、mso-number-format定義資料格式