有人可以告诉我为什么下面的代码不起作用.数据将保存到csv文件中,但数据不会分开.它全部存在于每行的第一个单元格中.
StringBuilder sb = new StringBuilder();
foreach (DataColumn col in dt.Columns)
{
sb.Append(col.ColumnName + ',');
}
sb.Remove(sb.Length - 1, 1);
sb.Append(Environment.NewLine);
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append(row[i].ToString() + ",");
}
sb.Append(Environment.NewLine);
}
File.WriteAllText("test.csv", sb.ToString());
Run Code Online (Sandbox Code Playgroud)
谢谢.
我搜索了有关如何使用OLEDB或ODBC与C#/ .NET读取/写入dBase III(dbf)文件的各种技术.我已经尝试了几乎所有的tecniques,但没有成功.有人能指出我正确的方向吗?
谢谢你的时间.
我一直在研究一个读取dbf文件的程序,弄乱数据,并将其保存回dbf.我遇到的问题特别与写作部分有关.
private const string constring = "Driver={Microsoft dBASE Driver (*.dbf)};"
+ "SourceType=DBF;"
+ "DriverID=277;"
+ "Data Source=¿;"
+ "Extended Properties=dBASE IV;";
private const string qrystring = "SELECT * FROM [¿]";
public static DataTable loadDBF(string location)
{
string filename = ConvertLongPathToShort(Path.GetFileName(location));
DataTable table = new DataTable();
using(OdbcConnection conn = new OdbcConnection(RTN(constring, filename)))
{
conn.Open();
table.Load(new OdbcCommand(RTN(qrystring, filename), conn).ExecuteReader());
conn.Close();
}
return table;
}
private static string RTN(string stmt, string tablename)
{ return stmt.Replace("¿", tablename); }
[DllImport("Kernel32", CharSet = CharSet.Auto)]
static extern …Run Code Online (Sandbox Code Playgroud)