转:Excel导出问题(导出时不去掉前面的0)
最簡單的方法是:在數(shù)字前面加'符號。即代碼里添加: "'"
?
?
以下均是網(wǎng)上搜集到的其他解答:
一.代碼如下:
?style="mso-number-format:'/@';"
現(xiàn)在說明一下;一般在我在做ASP導(dǎo)出EXCEL頁面時在開頭加上如下代碼:
?<% response.ContentType ="application/vnd.ms-excel" Response.AddHeader "content-Disposition","filename=導(dǎo)出后的文件名稱.xls;attachment;" Response.Flush %>
這部份在網(wǎng)上都有然后是我的代碼了: style="mso-number-format:'/@';"
這段代碼是把所在<td>或<tr>內(nèi)的數(shù)據(jù)格式化為文本,我不知道HTML是否支持這個STYLE,但EXCEL是一定支持的,要不然我就不可能解決問題了,希望大家都能解決一直以來無法解決的問題吧可以寫段代碼做一下測試
<% response.ContentType ="application/vnd.ms-excel" Response.AddHeader "content-Disposition","filename=導(dǎo)出后的文件名稱.xls;attachment;" Response.Flush %> <table>?? <tr>???? <td style="mso-number-format:'/@';">0001</tr>???? <td>0002</td>?? </tr> <table>
出來的數(shù)據(jù)將會是:
0001 2
?
?
二.在簡易的Jsp導(dǎo)出html版本的execl中所有的文件導(dǎo)出默認都是文本文件,這給業(yè)務(wù)人員帶來了一些不必要的操作,建議使用下面的方法,可以調(diào)整導(dǎo)出的格式類型.
[c-sharp] view plaincopy?
三.在asp.net中導(dǎo)出excel 中比較通行的做法是???response.contenttype = "application/vnd.ms-excel";
然后直接向里面扔 html 的table
但是有中文的時候 老出現(xiàn)亂碼,有很多解決方案,但都不能通盤解決,我在藍色小鋪上發(fā)現(xiàn)這篇文章方法不錯,借鑒
就是在 輸出html兩頭輸出
??????? response.write("<html><head><meta http-equiv=content-type content=/"text/html; charset=utf-8/">");
?
??????? response.write("</body></html>");
這樣就解決了,究其原因,大概是 excel讀到 utf-8自己會改變字符集讀取方式吧,其實文件本身改變?yōu)閡nicode字符集就可以讀取了,但不知道response怎么輸出unicode
另外 藍色小鋪上的同學(xué)問到 怎么 0001234輸出 就變成了 1234 了,其實這個是excel搞鬼,你看輸出的源文件就明白了,解決方案是老夫的獨門特技,可惜藍色小鋪注冊不了,臺灣同胞還是不把咱當同胞阿,注冊隨機碼的圖片總是個叉叉
解決方法如下
碰到 0開頭的字符串輸出時,td 為
string.format("<td style='mso-number-format:general;mso-number-format:/"{1}/"'>{0}</td>", dt.rows[j][i], @"/@");
轉(zhuǎn)載于:https://www.cnblogs.com/pentiunz/archive/2012/02/07/2341689.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的转:Excel导出问题(导出时不去掉前面的0)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Based on configure
- 下一篇: VMware10上新建虚拟机步骤图解