日期:2014-05-17  浏览次数:20441 次

怎么在代码中设置输出数字到execl为文本格式?
我在做把execl数据导入到数据库中的表中,execl中有一列是数字,比如20090821558925444993,20090821394299140192

我用逗号分隔,如果我在execl中不把存数字这一列格式设置为文本,它就变成科学计数法,

但是我不想在execl中设置格式,能不能再代码中,导入的时候设置它的格式为文本

求教大家,,

------解决方案--------------------
近日,接到一个Excel导入需求,导入文件格式为xls 。心想这个简单,三下五除二就将新功能上线。一周后接到反馈说

导入数据有乱码。发现只要导入数字字符较长时oledb读出的记录数据会以科学计数法显示。解决方法只要在Excel上将字符转

换为文本即可。但是客户使用时可能是在许多文本或excel中复制粘贴,根本无法控制客户行为。 


 

google查找结果说需要在连接字符串中增加“IMEX=1“可以改善问题。加入 “IMEX=1“后发现问题依然存在。忽然想到

用的excel读取驱动是Microsoft.Jet.OLEDB.4.0。查询相关文档发现此驱动似乎在2003年就已经停止更新。立刻上Microsoft

网站下载最新驱动Microsoft.ACE.OleDb.12.0 此驱动安装无需重新启动,经过测试问题完美解决。

新驱动链接串如下

"Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";