C# 如何在将CSV转换为Datatable时避免指数格式

C# 如何在将CSV转换为Datatable时避免指数格式,c#,csv,datatable,schema,exponent,C#,Csv,Datatable,Schema,Exponent,我有一个CSV文件,我使用SCHEMA.INI文件来构造.CSV文件的导入 我在电话号码字段中遇到一些问题,客户使用(06)1234565上传电话号码,因此我选择SCHEMA.ini文件中的文本字段 当我将csv转换为datatable时,电话号码字段将转换为4.32E+12,原始电话号码为4320000000 同样在Schema.ini中,我尝试了Memo、Char Width 20等,。 指数形式未转换 如何转换为原始格式 string FileName = Path.GetFileNam

我有一个CSV文件,我使用SCHEMA.INI文件来构造.CSV文件的导入

我在电话号码字段中遇到一些问题,客户使用(06)1234565上传电话号码,因此我选择SCHEMA.ini文件中的文本字段

当我将csv转换为datatable时,电话号码字段将转换为4.32E+12,原始电话号码为4320000000

同样在Schema.ini中,我尝试了Memo、Char Width 20等,。 指数形式未转换

如何转换为原始格式

string FileName = Path.GetFileName(FilePath);
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + folderpath + ";" + "Extended Properties=\"text;HDR=YES\"";

OleDbConnection Conn = new OleDbConnection();
Conn.ConnectionString = strConn;
Conn.Open();

string s1 = "select * from [" + FileName + "]";
OleDbDataAdapter da1 = new OleDbDataAdapter(s1, Conn);

DataSet dtall = new DataSet();
da1.Fill(dtall);
Conn.Close();
在数据表中,电话号码应为非指数形式的值


非常感谢您的帮助。

这里有一些未知或未定义的定义。没有
float
使用
single
,而且
hh:nn:ss
是无意义的。即使使用
文本
我认为您应该指定
宽度##
,即使它似乎不需要。我不知道OLE在遇到这样的事情时会做什么(忽略模式或只是那个列?)。您还可以在conn字符串中使用。@ŇssaPøngjǣrdenlarp谢谢您的评论,请检查schema.ini文件类型的链接,我尝试了IMAX=0 1和2。但指数值未更改。其中有一些未知或未定义的定义。没有
float
使用
single
,而且
hh:nn:ss
是无意义的。即使使用
文本
我认为您应该指定
宽度##
,即使它似乎不需要。我不知道OLE在遇到这样的事情时会做什么(忽略模式或只是那个列?)。您还可以在conn字符串中使用。@ŇssaPøngjǣrdenlarp谢谢您的评论,请检查schema.ini文件类型的链接,我尝试了IMAX=0 1和2。但指数值没有改变。