在ExcelReport支持csv的開發過程中,需要一個NETStandard的csv解析器。在nuget上找了幾個試用,但都不太適合。
於是,便有了: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://github.com/hanzhaoxin/AxinLib/tree/master/src/AxinLib.IO.CSV
