C#将DataTable数据导出CSV文件
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文件的更多相关文章
- DataTable数据导出CSV文件
public static void SaveAsExcel(DataTable dt1) { //System.Windows.Forms.SaveFileDialog sfd = new Syst ...
- 数据库数据导出CSV文件,浏览器下载
直接上代码: def download(request): # 从数据库查询数据 data_list = Info.objects.all() # 定义返回对象 response = HttpResp ...
- 彻底理解使用JavaScript 将Json数据导出CSV文件
前言 将数据报表导出,是web数据报告展示常用的附带功能.通常这种功能都是用后端开发人员编写的.今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件. 原理 首先在本地用Excel ...
- l如何把SQLServer表数据导出CSV文件,并带列名
http://jingyan.baidu.com/article/4b07be3c466b5d48b280f37f.html 微信公众号:
- 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题
2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...
- PHP导出数据到CSV文件函数 csv_export()
后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...
- PHP导出数据到CSV文件函数/方法
如果不清楚什么是CSV文件,可看如下文章介绍 CSV格式的是什么文件?CSV是什么的缩写? /** * 导出数据到CSV文件 * @param array $data 数据 * @param arr ...
- PHP导出数据到CSV文件
后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...
- mysql导出数据到csv文件
在日常工作中经常会遇见导出表中的数据到csv文件的操作,这里就简单总结一下导出的操作. 下面对csv文件的描述是摘录: 据RFC4180文档设置的,该文档全称Common Format and MIM ...
随机推荐
- AppScan扫描器的用法
目录 AppScan 软件功能 建立一次基础的扫描 AppScan AppScan是一款非常好用且功能强大的Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,AppS ...
- node-OS&Domain&Net&Path
OS--------------------------------------------- Node.js os 模块提供了一些基本的系统操作函数. var os = require(" ...
- Linux-鸟菜-2-主机规划与磁盘分区
Linux-鸟菜-2-主机规划与磁盘分区 开机流程: 1. BIOS:開機主動執行的韌體,會認識第一個可開機的裝置: 2. MBR:第一個可開機裝置的第一個磁區內的主要開機記錄區塊,內含開機管理程式: ...
- 【spring源码系列】之【BeanDefinition】
1. BeanDefinition简介 前面讲的解析bean标签,本质就是将bean的信息封装成BeanDefinition对象的过程,最后放入容器beanDefinitionMap中.spring ...
- LeetCode---42. 接雨水 (hard)
题目:42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 示例: 输入:height = [0,1,0,2,1,0,1,3,2,1,2, ...
- liunx服务器安装jdk
1.官网下载需要版本的jdk,官网地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...
- sql常识-RIGHT JOIN
SQL RIGHT JOIN 关键字 RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行. RIGHT JOIN ...
- OO课程仓库部署使用GitLab CI
转自我的个人博客http://mistariano.com/blog/9 1. 服务器上安装 gitlab-runner 参考博客https://blog.csdn.net/qq_40699305/a ...
- 人人都爱Kubernetes,Docker难道就不香了吗?
开篇 提起Docker,有很多人第一印象会认为它就是一个虚拟化容器,所以大家特别容易陷入到一种误区,就是觉得Docker只是在Linux操作系统之上又增加了一层,就跟OS上跑了一个VMWare一样.D ...
- 风变编程(Python自学笔记)第11关-杀死那只“机”生虫
1.Debug:为程序排除错误. 2.SyntaxError:语法错误. 3.append()函数是列表的一个方法,要用句点.调用,且append()每次只能接受一个参数. 4.解决思路不清的两个工具 ...