C#使用Linq to csv读取.csv文件数据
发布时间:2020-12-16 08:57:42 所属栏目:asp.Net 来源:网络整理
导读:前言:今日遇到了一个需要读取CSV文件类型的EXCEL文档数据的问题,原本使用NPOI的解决方案直接读取文档数据,最后失败了,主要是文件的类型版本等信息不兼容导致。其他同事有使用linq to csv的Nuget包,获取CSV文件数据的方式,感觉写法非常简单,且很快实现
前言:今日遇到了一个需要读取CSV文件类型的EXCEL文档数据的问题,原本使用NPOI的解决方案直接读取文档数据,最后失败了,主要是文件的类型版本等信息不兼容导致。其他同事有使用linq to csv的Nuget包,获取CSV文件数据的方式,感觉写法非常简单,且很快实现了我的需求,现分享给大家参考使用: LinqToCsv官方资料:https://www.codeproject.com/Articles/25133/LINQ-to-CSV-library ? 1-引用Nuget包:LinqToCsv:https://www.nuget.org/packages/LinqToCsv 2-创建CSV帮助类: public class CSVHelper { static List<T> Read<T>(string path,CsvFileDescription fileDescription) where T : class,new() { CsvContext _csv = CsvContext(); return _csv.Read<T>(path,fileDescription).ToList(); } string path) CsvContext(); CsvFileDescription _fileDescription = CsvFileDescription() { //首列数据是否含有列名 FirstLineHasColumnNames = true,是否启用CsvColumn属性标记 EnforceCsvColumnAttribute = 是否忽略未知的行 IgnoreUnknownColumns = 是否启用OutputFormat格式转换数据 USEOutputFormatForParsingCsvValue = 是否启用属性下标读取数据 UseFieldIndexForReadingData = 文本编码格式 TextEncoding = Encoding.UTF8 };WP { /// <summary> /// 管理代码 </summary> [CsvColumn(Name = "Administration Code",FieldIndex = 1,CanBeNull = false)] string AdministrationCode { get; set; } 日期 Date4,1)">false,OutputFormat = yyyy-MM-dd HH:mm:ss"public DateTime Date { 支付金额 Amount8,1)">Cdecimal Amount { ; } } 4-使用方式: CSVHelper.Read<OrderTransaction.WP>(filePath); ? 5-待解决疑问: 上面的代码可以解决规范的CSV文件数据的读取(即CSV文件中不包含其他杂乱数据),如果文档的前几行含有一些其他说明信息的话,那么数据的读取可能遇到问题。而包里并没有提供可以设置开始读取数据的行数,所以,有点遗憾! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 根据服务器部署32或64位ELMAH与网站
- .net – 使用OData $select来从相关对象中挑选字段
- asp.net-mvc – 使用FileResult返回压缩文件的ASP.NET MVC缺
- asp.net-mvc – ASP.NET MVC Beta 1 – 哪里是Html.RenderP
- 什么是asp.net mvc中“literal”标签的等价物
- asp.net-mvc-3 – MVC3 – 无法通过其他操作将int []传递给
- asp.net-mvc – 如何在剃刀中获取页面原点?
- RevDebug -- VS 调试神器,你值得拥有!
- Asp.net core 使用log4net作为日志组件,记录日志到本地。
- ASP.Net Web应用程序安全性不适用于IIS 7?
推荐文章
站长推荐
- asp.net-mvc – 如何将我的视图模型绑定到jqGrid
- .Net Core技术研究-WebApi迁移ASP.NET Core2.0
- entity-framework-6 – Entity Framework种子方法
- asp.net – 天蓝色的动态子域
- asp.net-mvc-4 – 在VS2012中运行代码分析时出错
- entity-framework – 在MVC 5项目上使用ASP.NET
- asp.net – 获取隐藏字段的值
- asp.net-mvc – 如何在ASP.NET MVC视图中访问路由
- asp.net – 加入LINQ的2个列表?
- 从asp.net代码中调试VS 2008中的sql存储过程
热点阅读