如何显示数据在Repeater中有两个以上的空格?

时间:2012-09-12 07:22:16

标签: c# asp.net excel repeater

我从数据库中获取数据到我的数据集是enter image description here,然后我绑定到我的转发器控件,但它显示像“安东尼王子G”。它消除了空间 并且我将这些数据导出到excel中,在excel中也删除了空格 我在数据库中需要显示数据。有任何想法来解决这个问题。

在堆栈溢出问题框中还删除了两个单词之间的更多空格

我的Excel编码:

    DataTable dt = new DataTable("Report");
    DataRow dr;
    dt.Columns.Add("Name");   

    for (int i = 0; i < dt_Status.Rows.Count; i++)
    {
        dr = dt.NewRow();

        dr["Name"] ="<pre>"+ dt_Status.Rows[i]["NAME"].ToString() +"</pre>";
        dt.Rows.Add(dr);
    }

    HttpResponse response = HttpContext.Current.Response;

    // first let's clean up the response.object
    response.Clear();
    response.Charset = "";

    // set the response mime type for excel
    response.ContentType = "application/vnd.ms-excel";
    response.AddHeader("Content-Disposition", "attachment;filename=Report.xls");

    // create a string writer
    using (StringWriter sw = new StringWriter())
    {
        using (HtmlTextWriter htw = new HtmlTextWriter(sw))
        {
            // instantiate a datagrid
            DataGrid dg = new DataGrid();
            dg.DataSource = dt;
            dg.DataBind();
            dg.RenderControl(htw);
            response.Write(sw.ToString());
            response.End();
        }
    }

更新我的代码后,我得到了excel输出:

enter image description here

我需要在一个单元格中显示。

2 个答案:

答案 0 :(得分:3)

html无法识别多个空格。

您将数据放在<pre></pre>代码之间,以表示是按格式化的。

或者您可以用&nbsp;替换空格。这是non breaking space character

空格用于格式化你的html代码,因此如果你有多个空格,它就会被包装成一个。

答案 1 :(得分:0)

一个简单易用的东西:

string value = String.Join(" ", "Prince Antony G".Split(new char[] {' '}, 
StringSplitOptions.RemoveEmptyEntries));