C# 将DataTable的数据导出
2015-06-26 11:32
507 查看
/// <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) { //空数据异常&其他异常 }
相关文章推荐
- C# 中的委托和事件
- C#高级编程二十六----泛型
- C#读取Xml文件
- c#中转出Excel并控制格式
- cxf调用c#的webservice
- visual studio c#里的引用 首先在代码里想用using 来应用命名空间,必须首先给工程添加该程序集引用
- 详解C#中的反射
- C#获取网页内容,解决大部分乱码问题
- C#创建目录,文件写入消息不覆 4000 盖原有消息
- C#获取数组中最大最小值的方法
- C#窗口实现最小化到系统托盘
- c# 下实现ping 命令操作
- C#通过模板创建Word文件
- c#删除文件夹(目录)
- [转]C#开发系统服务时用的定时器组件
- C#中文件名或文件路径非法字符判断方法
- C# DataTable中查询指定字段名称的数据
- c#有关udp可靠传输(包传输数据包) 升级
- c# label的内容显示不全
- 基于c# 类、接口、结构的联系与区别详解