DataTable数据导出CSV文件
public static void SaveAsExcel(DataTable dt1)
{
//System.Windows.Forms.SaveFileDialog sfd = new System.Windows.Forms.SaveFileDialog();// = new SaveFileDialog();
//sfd.Filter = "导出文件 (*.csv)|*.csv";
//sfd.FilterIndex = 0;
//sfd.RestoreDirectory = true;
//sfd.Title = "导出文件保存路径";
//sfd.ShowDialog();
string SystemTime;
SystemTime = DateTime.Now.Year.ToString()+DateTime.Now.Month+DateTime.Now.Day+DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second;
string strFilePath = GlobalVar.Path+"DataQuery\\" + SystemTime + ".csv";// sfd.FileName;
StringBuilder strValue = new StringBuilder();
StreamWriter sw = new StreamWriter(new FileStream(strFilePath, FileMode.CreateNew), Encoding.Default); // 输出表头
userControlDataQuery bd = new userControlDataQuery(); //这里的BusiDetail是你执行导出操作所在的BusiDetail.xaml
bd.WriteHeader(sw);
int i, j,k;
ushort count=0;
foreach (DataRow dr in dt1.Rows)
{
strValue.Remove(0, strValue.Length);
for ( i = 0; i <= dt1.Columns.Count - 1; i++)
{
if(i==2)
count = Convert.ToUInt16(dr[i]);
if (i == 4)
{
byte[] bValue = (byte[])dr[i];
ushort[] uValue = new ushort[count];
ushort max, min;
max = 0;
min = 0;
for (j = 0; j < count; j++)
{
uValue[j] = (ushort)(bValue[2 * j + 1] * 256 + bValue[2 * j]);
if (max < uValue[j])
max = uValue[j];
if (min > uValue[j])
min = uValue[j];
}
strValue.Append("最大值="+max+";"+"最小值="+min);
strValue.Append(",");
strValue.Append(Select.Scale);
strValue.Append(",");
continue;
}
strValue.Append(dr[i].ToString());
strValue.Append(",");
if (i == (dt1.Columns.Count - 1))
{
for(k=0;k<4;k++)
{
if (k == 0)
{
strValue.Append(Select.Alarmup);
strValue.Append(",");
}
if (k == 1)
{
strValue.Append(Select.Alarmdown);
strValue.Append(",");
}
if (k == 2)
{
strValue.Append(Select.Dangerup);
strValue.Append(",");
}
if (k == 3)
{
strValue.Append(Select.Dangerdown);
strValue.Append(",");
}
}
}
}
strValue.Remove(strValue.Length - 1, 1);//移出掉最后一个,字符
sw.WriteLine(strValue);
}
sw.Close();
System.Windows.MessageBox.Show("导出文件成功!","成功", MessageBoxButton.OK,MessageBoxImage.Information);
} // 输出表头
private void WriteHeader(StreamWriter sw)
{
string strHeader = "监测对象,监测时间,采样长度,采样频率,数值,单位,状态,报警上限,报警下限,危险上限,危险下限";
sw.WriteLine(strHeader);
}
DataTable数据导出CSV文件的更多相关文章
- C#将DataTable数据导出CSV文件
C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法 protected void btnCSV_Click(object sender, EventArgs e) ...
- 数据库数据导出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 ...
随机推荐
- java Servlet小结
1:什么是Servlet? ① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 2:Servlet 生命周期 Ser ...
- javascript的sort()方法
定义和用法: sort() 方法用于对数组的元素进行排序. 语法: 1 arrayObject.sort(sortby) 描述: sortby 可选.必须是函数.规定排序顺序 . 返回值: 对 ...
- 关于AJAX 的交互模型、交互流程及代码示范
AJAX = 异步JavaScript + XML. 它是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况 ...
- mysql GROUP_CONCAT+ GROUP BY + substring_index获取分组的前几名
mysql方法来源于:http://www.cnblogs.com/jjcc/p/5896588.html ###在网上看到一篇,非常赞的方法### 比如说要获取班级的前3名,mysql就可以用GRO ...
- 学习git与github的二三事 (一)
前一段时间看到了一个参加机器人比赛的同学写的经验之谈,他提到了在比赛时,希望同学们学习一下git来管理代码,于是我就某度了一下,发现了廖雪峰老师的网站,受益匪浅,持续学习中,拜谢大神,顺便记录一下自己 ...
- DateEdit控件的使用
按照年月日时分秒显示时间 1. 设置Mask.EditMask和DisplayFormat,EditFormat属性,设置为一致:'yyyy-MM-dd HH:mm'; //按照想要的显示格式设置此 ...
- Oracle创建数据库
Oracle创建数据库有三种方式:一.使用DBCA(Database Configuration Assistant 数据库配置助手):二.使用 create database指令:三.在安装数据库软 ...
- Docker镜像文件存储结构
docker相关文件存放在:/var/lib/docker目录下 镜像的存储结构主要分两部分,一是镜像ID之间的关联,一是镜像ID与镜像名称之间的关联,前者的结构体叫Graph,后者叫TagStore ...
- C++备忘录
参考资料: 1. <C++编程思想(第一卷)> 知识点: ● register变量:它是一种局部变量类型.它告诉编译器尽快访问该变量.一般会把变量放在寄存器中,但不保证一定会.不能得到或计 ...
- sql:sum(value)与count(letter),当用户不存在时查询到的值
SELECT sum(value) FROM invoice where username='yueer' SELECT count(letters) FROM invoice where usern ...