C# datatable 导出 cvs格式

1.将 DataTable数据导出cvs格式

这里返回的是保存后的文件名称。

复制代码
 public string Export2CSV(DataTable data, string filename, bool exportHeader = true, bool change = false)
        {
            string strTime = DateTime.Now.ToString("yyyyMMddHHmmss");//随机时间

            string xnmul = filename+"_"+ strTime;//返回虚拟目录
            
            if (File.Exists(filename))
            {
                File.Delete(filename);
            }

            string savePath = HttpContext.Current.Server.MapPath("~/Files/download/" + filename + "_" + strTime + ".csv");

            File.Create(savePath).Close();

            var buffer = new StringBuilder();
            if (exportHeader)
            {
                for (var i = 0; i < data.Columns.Count; i++)
                {
                    buffer.AppendFormat("{0}", data.Columns[i].ColumnName);
                    if (i < data.Columns.Count - 1)
                        buffer.Append(",");
                }
                buffer.AppendLine();
            }

            for (var i = 0; i < data.Rows.Count; i++)
            {
                for (var j = 0; j < data.Columns.Count; j++)
                {
                    if (change)
                    {
                        buffer.AppendFormat("{0}", data.Rows[i][j].ToString());
                    }
                    else
                    {
                        buffer.AppendFormat("{0}", data.Rows[i][j].ToString());
                    }
                    if (j < data.Columns.Count - 1)
                    {
                        buffer.Append(",");
                    }
                }
                buffer.AppendLine();
            }

            File.WriteAllText(savePath, buffer.ToString(), Encoding.Default);
            return xnmul;
        }

复制代码

2.将保存后的文件名称返回给前台显示,并下载。

  var url = '../Files/download/' + data.url +'.csv';
                        var name = data.url;
                        layer.open({
                            title: '点击下载'
                            , content: '<a href="' + url + '">' + name+'</a>'
                        });  

这里的url 是后台返回的保存后的文件名称。

我这里是下载到 "../Files/download/"文件下。

posted @   创客未来  阅读(358)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示