js匯出excel增加表頭、mso-number-format定義資料格式

來源:互聯網
上載者:User

標籤:載入   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定義資料格式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.