没有合适的资源?快使用搜索试试~ 我知道了~
本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下: 一、CSV文件规则 1 开头是不留空,以行为单位。 2 可含或不含列名,含列名则居文件第一行。 3 一行数据不跨行,无空行。 4 以半角逗号(即,)作分隔符,列为空也要表达其存在。 5 列内容如存在半角逗号(即,)则用半角引号(即’,’)将该字段值包含起来。 6 列内容如存在半角引号(即”)则应替换成半角双引号(””)转义,并用半角引号(即””)将该字段值包含起来。 7 文件读写时引号,逗号操作规则互逆。 8 内码格式不限,可为 ASCII、Unicode 或者其他。 9 不支持特殊字符 二、C#读取
资源推荐
资源详情
资源评论

格式:zip 资源大小:792.5KB











格式:pdf 资源大小:52.4KB 页数:4

















C#读取读取csv格式文件的方法格式文件的方法
本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下:
一、CSV文件规则
1 开头是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不跨行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5 列内容如存在半角逗号(即,)则用半角引号(即’,’)将该字段值包含起来。
6 列内容如存在半角引号(即”)则应替换成半角双引号(””)转义,并用半角引号(即””)将该字段值包含起来。
7 文件读写时引号,逗号操作规则互逆。
8 内码格式不限,可为 ASCII、Unicode 或者其他。
9 不支持特殊字符
二、C#读取csv文件的方法
代码如下://读CSV文件类,读取指定的CSV文件,可以导出DataTable
public class CsvStreamReader
{
private ArrayList rowAL; //行链表,CSV文件的每一行就是一个链
private string fileName; //文件名
private Encoding encoding; //编码
public CsvStreamReader()
{
this.rowAL = new ArrayList();
this.fileName = “”;
this.encoding = Encoding.Default;
}
/// <summary>
///
/// </summary>
/// <param name=”fileName”>文件名,包括文件路径</param>
public CsvStreamReader(string fileName)
{
this.rowAL = new ArrayList();
this.fileName = fileName;
this.encoding = Encoding.Default;
LoadCsvFile();
}
/// <summary>
///
/// </summary>
/// <param name=”fileName”>文件名,包括文件路径</param>
/// <param name=”encoding”>文件编码</param>
public CsvStreamReader(string fileName, Encoding encoding)
{
this.rowAL = new ArrayList();
this.fileName = fileName;
this.encoding = encoding;
LoadCsvFile();
}
/// <summary>
/// 文件名,包括文件路径
/// </summary>
public string FileName
{
set
{
this.fileName = value;
LoadCsvFile();
}
}
/// <summary>
/// 文件编码
/// </summary>
public Encoding FileEncoding

{
set
{
this.encoding = value;
}
}
/// <summary>
/// 获取行数
/// </summary>
public int RowCount
{
get
{
return this.rowAL.Count;
}
}
/// <summary>
/// 获取列数
/// </summary>
public int ColCount
{
get
{
int maxCol;
maxCol = 0;
for (int i = 0; i < this.rowAL.Count; i++)
{
ArrayList colAL = (ArrayList)this.rowAL[i];
maxCol = (maxCol > colAL.Count) ? maxCol : colAL.Count;
}
return maxCol;
}
}
/// <summary>
/// 获取某行某列的数据
/// row:行,row = 1代表第一行
/// col:列,col = 1代表第一列
/// </summary>
public string this[int row, int col] {
get
{
//数据有效性验证
CheckRowValid(row);
CheckColValid(col);
ArrayList colAL = (ArrayList)this.rowAL[row – 1];
//如果请求列数据大于当前行的列时,返回空值
if (colAL.Count < col)
{
return “”;
}
return colAL[col – 1].ToString();
}
}
/// <summary>
/// 根据最小行,最大行,最小列,最大列,来生成一个DataTable类型的数据
/// 行等于1代表第一行
/// 列等于1代表第一列
/// maxrow: -1代表最大行
/// maxcol: -1代表最大列
/// </summary>
public DataTable this[int minRow, int maxRow, int minCol, int maxCol] {
get
{
//数据有效性验证
CheckRowValid(minRow);
CheckMaxRowValid(maxRow);
CheckColValid(minCol);
剩余7页未读,继续阅读
资源评论


weixin_38631042
- 粉丝: 4
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 区块链的未来发展和应用场景到底是什么样的?.docx
- 网络经济时代人力资源管理.ppt
- 计算机网络使用工程与建设实训初版.doc
- 信息化教学背景下医学类学生自主学习能力培养探索.docx
- 2017-2018学年高中数学第一章算法初步1.1算法与程序框图1.1.3第二课时循环结构新人教B必修3.ppt
- 单片机LED汉字显示屏设计方案与实现.doc
- JAVA学生信息管理系统的设计方案及实现.doc
- 中国计算机病毒疫情调查技术分析报告.docx
- 大数据背景下企业人力资源管理的改进研究.docx
- 基于单片机的多路数据采集系统研究设计.doc
- 区块链技术在会计行业中的应用探索.docx
- 电信通信毕业论文.doc
- 中国大数据产业生态日臻完善.docx
- 电子商务与物流技能训练.doc
- 医院工程网络六类布线系统总体技术解决方案.doc
- 品牌战略与电子商务互联网背景下我国环保企业发展问题研究.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
