从.NET中的内存流/文件填充数据表

时间:2013-06-17 03:27:18

标签: asp.net datatable

我有一组.dat和'.txt'文件。要求是将它们加载到DataTable中以进行进一步处理。

.NET中是否有可用的预定义方法?

2 个答案:

答案 0 :(得分:0)

请参阅链接protobuf-net-data 在那里定义了一个简单的方法来从平面文件加载数据表。

DataTable dt = new DataTable();

using (Stream stream = File.OpenRead("C:\foo.dat"))
using (IDataReader reader = DataSerializer.Deserialize(stream))
{
    dt.Load(reader);
}

注意:我没有测试过库,也没有意识到性能。

答案 1 :(得分:0)

可以使用BCL将CSV或分隔的文本文件加载到.NET中的数据表中,但它并不灵活:

System.Data.Odbc.OdbcConnection conn;
DataTable dt=new DataTable();
System.Data.Odbc.OdbcDataAdapter da;
string folder=@"D\temp\";
string file="test.csv";
conn = new System.Data.Odbc.OdbcConnection(@"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + folder + ";Extensions=asc,csv,tab,txt;Persist Security Info=False");
da = new System.Data.Odbc.OdbcDataAdapter("select * from [" + file + "]", conn);
da.Fill(dt);

如果您查看以下专门处理CSV /分隔文本文件的库,您可能会有更多的运气: