任何人都可以通过连接字符串帮助我连接到Microsoft平面文件,扩展名为txt吗? 我只想阅读用|分隔的txt文档
获取数据并尽可能通过DataAdapter将其加载到DataTable中,文件的第一行应该是DataTable上的列名,最后DataType在DataTable上并不重要
答案 0 :(得分:2)
尝试this
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\filepath;Extended Properties="text;HDR=Yes;FMT=Delimited";
这样的事情应该有效
string strSql = "SELECT * FROM [" + fileName + "]";
string strCSVConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";" + "Extended Properties='text;HDR=YES;'";
// load the data from CSV to DataTable
OleDbDataAdapter oleda = new OleDbDataAdapter(strSql, strCSVConnString);
DataTable dtbCSV = new DataTable();
oleda.Fill(dtbCSV);
答案 1 :(得分:1)
查看http://connectionstrings.com/textfile
连接字符串示例:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;
Extended Properties="text;HDR=Yes;FMT=Delimited";
答案 2 :(得分:1)
如何利用.Net提供的功能:
参考Microsoft.VisualBasic,您可以使用TextFieldParser
using (var parser =
new TextFieldParser(@"c:\data.csv")
{
TextFieldType = FieldType.Delimited,
Delimiters = new[] { "," }
})
{
while (!parser.EndOfData)
{
string[] fields;
fields = parser.ReadFields();
//go go go!
}
}
答案 3 :(得分:0)
我发现导致这个问题的原因。 在MS网站上,他们谈论了一个schema.ini文件,该文件应该能够处理分隔文件bla bla bla,但我注意到,一旦你将所有设置放在注册表中它就会接管。因此,一旦我在注册表ArsenMkrt代码中更改了格式并且连接字符串正常工作,我就根据我的需要进行了调整,这一切都很好。
感谢大家,非常感谢ArsenMkrt。
我喜欢C#