【问题标题】:DataGrid to CSV file数据网格到 CSV 文件
【发布时间】:2011-10-28 18:30:11
【问题描述】:

我将 DataTable 绑定到 DataGrid,一切正常。 我的下一步是将 DataGrid 数据导出为 CSV 文件,以逗号分隔。

使用 ASP.Net 3.5 最好/最简单的方法是什么?

【问题讨论】:

    标签: c# asp.net .net-3.5 datagrid csv


    【解决方案1】:

    我使用此代码段将 DataGrid 导出为 CSV。也许有帮助:

    public void OnExportGridToCSV(object sender, System.EventArgs e)
    {
        // Create the CSV file to which grid data will be exported.
        StreamWriter sw = new StreamWriter(Server.MapPath("~/GridData.csv"), false);
        // First we will write the headers.
        DataTable dt = ((DataSet)grid1.DataSource).Tables[0];
    
        int iColCount = dt.Columns.Count;
        for (int i = 0; i < iColCount; i++)
        {
            sw.Write(dt.Columns[i]);
            if (i < iColCount - 1)
            {
                sw.Write(",");
            }
        }
        sw.Write(sw.NewLine);
        // Now write all the rows.
        foreach (DataRow dr in dt.Rows)
        {
            for (int i = 0; i < iColCount; i++)
            {
                if (!Convert.IsDBNull(dr[i]))
                {
                    sw.Write(dr[i].ToString());
                }
                if (i < iColCount - 1)
                {
                    sw.Write(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator);
                }
            }
            sw.Write(sw.NewLine);
        }
        sw.Close();
    }
    

    【讨论】:

    • 哦,谢谢。使用 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator 获得正确的 ListSeparator。我们在欧洲使用分号:)
    • 如果字段包含 ,(;) 或 " 您的 CSV 文件格式将不正确。
    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 2020-03-03
    • 2018-03-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多