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 ファイルに入力する必要があるプロパティです。ヘッダー キャプションは、レポート内のフィールドの列の名前です。

サンプルレポート

顧客名、住所、

ALFKI 、31 Independence Ave.、ワシントン

4

1 に答える 1

0

この 1 つのレポートで実行時に列を追加/削除するだけの場合は、プレーン テキスト ファイルを使用するとさらに簡単です。列情報を簡単に解析できる形式 ( のようなものCName|Customer Name) で保存します。CSV を生成する必要がある場合は、すべての行を読み取り、|(または選択したセパレーターで) 分割して、そこから移動します。おそらく、フォーマットに関するコメントやドキュメントのメモをどこかに追加することもできます(あなたや他の誰かが 1 年以上後に戻って変更する必要がある場合に備えて)。

XML は、次の場合に役立ちます。

  • 複数のレポートを 1 つのファイルにまとめて、名前を付ける予定です。
  • 他の人が自分のレポートを提出する方法を提供する
  • ユーザーがレポートをカスタマイズできるようにするオーサリング ツールを作成する
  • 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 ライブラリを試したい

このような場合、XSD を定義して、送信されたレポートが有効であることを簡単に検証できるため、XML が役立ちます。

于 2013-01-16T19:46:33.380 に答える