.net框架是否有任何内置程序集用于处理文本分隔文件的读写?或者这是我自己创造的东西?
答案 0 :(得分:3)
FileHelpers是一个应该擅长的人。
答案 1 :(得分:3)
Microsoft.VisualBasic.dll中实际上有一个名为TextFieldParser的类,可以读取CSV文件等。我从来没有尝试过。
答案 2 :(得分:1)
不,它没有。你必须自己写一个......或者你可以使用别人已经制作的东西。只是谷歌.net csv作家。以下是Google代码的示例:csv-reader-and-writer
编辑:之前我使用过以下版本,效果很好:(来自knab.ws
public class CsvWriter
{
public static string WriteToString(DataTable table, bool header, bool quoteall)
{
StringWriter writer = new StringWriter();
WriteToStream(writer, table, header, quoteall);
return writer.ToString();
}
public static void WriteToStream(TextWriter stream, DataTable table, bool header, bool quoteall)
{
if (header)
{
for (int i = 0; i < table.Columns.Count; i++)
{
WriteItem(stream, table.Columns[i].Caption, quoteall);
if (i < table.Columns.Count - 1)
stream.Write(',');
else
stream.Write('\n');
}
}
foreach (DataRow row in table.Rows)
{
for (int i = 0; i < table.Columns.Count; i++)
{
WriteItem(stream, row[i], quoteall);
if (i < table.Columns.Count - 1)
stream.Write(',');
else
stream.Write('\n');
}
}
}
private static void WriteItem(TextWriter stream, object item, bool quoteall)
{
if (item == null)
return;
string s = item.ToString();
if (quoteall || s.IndexOfAny("\",\x0A\x0D".ToCharArray()) > -1)
stream.Write("\"" + s.Replace("\"", "\"\"") + "\"");
else
stream.Write(s);
}
}
答案 3 :(得分:1)
.NET中没有用于c#的内置CSV读取器,但是有第三方库可用。
答案 4 :(得分:0)
我认为这是你必须自己创造的东西 (无论如何,我做了;))。