背景:
我在 Asp.Net (C#) Web 应用程序中使用 CSV 进行数据交换格式。该文件通常用于批量上传请求。到目前为止它工作正常,它仍然有效。
然而,在研究文化时,我们发现 csv 文件存在许多问题。最大的问题之一是分隔符由区域设置决定。当用户在 Excel 女士中编辑文件时会发生这种情况。例如,分隔符在美国是逗号,在欧洲某些地区是分号。
我已经搜索了一段时间,但没有找到任何灵丹妙药来处理这种情况。现在我想知道是否:
有没有什么好的方法来处理 CSV 文件中的分隔符定义?
有没有更好的数据交换格式,它是具有规范的不变文化:
- 该文件是纯文本(不是像 ms excel xlsx 这样的编码文件)
- 这是不变的文化。我不是要处理小数点分隔符,但至少在分隔符处是不变的
- 它在电子表格应用程序中受支持,例如 Ms Excel
- (可选)可以被OleDb引擎读取
或者,如果有的话,是否有使用平面文件进行表格数据交换的好习惯?
更新:
到目前为止,这里是给定解决方案的优缺点总结。
CSV(通常也用于表示分隔的平面文件):
优点:
- 支持 Excel 和 OleDb 等多种处理器
- 易于阅读
- 使用记事本易于操作
缺点:
- 使用 ms excel 编辑时存在分隔符文化问题
- 需要转义或处理分隔符
xml:
优点:
- 支持多种处理器,如 Excel 和 xml 序列化程序
- 使用记事本易于操作
- 表示结构格式
缺点:
- 在excel中处理时需要额外处理
- 使用标签在 xml 中产生更多内容
杰森:
优点:
- 表示结构格式
- 使用记事本易于操作
缺点:
- 电子表格处理器(如 excel)本身不支持(需要确保)