PDA

View Full Version : اسکپرت در اکسل



آرام جان گل
پنج شنبه 18 شهریور 1389, 10:58 صبح
سلام
من یک گرید را با کد زیر به اکسل اکسپورت می کنم ولی به این دلیل که بعضی از داده های عددی من از ده رقم بزرگتر هستند آنها را به صورت خاصی مثل ممیز شناور نمایش می دهد.

مثلاً عدد 51401081001 را به صورت 5.14011E+11 نمایش می دهد.
آیا راهی هست که من با کد سی شارپ قبل از اکسپرت کردن ، این فیلد مورد نظر را Format کنم . چون اگر در اکسل این فیلد را به حالت Number desial place 0 در بیاورم مشکل حل میشه

در حقیقت کسی که سر از اکسل در بیاره این مشکل را حل می کنه ولی می خوام وقتی اکسپورت می کنم بدون مشکل باشه
آیا راهی وجود داره؟

کد من :



Response.Clear();
Response.Charset = "";
Response.ContentType = "application/vnd.xls;";
Response.AddHeader("content-disposition", "attachment;filename=ExcelFile.xls");
StringBuilder sb = new StringBuilder();
string s = "";
string[] Header_List = { "", " ", " ", " ", " ", "", " ", " ", "" };
sb.Append("<html><head></head><body><table dir=rtl border=1><tr>");
for (int i = 0; i < Header_List.Length; i++)
sb.Append("<td>" + Header_List[i] + "</td>");
sb.Append("</tr>");
for (int j = 0; j < ds.Tables[2].Rows.Count; j++)
{
sb.Append("<tr>");
for (int i = 0; i < ds.Tables[2].Columns.Count; i++)
{
s = ds.Tables[2].Rows[j][i].ToString();
sb.Append("<td>" + s + "</td>");
}
sb.Append("</tr>");
}
sb.Append("</table></body></html>");
Response.ContentEncoding = System.Text.Encoding.Default;
Response.Write(sb.ToString().Replace("", "&#1740"));
Response.End();

ASPX
پنج شنبه 18 شهریور 1389, 11:15 صبح
سوال جالب پرسيدي ! البته كه هست! نكته اش در استايل mso-number-format:"\@" است


<td style='mso-number-format:"\@"' >
123456749896525255
</td>


اين كد صد در صد تست شده است.