大家好,我正在尝试创建一个函数,该函数将一个值作为参数,然后将其格式化为每 4 位添加空格。
例如,数字 1111222233334444 应返回为“1111 2222 3333 4444”。
我需要这样做,因为我从 .net 导出到 .xls 并且 excel 会自动检测到一个大数并将其转换为指数数。
使用与以前相同的数字,Excel 将其转换为 .. 1.111E+15。
有了这个值,由于空格,程序会将该值识别为字符串值,并且不会转换为指数,当然,除非有一种我没有想到的更简单的方法来做到这一点。我还是个新手。
提前谢谢。再会。
编辑:这就是我导出到 Excel 的方式。
GridView gv = new GridView();
gv.AllowPaging = false;
gv.AllowSorting = false;
gv.AutoGenerateColumns = false;
ArrayList arColumns = getData(Request.QueryString["report"].ToString());
int i = 0;
if (arHeaders.Count > 0)
{
foreach (string column in arColumns)
{
BoundField bf = new BoundField();
bf.HeaderText = arHeaders[i].ToString();
if (bf.HeaderText.ToLower().Contains("fecha"))
{
bf.DataFormatString = "{0:dd/MM/yyyy}";
bf.HtmlEncode = false;
}
bf.DataField = column;
gv.Columns.Add(bf);
i++;
}
gv.RowDataBound += new GridViewRowEventHandler(gv_RowDataBound);
gv.DataSource = getDataTable();
gv.DataBind();
}
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Reporte" +lblTitle.Text + DateTime.Today.ToShortDateString() + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
ClearControls(gv);
gv.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();