我正在将CSV文件加载到数据表中。该文件正在成功加载,但它正在删除第一列中的一些主键。它正在删除所有带有字母的值。我注意到它正在将它们视为字符串与数字。我将列的单元格类型设置为文本,但它没有任何区别,正如我期望的CSV文件。
以下是我加载文件的方式。
public static DataTable GetDataFromCSV(string path, bool isFirstRowHeader)
{
string header = isFirstRowHeader ? "Yes" : "No";
string pathOnly = Path.GetDirectoryName(path);
string filename = Path.GetFileName(path);
string sql = @"SELECT * FROM [" + filename + "]";
using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly + ";Extended Properties=\"Text;HDR=" + header + "\""))
{
using(OleDbCommand command = new OleDbCommand(sql, conn))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
DataTable dataTable = new DataTable();
dataTable.Locale = CultureInfo.CurrentCulture;
adapter.Fill(dataTable);
return dataTable;
}
}
}
我收到了这个。
应该是这样。