2016-10-04 9 views
1

データセット(複数のDatatables)をメモ帳にエクスポートする方法C#DataSetをメモ帳にエクスポートするには?

注:単一のデータテーブルではなく、複数のデータテーブルからのデータセット。

+0

どの形式ですか? (xml、csv、json) –

+0

to .txt、html、およびxpfエクスポートする必要があります。 –

+0

返信を理解していれば、エクスポートクラスはすべてのデータセット情報を含むtxtファイルを生成しますxml出力を設定すると、エクスポートクラスはデータセットの情報を表すxmlを生成し、xpfへのエクスポートが必要な場合、エクスポートクラスはtxtファイルと同じ出力をxpfファイルに生成しますか? 表1:私は、単純な出力されていないデータセットからXMLつまり、あなたが.txtファイルにエクスポートしたい –

答えて

0
private void Write(System.Data.DataSet dts, string outputFilePath) 
{ 
    System.Data.DataTable dt = new System.Data.DataTable(); 
    for (int z = 0; z < dts.Tables.Count; z++) 
    { 
    dt = dts.Tables[z]; 
    int[] maxLengths = new int[dt.Columns.Count];  
    for (int i = 0; i < dt.Columns.Count; i++) 
    { 
     maxLengths[i] = dt.Columns[i].ColumnName.Length;  
     foreach (DataRow row in dt.Rows) 
     { 
     if (!row.IsNull(i)) 
     { 
      int length = row[i].ToString().Length;  
      if (length > maxLengths[i]) 
      { 
       maxLengths[i] = length; 
      } 
      } 
     } 
    } 

    using (StreamWriter sw = new StreamWriter(outputFilePath, true)) 
    {  
    for (int i = 0; i < dt.Columns.Count; i++) 
    { 
          sw.Write(dt.Columns[i].ColumnName.PadRight(maxLengths[i] + 2)); 
    }  
    sw.WriteLine();  
     foreach (DataRow row in dt.Rows) 
     { 
     for (int i = 0; i < dt.Columns.Count; i++) 
     { 
      if (!row.IsNull(i)) 
      { 
            sw.Write(row[i].ToString().PadRight(maxLengths[i] + 2)); 
      } 
      else 
      { 
      sw.Write(new string(' ', maxLengths[i] + 2)); 
      } 
     }  
     sw.WriteLine(); 
    } 
    sw.Close(); 
    } 
} 
} 
+0

@ swethaありがとう良い答えそれは私のためにうまくいく、それは私のほとんどのレポートに役立つ –

1

私は何かをシンプルに提案し、翻訳者を作成したり、ウェブ上で利用可能な他のライブラリをダウンロードしたりします。

あなたが最も行く

public interfacte IExport 
{ 
    bool Export(Databale sometable);// this can also reference interface 
    //concrete implementation could also handle saving of file 
} 

のように、その後、具体的な種類を供給するなど、工場パター、依存性注入を使用し、その値を実装するために具体的なクラスに呼び出します。その後、必要な数のファイルタイプをサポートするために、多くのコンバータを追加し続けることができます。

+0

私はダウンロードする必要があるライブラリですが、私はたくさん検索しました。私はメモ帳にデータテーブルをエクスポートするだけで、1つのメモ帳に2つ以上のデータセットを持たないdataSetはありません –

+0

最初に、 Microsoftのc#にはwiteXmlメソッドがあります。](https://msdn.microsoft.com/en-us/library/x3zy2whb(v = vs.110).aspx)、txtでは、より簡単に使用できるようにCSV形式にしてください。容易なXpsドキュメントの作成](https://msdn.microsoft.com/en-us/library/ms771596(v = vs.100).aspx)をチェックすることができます。また、[Stackoverflow ](http://stackoverflow.com/questions/352540/how-to-create-an-xps-document)を参照してください。 – mahlatse