C# 将DataTable的数据导出


        /// <summary>
        /// 导出DataTable
        /// </summary>
        /// <param name="dataTable">待导出的数据</param>
        /// <param name="filePath">导出的完整路径</param>
        public static void DataTableExport(DataTable dataTable, string filePath)
        {
            if (dataTable.Rows.Count > 0)
            {
                //表头
                string title = string.Empty;
                //用于创建文件
                FileStream fileStream = new FileStream(filePath, FileMode.OpenOrCreate);
                //用于写入内容
                StreamWriter streamWriter = new StreamWriter(new BufferedStream(fileStream), System.Text.Encoding.Default);

                for (int i = 0; i < dataTable.Columns.Count; i++)
                {
                    title += dataTable.Columns[i].ColumnName + "\t"; //栏位:自动跳到下一单元格
                }
                title = title.Substring(0, title.Length - 1) + "\n";//取完表头,换行
                streamWriter.Write(title);//表头写入

                foreach (DataRow row in dataTable.Rows)
                {
                    string line = string.Empty;
                    for (int i = 0; i < dataTable.Columns.Count; i++)
                    {
                        line += row[i].ToString().Trim() + "\t"; //内容:自动跳到下一单元格
                    }
                    line = line.Substring(0, line.Length - 1) + "\n";//取完一行内容,换行
                    streamWriter.Write(line);//内容写入
                }
                streamWriter.Close();
                fileStream.Close();
            }
            else
            {
                throw new Exception("没有数据");
            }
        }

在完整路径中可以对文件进行命名(包括文件后缀)

建议使用以下方法调用:

<span style="white-space:pre">	</span>    DateTime xlsTime = DateTime.Now;
            //导出的目录
            string directory = Server.MapPath(@"/tempxls/" + xlsTime.ToString("yyyyMMdd") + "/");
            //是否存在文件夹,不存在则创建
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }
            //导出的完整路径
            string filePath = directory + xlsTime.ToString("HHmmss") + ".xls";

            try
            {
                DataTableExport(DATATABLE, filePath);
            }
            catch (Exception ex)
            {
                //空数据异常&其他异常
            }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值