2015-04-18 42 views
2

在下面的代碼中,我導出excel從網格導出前導零時刪除。我想保持領先的zero.Please幫我解決問題。從網格導出excel時導致零問題

HtmlForm form = new HtmlForm(); 
Response.Clear(); 
Response.Buffer = true; 
Response.Charset = ""; 
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", "Supply/DemandReport.xls")); 
Response.ContentType = "application/ms-excel"; 

StringWriter sw = new StringWriter(); 
HtmlTextWriter hw = new HtmlTextWriter(sw); 
gdSupplyorDemand.AllowPaging = false; 
gdSupplyorDemand.HeaderStyle.ForeColor = System.Drawing.Color.Black; 

form.Attributes["runat"] = "server"; 
form.Controls.Add(gdSupplyorDemand); 
this.Controls.Add(form); 
form.RenderControl(hw); 

string style = @"<style> .textmode { mso-number-form at:\@;}</style>"; 
Response.Write(style); 
Response.Output.Write(sw.ToString()); 
Response.Flush(); 
Response.End(); 

回答

0

在Excel單元格數條始終領先zeroes.One關鍵是要使其字符串,而不是number.you可以利用"\t"

對於如: -

 int Value=0
    string newValue="\t"+value; 

這應該工作...

+0

它應該放在這裏? Response.Output.Write( 「\ t」 的+ sw.ToString()); – Moses

+0

我試過但沒有工作 – Moses

0

像@kyle說,添加\噸。但首先聲明一個字符串並將字符串的值設置爲sw.ToString()。這將解決你的問題。祝你好運。