【问题标题】:Line break issue when export data from gridview to excelsheet in asp.net将数据从gridview导出到asp.net中的excel表时出现换行问题
【发布时间】:2011-03-29 05:58:35
【问题描述】:

我已经在 .net 应用程序中实现了从 GridView 导出数据到 excelsheet 的功能。

结果出现以下错误格式:

但结果应采用以下格式:

gridview 中的列:

名字,

姓氏,

<asp:TemplateField HeaderText="List of Answers" >
    <headerstyle cssclass="headingtext" />
    <ItemTemplate>
        <asp:Label ID="lblAnswer" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"List") %>'></asp:Label>
    </ItemTemplate>
    <itemstyle cssclass="cells" HorizontalAlign="Left" />
</asp:TemplateField>

来自数据库的第 3 列文本是:

"Q1:No<br/>Chair<br/>Desk<br/>Monitor<br/>Keyboard<br/><br/>"

根据结果集,excel表格中生成的行应该是单一的。 预期结果应如第二张图片所示。 我们如何解决这个问题?

【问题讨论】:

    标签: asp.net gridview export-to-excel


    【解决方案1】:

    我得到了解决方案。我必须在样式表中添加以下几行。

    br {mso-data-placement:same-cell;}
    

    【讨论】:

    • 我无法使用 css 样式表使其工作,但将样式内联工作 &lt;br style="mso-data-placement:same-cell;" /&gt;
    • 使用内联样式。不适用于样式表解决方案。谁能解释一下为什么?
    【解决方案2】:

    您数据库中的数据最后有两个 HTML 换行符 (&lt;br /&gt;),因此 Excel 工作表中的数据也有它们。事实上,这是正确的行为。如果您不希望 Excel 工作表中出现换行符,请不要在 GridView 中呈现它们,即在绑定数据之前删除数据末尾的 &lt;br /&gt;

    【讨论】:

    • 但我想要根据发布的图像获得结果。是否有任何技巧可以根据需要显示数据。
    • @Sukhi:是的。在显示数据之前删除&lt;br /&gt;。如果您显示您的数据绑定代码,我可能会提出一些修改建议。
    • 如果我删除“
      ”,它将在 Excel 工作表中显示为我不想要的“Q1:NoChairDeskMonitorKeyboard”。
    • @Heinzi,但是如果他删除了
      ,线条会如何中断?似乎提问者不希望“答案列表”的所有值都在同一行
    • @Suki, @Lea:我的意思是“删除 尾随 &lt;br /&gt;”。抱歉,我认为这从上下文中很清楚。
    【解决方案3】:

    看下面的链接

    http://aspalliance.com/518

    br {mso-data-placement:same-cell;} 
    

    是关键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      相关资源
      最近更新 更多