みなさん、こんにちは。値をパラメーターとして受け取り、4桁ごとに空白を追加するようにフォーマットする関数を作成しようとしています。
たとえば、番号1111222233334444は、「1111 222233334444」として返されます。
Imが.netから.xlsにエクスポートすると、Excelが自動的に大きな数値を検出し、それを指数関数に変換するため、これを行う必要があります。
以前と同じ番号を使用して、Excelはそれをこの.. 1.111E+15に変換します。
そして、この値を使用すると、プログラムは空白のために値を文字列値として認識し、もちろん、私が考えていないより簡単な方法がない限り、指数関数に変換されません。私はまだ初心者です。
事前にThnks。良い一日。
編集:これは私が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();