0

我需要生成csv格式的报告。数据被检索为List<T>只需要在报告中显示某些列。我正在考虑通过将其架构存储在 App_Data 文件夹下的 XML 文档中并使用 LINQ to XML 来检索字段名称并创建报告。

示例 XML:

<report>
<fields>
<field headercaption='Customer Name'>CName</field>
<field headercaption='Address'>CAddress</field>
...
</fields>
</report>

以这种方式完全依赖 XML 文件是可取的,还是我需要通过编码来完成。

编辑

List<T>字段是需要在 CSV 文件中填充的属性。标题标题是报告中字段的列名称。

样本报告

客户姓名、地址、

华盛顿独立大街 31 号 ALFKI

4

1 回答 1

0

如果您只想在运行时在此报告中添加/删除列,则使用纯文本文件会更容易。以您可以轻松解析的格式存储列信息(类似于CName|Customer Name)。当您需要生成 CSV 时,读取所有行,按|(或您选择的任何分隔符)分割并从那里开始。您可能还想在某处添加有关格式的评论或文档说明(以防您或其他人需要在一年或更长时间内回来修改它)。

如果您满足以下条件,XML 可能会变得有用:

  • 计划将几份报告放在一个文件中,并可能给它们起名字
  • 为其他人提供某种方式来提交他们自己的报告
  • 创建一些创作工具以允许人们自定义报告
  • 在 CSV 中本地化列名。你可以定义类似的东西

.

<report>
<fields>
   <field name="CName">
      <header language="en-us">Customer Name</header>
      <header language="es-es">Nombre de cliente</header>
      ...
   </field>
   ...
</fields>
</report>
  • 想尝试使用 XML 库

在这些情况下,XML 可能很有用,因为您可以定义 XSD 并轻松验证提交的报告是否有效。

于 2013-01-16T19:46:33.380 回答