C# 将DataTable的数据导出


        /// 
        /// 导出DataTable
        /// 
        /// 待导出的数据
        /// 导出的完整路径
        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("没有数据");
            }
        }

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

建议使用以下方法调用:

	    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)
            {
                //空数据异常&其他异常
            }




你可能感兴趣的:(底层类库,c#,DataTable,导出)