如何用代码实现将数据从EXCEL导入到SQLSERVER2000中来? ( 积分: 100 )

G

gxf1681

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,你们好!<br>&nbsp;&nbsp;&nbsp;&nbsp;请帮忙指点迷津,如何用代码实现将数据从EXCEL导入到SQLSERVER2000中来?我在Delphi7.0中,用ExcelApplication,ExcelWorkbook,ExcelWorksheet这些控件来写代码实现,部分代码如下:<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>var<br>&nbsp;&nbsp;&nbsp;&nbsp;i:Integer&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;fName&nbsp;:String&nbsp;;<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;OpenDialog1.Execute&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fName&nbsp;:=&nbsp;OpenDialog1.FileName&nbsp;;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExcelApplication1.Connect&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(0,'EXCEL&nbsp;没有安装!','提示!',MB_OK);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExcelApplication1.Visible[0]:=&nbsp;false&nbsp;;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExcelApplication1.Workbooks.Open(fName,null,null,null,null,null,null,null,null,<br>null,null,null,null,null,null,0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExcelApplication1.Disconnect&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExcelApplication1.Quit&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;;<br>end;<br>为什么当执行到ExcelApplication1.Workbooks.Open(fName,null,null,null,null,null,null,null,null,<br>null,null,null,null,null,null,0);这句代码的时候,出现地些读写错误呢,请各位大哥,帮忙指点一下!
代码:
 
别用ExcelApplication&nbsp;经常莫名其妙的报Excel没有安装<br>你试试这个<br>&nbsp;&nbsp;&nbsp;&nbsp;//取得&nbsp;Excel&nbsp;当做&nbsp;数据库&nbsp;使用的&nbsp;连接<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.ConnectionString&nbsp;:=&nbsp;'Provider=Microsoft.Jet.OLEDB.4.0;Data&nbsp;Source='<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;sFileName&nbsp;+&nbsp;';Extended&nbsp;Properties='+''''+'Excel&nbsp;8.0;HDR=YES;IMEX=1'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+''''+';Persist&nbsp;Security&nbsp;Info=false';<br>&nbsp;&nbsp;&nbsp;&nbsp;//取得&nbsp;Excel的&nbsp;Sheet名称<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.GetTableNames(ComboBox1.Items);<br><br>把Excel当成数据库来打开,效果还是不错的。
 
plaohu,谢谢你,但我这样做呢,主要是想实现在客户端,用户选择一个EXCEL文档,即把EXCEL档导入到SQLSERVER里来,也就是说,在EXCEL有几Sheet工作表,在导入到SQLServer中的时候,要生成几个相应的表,在导的过程中,也有可能把在EXCEL里表示的字段,转换成目标字段名称,从而生成自己需要的数据表!
 
上述,我所列出代码片段呢,只是先试着用ExcelApplication打开一个EXCEL文档,但执行ExcelApplication1.Workbooks.Open&nbsp;的时候,就出现地址读写错误问题,不知道如何解决此问题!希望,各位大哥,继续关注我的问题,继续帮忙指点迷津!!
 
高手都在哪里呀,都跑到哪里去了?各位高手,快来帮忙解决问题呀!
 
送你20分,如果问题彻底解决了,再多给分!
 
感谢各位朋友对本贴的关注,本贴的问题,已经解决!
 
顶部