C#将DataTable数据导出CSV文件通用方法!

//导出按钮调用导出方法
    protected void btnCSV_Click(object sender, EventArgs e)
    {
        DataTable dt = ExportData();//获取datatable数据源
        string title = "RPT_RC_BILLING_2020_LEOPARD_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".CSV";//导出的文件名
        EstablishCSV(dt,title);//将dt数据源和文件名title代入导出方法中
    }

 1 /// 将DataTable中数据写入到CSV文件中
2 /// </summary>
3 /// <param name="dt">提供保存数据的DataTable</param>
4 /// <param name="fileName">CSV的文件名</param>
5 private void EstablishCSV(DataTable dt,string fileName)
6 {
7 HttpContext.Current.Response.Clear();
8 System.IO.StringWriter sw = new System.IO.StringWriter();
9 int iColCount = dt.Columns.Count;
10 for (int i = 0; i < iColCount; i++)//表头
11 {
12 sw.Write("\"" + dt.Columns[i] + "\"");
13 if (i < iColCount - 1)
14 {
15 sw.Write(",");
16 }
17 }
18 sw.Write(sw.NewLine);
19 foreach (DataRow dr in dt.Rows)//行内数据
20 {
21 for (int i = 0; i < iColCount; i++)
22 {
23 if (!Convert.IsDBNull(dr[i]))
24 sw.Write("\"" + dr[i].ToString() + "\"");
25 else
26 sw.Write("\"\"");
27 if (i < iColCount - 1)
28 {
29 sw.Write(",");
30 }
31 }
32 sw.Write(sw.NewLine);
33 }
34 sw.Close();
35 HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename="+ fileName);
36 HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
37 HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
38 HttpContext.Current.Response.Write(sw);
39 HttpContext.Current.Response.End();
40 }

导出为CVS文件方法

C#将DataTable数据导出CSV文件的更多相关文章

  1. DataTable数据导出CSV文件

    public static void SaveAsExcel(DataTable dt1) { //System.Windows.Forms.SaveFileDialog sfd = new Syst ...

  2. 数据库数据导出CSV文件,浏览器下载

    直接上代码: def download(request): # 从数据库查询数据 data_list = Info.objects.all() # 定义返回对象 response = HttpResp ...

  3. 彻底理解使用JavaScript 将Json数据导出CSV文件

    前言 将数据报表导出,是web数据报告展示常用的附带功能.通常这种功能都是用后端开发人员编写的.今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件. 原理 首先在本地用Excel ...

  4. l如何把SQLServer表数据导出CSV文件,并带列名

    http://jingyan.baidu.com/article/4b07be3c466b5d48b280f37f.html 微信公众号:

  5. 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题

    2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...

  6. PHP导出数据到CSV文件函数 csv_export()

    后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...

  7. PHP导出数据到CSV文件函数/方法

    如果不清楚什么是CSV文件,可看如下文章介绍  CSV格式的是什么文件?CSV是什么的缩写? /** * 导出数据到CSV文件 * @param array $data 数据 * @param arr ...

  8. PHP导出数据到CSV文件

    后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...

  9. mysql导出数据到csv文件

    在日常工作中经常会遇见导出表中的数据到csv文件的操作,这里就简单总结一下导出的操作. 下面对csv文件的描述是摘录: 据RFC4180文档设置的,该文档全称Common Format and MIM ...

随机推荐

  1. hdu1815 2sat + 二分 + 建图

    题意:       给你两个总部,s1 ,s2,和n个点,任意两点之间都是通过这个总部相连的,其中有一些点不能连在同一个总部上,有一些点可以连接在同一个总部上,总部和总部之间可以直接连接,就是假如a, ...

  2. adb、adb shell am、adb shell pm命令的详细使用说明

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/64183248 1.在命令行终端执行下面的命令: adb >adb.txt 2 ...

  3. c/c++ 指针函数 和 函数指针

    指针函数:返回指针类型的函数,定义方法如下: 类型标识符 *函数名(参数列表) 函数指针:指向函数入口地址的指针,定义方法如下: 类型标识符 (*指针名称)(形参列表) 下面我们通过一段代码加深我们的 ...

  4. 三、postman持久化及批量运行

    一.设置环境变量 环境变量的引用为{{变量名}},运行脚本之前切记要在右上角选择对应脚本设置的环境变量后点击保存 二.设置全局变量 三.脚本导入导出及分享 1.导入脚本 2.导出脚本 3.分享脚本 四 ...

  5. 使用TK框架中selectByPrimaryKey

    使用TK框架中selectByPrimaryKey(Object key),需要注意要在entity里注明哪个字段是主键,否则会不知道哪个是PrimaryKey会随机一个字段就报错. 如下: 引入 i ...

  6. [Django框架之视图层]

    [Django框架之视图层] 视图层 Django视图层, 视图就是Django项目下的views.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相 ...

  7. git合并代码到主分支

    git合并login分支到master分支 1.首先查看源码状态 git status 2.添加到暂存区 git add . git status //添加到暂存区后再次查看源码状态 3.提交代码到本 ...

  8. [c++] 二级指针的原理

    示例 将值(实参)传递给值(形参),无法更改val 1 #include <iostream> 2 using namespace std; 3 4 void change(int mem ...

  9. [Qt] 打包

    步骤: 1.release项目,生成exe文件 2.在命令行中使用windeployqt,将相关文件复制到exe文件所在文件夹 3.用Enigma Virtual Box打包所有文件 参考 https ...

  10. [Python] Python工匠(Github)

    1.善用变量来改变代码质量 变量命名 变量要有描述性,不能太宽泛 BAD:day, host, cards, temp GOOD:day_of_week, hosts_to_reboot, expir ...