怎么将EXCEL通过Delphi上传到SQL数据库

怎么将EXCEL通过Delphi上传到SQL数据库,第1张

使用Excel设置导入模版,大多数的客户都能接受

给你这些,够用了

//-------批量导入用比较实用

select

*

into

[Excel

8.0database=导出目录].导出表名

from

//这个是你要的

select

*

into

[FoxPro

2.6database=导出目录].导出表名

from

select

*

into

[FoxPro

2.5database=同上].导出表名

from

select

*

into

[dBase

IIIdatabase=同上].导出表名

from

select

*

into

[Paradox

4.Xdatabase=同上].导出表名

from

select

*

into

[database=C:\temp\xxx.mdb].导出表名

from

//----循环导入

给你些关键的片段信息,全的我这里太长了

Const

ConnExcelStr

=

'Provider=Microsoft.Jet.OLEDB.4.0Data

Source=%sExtended

Properties=Excel

8.0Persist

Security

Info=False'

//这个是连接串

ForMat(ConnExcelStr,[FileName])

//FileName是Excel文件

单独一个ADOQuery。使用以上连接串

ADOQuery.SQL.ADD('Select

*

from

[Log$]')

//[Log$]是Excel里的一个页,你可以把它看成一个表

剩下的和 *** 作普通数据库一样了

While

Not

ADOQuery.Eof

do

begin

//TODO

ADOQuery.Next

end

元接口部分引用comobj单元(uses)\x0d\x0aprocedureTForm1.Button1Click(Sender:TObject)\x0d\x0a\x0d\x0avarexcelx,excely:string\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0atry\x0d\x0a\x0d\x0aExcelApp:=CreateOleObject('Excel.Application')\x0d\x0a\x0d\x0aWorkBook:=ExcelApp.WorkBooks.Open(opendialog.FileName)//使用opendialog对话框指定\x0d\x0a//excel档路径\x0d\x0a\x0d\x0aExcelApp.Visible:=false\x0d\x0a\x0d\x0aExcelRowCount:=WorkBook.WorkSheets[1].UsedRange.Rows.Count\x0d\x0a\x0d\x0afori:=1toexcelrowcount+1do\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0aexcelx:=excelapp.Cells[i,1].Value\x0d\x0a\x0d\x0aexcely:=excelapp.Cells[i,2].Value\x0d\x0a\x0d\x0aif((excelapp.Cells[i,1].Value='')and(ExcelApp.Cells[i,2].Value=''))then\x0d\x0a//指定excel档的第i行,第1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的档案力这两行//对应数据库中不能为空的数据\x0d\x0a\x0d\x0aexit\x0d\x0a\x0d\x0aelse\x0d\x0a\x0d\x0awithquery1do\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0aclose\x0d\x0asql.clear\x0d\x0asql.add(insertintotest(name,address)values(:name,:address))\x0d\x0aparambyname('name').asstring:=excelx//excel档的第一列插入到test表的name栏位\x0d\x0aparambyname('address').asstring:=excely//excel档的第二列插入到test表的address栏位\x0d\x0aexecsql\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0afinally\x0d\x0a\x0d\x0aWorkBook.Close\x0d\x0a\x0d\x0aExcelApp.Quit\x0d\x0a\x0d\x0aExcelApp:=Unassigned\x0d\x0a\x0d\x0aWorkBook:=Unassigned\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0a上面的是导到sql中的。oracle应该也差不多的吧。。

1.打开SQL

Server

Management

Studio,按图中的路径进入导入数据界面。

2.导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步

3.数据源:选择“Microsoft

Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

4.选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。

5.再次确认文件路径没有问题,点击下一步。

6.默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。

7.选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。

8.选择需要导入的SHEET表,比如在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。

9.点击进入下一步。

10.在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。

11.可以看到任务执行的过程和进度。

12.执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT

*

FROM

price$就可以查看已导入的数据内容。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9386804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存