我试图从分隔的文本文件中读取,但所有内容都在一行和一列中返回.
我的连接字符串是
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Path.GetDirectoryName(@textBox1txtPath.Text) + ";" +
"Extended Properties=\"text;HDR=YES;IMEX=1;Format=Delimited(|)\"");
Run Code Online (Sandbox Code Playgroud)
我的文本文件是:
ItemNumber|ProductStatus|UPC
0000012|closed|2525
Run Code Online (Sandbox Code Playgroud)
请协助
我不知道你到底需要什么,但你可以这样做:
如果你有string str整个文本,你可以这样做
string[] lines = str.Split('\n');// split it to lines;
Run Code Online (Sandbox Code Playgroud)
然后对于每一行你可以做
string[] cells = line.Split('|');// split a line to cells
Run Code Online (Sandbox Code Playgroud)
如果我们将其提升到一个新的水平,我们可以做到:
public class line
{
public int ItemNumber { get; set; }
public string ProductStatus { get; set; }
public int UPC { get; set; }
public line(string currLine)
{
string[] cells = currLine.Split('|');
int item;
if(int.TryParse(cells[0], out item))
{
ItemNumber = item;
}
ProductStatus = cells[1];
int upc;
if (int.TryParse(cells[2], out upc))
{
UPC = upc;
}
}
}
Run Code Online (Sandbox Code Playgroud)
进而:
string[] lines = str.Substring(str.IndexOf("\n")).Split('\n');// split it to lines;
List<line> tblLines = new List<line>();
foreach(string curr in lines)
{
tblLines.Add(new line(curr);
}
Run Code Online (Sandbox Code Playgroud)