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. hdu 4309 最大流 + DFS

    题意:      给以三种有向边     (1) 隧道,可以过无数人,也可以藏c个人.     (2) 路,只能过人(流量INF).     (3)古桥,如果不修理可以过1个人,修理可以过无数个人,但 ...

  2. hdu1722 切蛋糕

    题意:CakeTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. LA3635派

    题意:       有F+1个人来分n个圆形派,每个人分到的必须是一个整块的派,形状无所谓,每个人分到的必须一样多,给你每个派的半径,问每个人能分到的最大派的面积是多少. 思路:       虽然不是 ...

  4. 缓冲区溢出之栈溢出利用(手动编写无 payload 的 Exploit)

    0x01 介绍 Exploit 的英文意思就是利用,它在黑客眼里就是漏洞利用.有漏洞不一定就有Exploit(利用),有Exploit就肯定有漏洞.编写缓冲区溢出的Exploit分为3个方面:漏洞溢出 ...

  5. JavaScript 的入门学习案例,保证学会!

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 学习Canvas绘图与动画基础 canvas入门(一)

    一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...

  7. 【JavaScript】Leetcode每日一题-最大整除子集

    [JavaScript]Leetcode每日一题-最大整除子集 [题目描述] 给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对(an ...

  8. 【python】Leetcode每日一题-二叉搜索树节点最小距离

    [python]Leetcode每日一题-二叉搜索树节点最小距离 [题目描述] 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例1: 输入:root = [4 ...

  9. javaScript的成长之路【何为函数,面向对象又是啥!!!】

  10. JS阻止冒泡事件

    <!DOCTYPE html><html><head> <title></title> <style type="text/ ...