在 ExcelReport 支持 CSV 的开发过程中, 需要一个 NETStandard 的 CSV 解析器. 在 nuget 上找了几个试用, 但都不太适合.
于是, 便有了: https://www.nuget.org/packages/AxinLib.IO.CSV/ .
先看看怎么用:
读出的数据:
回到开始:
步骤一, 了解 CSV 格式规范
参考文章: 理解 CSV 格式规范 (解析 CSV 必备)
总结:
1) 字段分隔符:
,
2) 行结束符:
\r\n
3) 转义符:
"
4) 出现以上字符的字段需要用转义符前后括起来
5) 转义符的原义需要两个转义符标识
6) 文件中的最后一行记录可以有结尾回车换行符, 也可以没有.
步骤二, 定义状态
通过主流程识别状态:
1) 新字段开始
2) 非转义状态
3) 转义状态
4) 转义符原义判定状态
5) 字段结束
6) 行结束
7) 文档结束
8) 解析失败
步骤三: 通过状态迁移图查缺补漏
步骤四: 根据状态迁移图实现代码
详参见:
AxinLib.IO.CSV 源码:
来源: https://www.cnblogs.com/hanzhaoxin/p/10508393.html