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 ...
 
随机推荐
- CAD2008 启动慢 卡住
			
CAD2008打开很慢解决CAD2008打开很慢的方法: 第一个:1.[开始]―[控制面板]. 2.选择[网络和Internet连接]选项,再点[Internet选项]. 3.在Internet属性对 ...
 - Photoshop学习笔记(待续)
			
1. 界面设置 新建 设置 自动选择快捷键:单击时按住cmd 标尺和智能参考线 右侧的四大面板 单位与标尺 保存工作区 其他 每一种颜色模式对应一种媒介 HSB(色相.饱和度.亮度) => 人眼 ...
 - js跨域访问,No 'Access-Control-Allow-Origin' header is present on the requested resource
			
js跨域访问提示错误:XMLHttpRequest cannot load http://...... No 'Access-Control-Allow-Origin' header is prese ...
 - 在Windows系统下用命令把应用程序添加到系统服务
			
在Windows系统下用命令把应用程序添加到系统服务,使用SC命令. 加入服务格式如下:sc create ServiceName binPath= 程序路径 start= auto(等号后面的空格是 ...
 - com.opensymphony.xwork2.ognl.OgnlValueStack] - target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@6f205e]
			
情况1,查询结果未转换为与前台交互的实体类DTO 实体类:EmailTypeDto package com.manage.email.dto; public class EmailTypeDto { ...
 - 3.UIViewController详解
			
一. UIViewController,视图控制器,它是UIKit中非常重要的组成部分.它由控制器+View两部分组成. 控制器功能: ->实现代码逻辑,决定它自带的View的界面显示. -& ...
 - CPU过高的排查方法
			
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank ...
 - URi和Url格式
			
1.主要的区别 url一定是有scheme. uri不一定有scheme,可以是相对和绝对的.(相对是依赖环境的) 2.uri的结构(3种划分) 1)[scheme:]scheme-specific- ...
 - java的4种代码块
			
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args ...
 - html5拖拽总结
			
拖拽(Drag 和 drop)是 HTML5 标准的组成部分.拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. Internet Explorer 9.Firefox.Opera 12.Chrom ...