将数据导出为多种格式的任何简单方法

本文关键字:格式 任何 简单 方法 数据 | 更新日期: 2023-09-27 18:32:18

我写了一个方便的小类来从各种数据源生成CSV文件。例如,我可以传入一个 DataTable 或一组 IEnumerable 对象(每个对象有效地表示一个"行"),它将根据需要忠实地转义和分隔文件。它似乎效果很好,但我正在努力思考解决最终作品的最佳方法。

我希望能够为输出到 CSV 的每个类型设置默认格式化程序。因此,例如,我希望能够指定特定于区域设置的日期格式以用于所有日期时间。或者,您的某个字段可能是十进制数,并且您希望在输出到 CSV 时将其格式化为货币。(所以基本上能够为给定数据类型定义全局格式化程序,和/或为数据中的特定列定义特定格式化程序(即仅格式化为货币的"价格"字段))

我已经深入研究了.NET框架,但我无法找到这样的东西。这只是我需要自己滚动的东西吗?如果是这样,我在这个任务中可能会查看任何有用的类吗?

谢谢!

将数据导出为多种格式的任何简单方法

这只是我需要自己滚动的东西吗?

是的。

在这个任务中,我可能会看看什么有用的课程吗?

不是一个类,而是一个接口 - IFormatProvider .

您需要为要格式化的所有类型实现它,并将实现传递给不同的格式化函数。

查看此代码项目示例以实现,以及此 SO 问题和答案以了解一些注意事项。

您可能还想查看 IFormattable 界面,因为它专门用于将对象格式化为字符串表示形式。