问题描述
用c#从excel文件读数据的时候,excel中有一列既有数字,又有字母,还有字母与数字混着的字符串,如746441203,74687E401,现在的问题是只能读数字字符串,数字字符混杂的字符串读不到。c#有似乎把这一列默认为数字了,请问各位大侠有没有办法把这些字符串都读进去。而且有一个规律:一般是字符串的第六位为字母。
解决方案
解决方案二:
ExtendedProperties="Excel8.0;IMEX=1""在连接串中添加上面的属性
解决方案三:
类型的问题吧!
解决方案四:
引用1楼rangeon的回复:
ExtendedProperties="Excel8.0;IMEX=1""在连接串中添加上面的属性
谢谢高手,再请教一下,IMEX=1是什么意思?然后我看到还有的加入一个参数HDR=yes是什么意思?
解决方案五:
在生成excel的时候,把该列作为文本类型保存就不会有这个问题了
解决方案六:
连接字符串是这样的:OleDbConnectionStringBuilderoleconnstrbuilder=newOleDbConnectionStringBuilder();oleconnstrbuilder.DataSource=oleconnstr;oleconnstrbuilder.Provider="Microsoft.Jet.OLEDB.4.0";oleconnstrbuilder.Add("ExtendedProperties","Excel8.0");//oleconnstrbuilder.Add("HDR","YES");oleconnstrbuilder.Add("IMEX","1");OleDbConnectionoleconn=newOleDbConnection(oleconnstrbuilder.ConnectionString);returnoleconn;现在报错说couldnotfindinstallableISAM希望高手能继续指导一下
解决方案七:
stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+FileName+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'";OleDbConnectionconn=newOleDbConnection(strConn);
解决方案八:
引用6楼hongqi162的回复:
C#codestringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+FileName+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'";OleDbConnectionconn=newOleDbConnection(strConn);
解决方案九:
引用6楼hongqi162的回复:
C#codestringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+FileName+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'";OleDbConnectionconn=newOleDbConnection(strConn);
这个OK
解决方案十:
strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+FileName+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'"已经加进去了,但是那个列中的数据字母混杂的字符串还是没有读到,Thankyouallthesame