从具有超过280列的特定Excel工作簿表批量插入

任何人可以build议我该怎么做,因为我使用Openrowset,但它没有效果不错的工作表包含variables列的variables。

Dim sConnectionString1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & exfname & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" Dim con As New OleDbConnection(sConnectionString1) objCmdSelect = New OleDbCommand("SELECT * FROM [sheet 12$]", con) Dim dr_x As OleDbDataReader con.Open() dr_x = objCmdSelect.ExecuteReader() con.Close() 

这在大约240列的情况下效果很好,但是如果它超过256,则会出错,连接不会打开。 所以我决定使用批量插入到临时表,可以任何人build议如何批量插入从特定的工作簿我已经尝试

 select * into test1 from ( select * from OpenRowset( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Documents and Settings\VIKKY\My Documents\Downloads\alvin\xyz.xls', 'select * from [sheet12$]')) a 

但是,当列数超过时,它不起作用,但当列less时,在sql上效果很好。 大师请指导我。 提前感谢您的帮助。

是有点混乱 – 你正在访问的数据从什么文件格式? 如果是旧的Excel 97-2003格式,你如何设置超过256列? 如果是2007或更高版本,为什么使用过时的OLE DB驱动程序? 你有没有试过Microsoft.ACE.OLEDB.12.0? ( connectionstrings.com )