Używam szybkiego czytnika CSV do analizowania wklejonego tekstu na stronie internetowej. Czytnik Fast CSV wymaga obiektu TextReader, a wszystko, co mam, to ciąg. Jaki jest najlepszy sposób na konwersję ciągu znaków na obiekt TextReader w locie?
Dzięki!
Aktualizacja - przykładowy kod - w oryginalnym przykładzie nowy StreamReader szuka pliku o nazwie „data.csv”. Mam nadzieję, że dostarczę go za pośrednictwem TextBox_StartData.Text.
Użycie tego kodu poniżej nie powoduje kompilacji.
TextReader sr = new StringReader(TextBox_StartData.Text);
using (CsvReader csv = new CsvReader(new StreamReader(sr), true))
{
DetailsView1.DataSource = csv;
DetailsView1.DataBind();
}
new StreamReader(sr)
Mówi mi, że ma pewne nieprawidłowe argumenty. Jakieś pomysły?
Jako alternatywne podejście próbowałem tego:
TextReader sr = new StreamReader(TextBox_StartData.Text);
using (CsvReader csv = new CsvReader(sr, true))
{
DetailsView1.DataSource = csv;
DetailsView1.DataBind();
}
ale dostaję Illegal characters in path Error.
Oto próbka ciągu z TextBox_StartData.Text:
Fname\tLname\tEmail\nClaude\tCuriel\tClaude.Curiel@email.com\nAntoinette\tCalixte\tAntoinette.Calixte@email.com\nCathey\tPeden\tCathey.Peden@email.com\n
Jakieś pomysły, jeśli to właściwe podejście? Jeszcze raz dziękujemy za pomoc!
TextReader
nie jest interfejsem, to klasa abstrakcyjna.