在VB.NET中用ADO对象从Excel表格导入数据,先分别将将注册表“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel”、“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel”、“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel”的“TypeGuessRows”值设置为 0,
用“Provider=Microsoft.Ace.OleDb.12.0;Extended Properties='Excel 12.0;HDR=NO;IMEX=1';Data Source='D:\DATA\企业名单\2020年\2020-02(核准).xls'”连接,导入的长度大于255字符的字符串被截断为长度为255字符的字符串,
而用“Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';Data Source='D:\DATA\企业名单\2020年\2020-02(核准).xls'”连接,则导入数据正常,没有出现截断情况,结果每次导入前都要将“.xlsx”表格转换成“.xls”表格,太影响效率了,请各位大神分析下是什么原因。
电脑安装Windows7 X86 旗舰版 + Microsoft Visual Studio 2008 + MS Office 2010