繁体   English   中英

如何使用C#创建带有粗体标题行的csv文件

[英]How to create a csv file with bold header row using C#

我想用粗体标头文本创建一个csv文件。以下代码创建一个标头行。但是我想要此标头为粗体样式。

       'Add Response header 

    Response.Clear()
    Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.csv", "check_"))
    Response.Charset = ""
    Response.ContentType = "application/vnd.csv"

    Try
        Dim sb As New StringBuilder()
        'Add Header  dr.GetName(count)     

        For count As Integer = 0 To GridView1.Columns.Count - 1
            If GridView1.Columns(count) IsNot Nothing Then
                sb.Append(GridView1.Columns(count).HeaderText)
            End If
            If count < GridView1.Columns.count - 1 Then
                sb.Append(",")
            End If
        Next
        Response.Write(sb.ToString() + vbLf)
        Response.Flush()

    Catch ex As Exception
        Response.Write(ex.Message)
    End Try
    Response.[End]()

CSV是纯文本,用逗号(,)分隔。

没有附加样式。

正如其他人已经提到的,CSV只是不带格式的文本。

由于我假设您要在excel中使用粗体标题,并且要将ASP.NET GridView导出到CSV文件,因此有两个其他选择:

  1. GridView的HTML(HTML-Table)呈现为带有粗体标头的文件,Excel会正确解释它
  2. 创建一个真实的Excel文件,我可以热烈推荐EPPlus这里是一个示例。

第一种方法的样本:

string attachment = "attachment; filename=Contacts.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End(); 

如果运行上述代码,则将导致HttpException ,如下所示:

类型为“ GridView”的控件“ GridView1”必须置于带有runat = server的表单标记中。”

为避免此错误,请添加以下代码:

public override void VerifyRenderingInServerForm(Control control)
{
    // yes, it's correct that this is empty
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM