【问题标题】:Any easy way to export data to multiple formats?有什么简单的方法可以将数据导出为多种格式?
【发布时间】:2012-05-07 13:29:12
【问题描述】:

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

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

我研究了 .NET 框架,但找不到类似的东西。这只是我需要自己滚动的东西吗?如果是这样,我可能会在这个任务中看到任何有用的课程吗?

谢谢!

【问题讨论】:

  • @shiplu.mokadd.im - 这应该有什么帮助?
  • 区域设置特定格式由cultureinfo 自动提供。这些信息在控制面板中设置。

标签: c# .net formatting string-formatting export-to-csv


【解决方案1】:

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

是的。

在这个任务中我可能会看到任何有用的课程吗?

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

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

查看this 代码项目示例以了解实施情况,查看this SO 问题和答案以了解一些注意事项。

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

【讨论】:

  • 太好了,感谢您的帮助...看起来框架实际上在 System.Globalization.DateTimeFormatInfo 和 System.Globalization.NumberFormatInfo 中具有 IFormatProvider 的两个最常见的实现,我怀疑这会很有帮助有点努力了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 2010-11-24
  • 2014-11-20
  • 1970-01-01
  • 2010-11-14
相关资源
最近更新 更多