NewLine用于数据表的CSV导出

时间:2015-03-04 02:22:04

标签: c# csv datatable export .net-4.5

我在.Net网络应用中有一个数据表,我的客户可以选择导出到CSV。一些客户抱怨CSV无法重新导入我们的应用程序。在进一步审查之后,我注意到在一些大型导出中,文件中有换行符。有什么方法可以防止这种情况吗?

这是我的导出方法

DataTable dt = (DataTable)Session["Findings"];
            string fileName = "test.csv";
            string delimiter = ",";
            //prepare the output stream
            Response.Clear();
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition",
                string.Format("attachment; filename={0}", fileName));

            //write the csv column headers
            for (int i = 0; i < dt.Columns.Count; i++)
            {
                Response.Write(dt.Columns[i].ColumnName);
                Response.Write((i < dt.Columns.Count - 1) ? delimiter : Environment.NewLine);

            }

            //write the data
            foreach (DataRow row in dt.Rows)
            {
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    Response.Write("\"" + row[i].ToString() + "\"");
                    Response.Write((i < dt.Columns.Count - 1) ? delimiter : Environment.NewLine);
                }
            }

            Response.End();

任何帮助将不胜感激。

感谢

0 个答案:

没有答案