c# - 将DataTable保存到文本文件的最短方法

标签 c# datatable streamwriter

我刚刚找到了几个答案,但发现它们都长得可怕,而且有很多迭代,所以我想出了自己的解决方案:

  1. 将表格转换为字符串:

    string myTableAsString = 
        String.Join(Environment.NewLine, myDataTable.Rows.Cast<DataRow>().
            Select(r => r.ItemArray).ToArray().
                Select(x => String.Join("\t", x.Cast<string>())));
    
  2. 然后简单的将字符串保存到文本文件中,例如:

    StreamWriter myFile = new StreamWriter("fileName.txt");
    myFile.WriteLine(myFile);
    myFile.Close();
    

有没有更短/更好的方法?

最佳答案

您的 DataTable 名为 myDataTable,您可以将其添加到 DataSet 中:

var dataSet = new DataSet();
dataSet.AddTable(myDataTable);

// Write dataset to xml file or stream
dataSet.WriteXml("filename.xml");

您还可以从 xml 文件或流中读取:

dataSet.ReadXml("filename.xml");

关于c# - 将DataTable保存到文本文件的最短方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30582668/

相关文章:

c# - 如何对ObjectListView中的对象进行分组?

c# - 在 shim 类中调用原始方法

html - CSS Trick 的响应式数据表(具有内联编辑模式)显示问题

c# - 如何防止在我的文件中添加空行?

vb.net - 如何使用文件流/流写入器处理并发文件访问?

C# 如何格式化从文本框中获取的值?

c# - DataflowBlockOptions.BoundedCapacity 和 BufferBlock<T> 之间的区别

c# - 在 C# 中动态加载和使用 DLL

javascript - DataTable 如何防止在包含超链接的列中单击行

javascript - 在单击第二个按钮之前,AngularJS 数据不会刷新