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 ...
随机推荐
- 如何在win7上安装ant-design
1.首先要安装务必确认 Node.js 已经升级到 v4.x 或以上. 2.打开cmd,输入"npm install antd-init -g",安装antd(可以自己先指定安装目 ...
- Hibernate学习笔记(二)
2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...
- RealSense开发-Session和SenseManager的几种创建方法
从Intel RealSense 的SDK文档对其架构(如图1所示)的始描述可知,Session是SDK应用的主控模块,必须在所有模块操作之前创建,并且在所有模块注销后最后注销.SenseManage ...
- (原创)Linux跟Window共享文件的两个简单方法
第一中种方法: Linux中启动shell,输入如下命令: mount -t cifs -o username="my-pc-name",password="my-pas ...
- servlet学习笔记_3
一.路径问题如果是在浏览器端请求服务器的数据(超链接,js的src),那么加/代表在Tomcat的webapp目录,不加/的话通常不考虑,实际上不加/在浏览器端也是当前项目目录(但是开发中通常必须要写 ...
- 标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...
- SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子
很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...
- javascript event(事件对象)详解
javascript event(事件对象)详解 1. 事件对象 1. 事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什 ...
- centos6.5安装node.js
一次偶然的机会知道有nodejs这个东西,确实对它还是很感兴趣的.刚开始只知道它能让javascript写后台,然后前后台都由javascript来写,确实觉得真的挺爽,毕竟人总是喜欢在自己熟悉领域做 ...
- swiper横向轮播(兼容IE8)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...