从excel文件读取指数值会导致数据丢失

我正在阅读使用OLEDB连接string的xls文件

 mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + mstrFilePath + ";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\""); 

我故意设置IMEX = 1 ,以便我可以读取所有值为文本,因为我的xls表包含混合数据types。

现在在xls表格中有包含指数值的列,例如4.0416E+14 ,其内部值为404160301389870 。 现在的问题是,当我读取xls时,它会读取指数值而不是内部值,从而导致数据丢失。 我怎么解决这个问题。 请build议!