问题描述
我用的是vb.net2005(winform)和access数据库(login数据表)。如何把excel的一个工作表导入已存在的login数据表里。请各位高手指点
解决方案
解决方案二:
自动导入不大可取,那是因为:工作表并不能够真实反映你的设计意图,如123456000,它可能当float来处理的了.
解决方案三:
是好先建好表,然后导入数据.建表可以利用createtable语句.
解决方案四:
这好像没有什么特殊的方法,你可以先把excel中的数据读到dataset中然后整体写入
解决方案五:
DimconnAsNewOleDbConnection(My.Settings.ConnStr&My.Application.Info.DirectoryPath&"datawarehouse.mdb")DimcommAsOleDbCommand=conn.CreateCommandcomm.CommandText="insertintotablenameselect*from[excel8.0;HDR=yes;IMEX=1;database="d:upload.xls].[sheet1$]"conn.Open()comm.ExecuteNonQuery()
解决方案六:
引用4楼kyle2cj的回复:
DimconnAsNewOleDbConnection(My.Settings.ConnStr&My.Application.Info.DirectoryPath&"datawarehouse.mdb")DimcommAsOleDbCommand=conn.CreateCommandcomm.CommandText="insertintotablenameselect*from[excel8.0;HDR=yes;IMEX=1;database="d:upload.xls].[sheet1$]"conn.Open()comm.ExecuteNonQuery()…
这个能直接写入数据库么?有空了试试。我也正想知道这个问题,进来学习下。我自己的思路是先从EXCEL读到DataGridView,再从DataGridView写道SQL数据库。仅仅是思路而已,还没做过。
解决方案七:
可以的,我自己程序里的代码
解决方案八:
可以一步到位
解决方案九:
使用上面代码可以导入excel表。但是excel表中第一行是标题。不要把第一行导入,也就是说第二行开始导入,这个怎么能实现呢?
解决方案十:
HDR=NO
解决方案十一:
引用9楼kyle2cj的回复:
HDR=NO
弓虽人
解决方案十二:
我用了这样的代码:dimconstrAsString="provider=microsoft.jet.oledb.4.0;datasource="+application.StartupPath+"\student.mdb"dimmyconAsNewOleDb.OleDbConnection(constr)DimexlsqlAsString="insertintologinselect*from[excel8.0;HDR=yes;IMEX=1;database=F:swfBook1.xls].[sheet1$]"DimexlcomAsOleDbCommand=mycon.CreateCommandexlcom.CommandText="exlsql"mycon.Open()exlcom.ExecuteNonQuery()但是出现下面的错误提示!无效的SQL语句;期待'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或'UPDATE'。
解决方案十三:
连接字符串问题,括号、引号加以区分
解决方案十四:
exlcom.CommandText="exlsql"为exlcom.CommandText=exlsql
解决方案十五:
我试了下你的改了之后,出现数据库引擎找不到对象,怎么回事?
解决方案:
俺是把数据从excel中一个个读出来,然后再一个个添加到数据库中。唉。