用字符串方式导出到excel的数据类型被识别成科学计数
public void ExportToExcel(string FilterName, DataTable dt,string[] headtxt)
{
HttpResponse resp;
resp = System.Web.HttpContext.Current.Response;
//resp.ContentType=
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=oursjia."+FilterName);
resp.AppendHeader("Content-Type", "application/ms-excel");
string colHeaders = "",
ls_item = "";
DataRow[] myRow=dt.Select();
int i=0;
int cl=dt.Columns.Count;
for(i=0;i<headtxt.Length;i++)
{
if (i == (headtxt.Length-1))
{
colHeaders += headtxt[i] + "\n";
}
else
{
if (FilterName == "csv")
{
colHeaders += headtxt[i] + ",";
}
else
{
colHeaders += headtxt[i] + "\t";
}
}
}
resp.Write(colHeaders);
foreach(DataRow row in myRow)
{
for(i=0;i<cl;i++)
{
if(i== (cl-1))
{
ls_item += row[i].ToString() + "\n";
}
else
{
if (FilterName == "csv")
{
ls_item += row[i].ToString() + ",";
}
else
{
ls_item += "\'"+row[i].ToString() + "\t";
}
}
}
resp.Write(ls_item);
ls_item="";
}
resp.End();
}
这是个导出的方法,导出的文件是excel的。
导出来变成:
1.0302E+19
1.0302E+19
1.0302E+19
1.0302E+19
1.0302E+19
而实际数据是:
10302001900009504391
10302001900009309641
10302001900009309664
10302001900009309598
10302001900009309753
这个字符串导出,能不能把导出全部成字符串显示呢,我这里是asp.net(C#)的,希望大家指教下。