一直使用的下面程序读取,有次不小心改了区域,导致下面读取失败,无法通过逗号分隔,然后就把区域什么的都换成中文简体,包括区域设置里面自定义的列表分隔符也改成逗号,但是仍是不能按照逗号分隔正确读取,用excel打开没有任何问题,大家有什么好办法?
string strConn;
OleDbConnection objMyOleDbConnection = new OleDbConnection();
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Text;HDR=No\";";
//strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=d:\data\;Extensions=asc,csv,tab,txt;";
strConn = strConn + "Data Source=" + textBox1.Text .Trim ();
objMyOleDbConnection.ConnectionString = strConn;
objMyOleDbConnection.Open();
OleDbDataAdapter objMyDataAdapter = new OleDbDataAdapter("SELECT * FROM test.csv ", objMyOleDbConnection);
DataSet objMyDataSet = new DataSet();
objMyDataAdapter.Fill(objMyDataSet, "TempTable");
string strConn;
OleDbConnection objMyOleDbConnection = new OleDbConnection();
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Text;HDR=No\";";
//strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=d:\data\;Extensions=asc,csv,tab,txt;";
strConn = strConn + "Data Source=" + textBox1.Text .Trim ();
objMyOleDbConnection.ConnectionString = strConn;
objMyOleDbConnection.Open();
OleDbDataAdapter objMyDataAdapter = new OleDbDataAdapter("SELECT * FROM test.csv ", objMyOleDbConnection);
DataSet objMyDataSet = new DataSet();
objMyDataAdapter.Fill(objMyDataSet, "TempTable");
CSV文件一定要用记事本打开修改,当初我做通讯录导入导出的时候也遇到了这个问题,或者,你用txt来读这个文件。不知道对你有没有帮助
[test.csv]
Format=CSVDelimited即可以正常识别该文件。请问如何可以不使用scheme.ini ,这样使用起来相当麻烦,而且还得事先写好要导入的csv文件名称。该台机器语系、区域全部都是中文,会不会注册表哪些地方限定死读取csv的format格式?