C#操作.csv文件Demo
1.使用OleDB操作.csv文件,比较费时
public static DataTable GetDataTableFromCsv(string path,bool isFirstRowHeader)
{
string header = isFirstRowHeader ? "Yes" : "No"; string pathOnly = Path.GetDirectoryName(path);//得到文件夹路径,相当于得到要操作的“数据库”
string fileName = Path.GetFileName(path);//得到文件名,相当于得到要操作的数据库中的数据表 string sql = @"select * from ["+fileName+"]";//sql语句
//操作数据库的流程
using (OleDbConnection con=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +";Extended Properties=\"Text;HDR=" + header + "\""))
{
using (OleDbCommand cmd=new OleDbCommand(sql,con))
{
using (OleDbDataAdapter adapter=new OleDbDataAdapter(cmd))
{
DataTable dt=new DataTable();
dt.Locale=CultureInfo.CurrentCulture;
adapter.Fill(dt);
return dt;
}
}
}
}
2. 使用文件流操作.csv文件,费时短(txt文件也可以)
public static DataTable ConvertCsvToDataTable(string fileName)
{
DataTable dt=new DataTable();
using (StreamReader sr=new StreamReader(fileName,Encoding.UTF8))
{
string[] headers = sr.ReadLine().Split(',');//处理头部标题
foreach (string header in headers)
{
dt.Columns.Add(header);
}
while (!sr.EndOfStream)
{
string[] rows = sr.ReadLine().Split(',');
DataRow dr = dt.NewRow();
for (int i = ; i < headers.Length; i++)
{
dr[i] = rows[i];
}
dt.Rows.Add(dr);
}
}
return dt;
}
3.winform中应用
private void btnGet_Click(object sender, EventArgs e)
{
//打开文件对话框
OpenFileDialog ofd=new OpenFileDialog() {Filter = "Csv文件|*.csv|Excel文件|*.xls|所有文件|*.*", InitialDirectory = @"C:\Users\LWP1398\Desktop",RestoreDirectory = true};
if (ofd.ShowDialog()==DialogResult.OK)
{
string fileName = ofd.FileName;
//dgv.DataSource = GetDataTableFromCsv(fileName, true);
dgv.DataSource = ConvertCsvToDataTable(fileName);
}
MessageBox.Show("ok");
}


C#操作.csv文件Demo的更多相关文章
- java 操作 csv文件
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...
- 用javacsv API 来操作csv文件
javacsv是国外开发的一个比较好的操作csv文件的API,这里简单讲一下用法. 先下载javacsv2.0.zip的文件,解压后,把javacsv.jar 添加到项目中. 本站下载地址: htt ...
- java操作csv文件之javacsv.jar应用
csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件. 下载地址:https://pan.baidu.com/s/1i46 ...
- python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- Java操作csv文件
以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波. 主要使用的javaCSV.jar javaCSV API:http://javacsv.sourceforge. ...
- springbatch操作CSV文件
一.需求分析 使用Spring Batch对CSV文件进行读写操作: 读取一个含有四个字段的CSV文件(id, name, age, score), 对文件做简单的处理, 然后输出到还有一个csv文件 ...
- Python操作csv文件
1.什么是csv文件 The so-called CSV (Comma Separated Values) format is the most common import and export fo ...
- CsvReader和CsvWriter操作csv文件
使用方法: 提供把实例数据输出到磁盘csv文件的功能 提供读取csv文件,并封装成指定实例的功能 小工具自己依赖了slf4j+logbak,以及fastJson,如果与系统冲突,可以在pom文件中去除 ...
- 数学建模之Python操作csv文件
1.用Python通过csv文件里面的某一列,形成键值,然后统计键在其他列出现的次数. import pandas as pd import numpy as np import csv import ...
随机推荐
- How to modify Code Comments[AX2012]
// This is a framework class. Customizing this class may cause problems with future upgrades to the ...
- Django模版进阶
# -*- coding: utf-8 -*-from django.shortcuts import renderdef home(request): string = "测试" ...
- c# HttpWebRequest与HttpWebResponse(转)
如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和Post方式进行详细的说明,在请求时的参数怎么发送,怎么带Cookie,怎么设置证 ...
- java基础之java基本数据类型
1.Java数据类型基本概念: 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据 ...
- jQuery对象和DOM对象的互相转换【 转】
jQuery对象转换为dom对象 只有jQuery对象才能调用jQuery类库的各种函数,同样有些dom对象的属性和方法在jQuery上也是无法调用的,不过基本上jQuery类库提供的函数包含了所有的 ...
- [JAVA][RCP]Clean project之后报错:java.lang.RuntimeException: No application id has been found.
Clean了一下Project,然后就报了如下错误 !ENTRY com.release.nattable.well_analysis 2 0 2015-11-20 17:04:44.609 !MES ...
- phonegap ios插件开发及无限后台运行解决
1.首先开发插件:因为我的项目前需要所以要做(根据情况) 在项目的plugins文件中新建obj c文件.如 Demo,此时会产生出Demo.h和Demo.m两个文件. .h文件主要就是定义一些方法, ...
- 【转】java获取当前路径的几种方法
1.利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//use ...
- WPF解析PPT为图片
偶遇需要解析 PPT为单张图片 其中,对于包含动画的PPT页,分别对动画最后效果进行截取,即每个连续动画截取 (动画N个)N+1(原图)张 http://git.oschina.net/jiailiu ...
- MVC的Ajax的异步请求
MVC的Ajax的异步请求 在这里小写一下MVC的异步请求的一点小总结. 个人认为是有两种的,一种就是跟webform一样的,依旧是使用jQuery的$.get()方法,只是请求地址不同,webfor ...