从Excel到SQL服务器复制数据

我有低于下面的代码从Excel选择一个目录,并提取数据,并将其插入到SQL。 我想要做的是,而不是选择一个目录,我有了一个包含Excel文件的路径和文件名的列的SQL表。 我想环通表,并提取Excel中的细胞,然后将它们插入到SQL服务器的另一个表。 有人可以帮助我? 我被困在如何循环使用直通路径和文件名表。

子FSCAN()

'SPATH =“C:\审核策略\项目\ XLS到数据\”
随着Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect =假
如果.Show <> -1然后MSGBOX“没有文件夹选择退出子......!”:退出小组
MYDIR = .SelectedItems(1)
结束与

sFile = DIR(MYDIR +“\ *。XLS”)
虽然sFile <>“”
sFile = DIR()
如果len(sFile)<4然后MSGBOX“完成”:退出小组
ReadWkBk(MYDIR&“\​​”&sFile)
WEND

结束小组

子ReadWkBk(sFile作为字符串)

暗淡sServer,sDBName作为字符串
sServer =“USATL02PRSQ72”
sDBName =“TOYS_2010”

昏暗的ConnectionString作为字符串
的ConnectionString = _
“供应商= SQLOLEDB;” &_
“数据源=”+ sServer +“;” &_
“初始目录=”+ sDBName +“;” &_
“集成安全性= SSPI”

“连接假设你有权限连接到指定的数据库作为广告的一部分
“组。 早期绑定假定您已经设置到合适的主X lib中引用
设置连接=的CreateObject(“ADODB.Connection”)
Connection.Open的ConnectionString

昏暗wbIn作为工作簿
昏暗NewSetup为Variant,TypeOfSetup为Variant,修改为Variant,TRUItem为Variant,VendorStyle为Variant
昏暗资源名称为Variant,QuoteDate为Variant,GuarAvailShipDate为Variant,RESOURCENUM为Variant,BUYERNAME为Variant,SubmittedBy为Variant

昏暗NationalCostDom为Variant,NationalCostImp为Variant,LCL_FOB_Cost为Variant,FCL_FOB_Cost为Variant,NationalRetail为Variant,标记为Variant

昏暗FOB_Cost为Variant,Ocean_FRT为Variant,义务作为变型,小计变,SubTotal2为Variant,Misc_FOB为Variant,LandedCostTotal为Variant

昏暗FOB_Ship为Variant,Ocean_Frt_cft为Variant,Duty_perc为Variant

昏暗VendorContactName为Variant,VendorContactEmail为Variant,RepName为Variant,RepEmail为Variant

昏暗AltRes1为Variant,AltRes2为Variant,AltRes3为Variant,AltRes4为Variant,AltRes5为Variant
昏暗ResName1为Variant,ResName2为Variant,ResName3为Variant,ResName4为Variant,ResName5为Variant

昏暗UPC1为Variant,UPC2为Variant,UPC3为Variant,UPC4为Variant,UPC5为Variant,UPC6为​​Variant,UPC7为Variant
昏暗UPC8为Variant,UPC9为Variant,UPC10为Variant,UPC11为Variant,UPC12为Variant,UPC13为Variant,UPC14为Variant

昏暗Cr_UPC1为Variant,Cr_UPC2为Variant,Cr_UPC3为Variant,Cr_UPC4为Variant,Cr_UPC5为Variant,Cr_UPC6为​​Variant,Cr_UPC7为Variant
昏暗Cr_UPC8为Variant,Cr_UPC9为Variant,Cr_UPC10为Variant,Cr_UPC11为Variant,Cr_UPC12为Variant,Cr_UPC13为Variant,Cr_UPC14为Variant

昏暗ItemDesc1为Variant,ItemDesc2为Variant,ItemDesc3为Variant,ItemDesc4为Variant,ItemDesc5为Variant,ItemDesc6为Variant,ItemDesc7为Variant
昏暗ItemDesc8为Variant,ItemDesc9为Variant,ItemDesc10为Variant,ItemDesc11为Variant,ItemDesc12为Variant,ItemDesc13为Variant,ItemDesc14为Variant

昏暗CasePack1为Variant,CasePack2为Variant,CasePack3为Variant,CasePack4为Variant,CasePack5为Variant,CasePack6为Variant,CasePack7为Variant
昏暗CasePack8为Variant,CasePack9为Variant,CasePack10为Variant,CasePack11为Variant,CasePack12为Variant,CasePack13为Variant,CasePack14为Variant

昏暗LeadUPC1为Variant,LeadUPC2为Variant,LeadUPC3为Variant,LeadUPC4为Variant,LeadUPC5为Variant,LeadUPC6为​​Variant,LeadUPC7为Variant
昏暗LeadUPC8为Variant,LeadUPC9为Variant,LeadUPC10为Variant,LeadUPC11为Variant,LeadUPC12为Variant,LeadUPC13为Variant,LeadUPC14为Variant

设置wbIn = Workbooks.Open(sFile)
昏暗rSheet由于范围

“新设置和修改
设置rSheet = wbIn.Worksheets(1).Range(“I2:I3”)
NewSetup = rSheet(1,1)。价值
Modificaiton = rSheet(2,1)。价值

“导入和TRU编号
设置rSheet = wbIn.Worksheets(1).Range(“B3:B5”)
TypeOfSetup = rSheet(1,1)。价值
TRUItem = rSheet(3,1)。价值

“供应商风格#
设置rSheet = wbIn.Worksheets(1).Range(“AB5:AB 5”)
VendorStyle = rSheet(1,1)。价值

“资源供应商名称
设置rSheet = wbIn.Worksheets(1).Range(“N6:N6”)
资源名称= rSheet(1,1)。价值

“报价日期与资源#
设置rSheet = wbIn.Worksheets(1).Range(“AP3:AP5”)
QuoteDate = rSheet(1,1)。价值
RESOURCENUM = rSheet(3,1).value的

“保证效用出货日期和买方名称
设置rSheet = wbIn.Worksheets(1).Range(“BA3:BA6”)
GuarAvailShipDate = rSheet(1,1)。价值
BUYERNAME = rSheet(4,1).value的

'由...所提交
设置rSheet = wbIn.Worksheets(1).Range(“AY8:AY8”)
SubmittedBy = rSheet(1,1)。价值

“全国造价,拼箱FOB,FOB FCL,全国零售,标记
设置rSheet = wbIn.Worksheets(1).Range(“N37:N43”)
NationalCostDom = rSheet(1,1)。价值
NationalCostImp = rSheet(2,1)。价值
LCL_FOB_Cost = rSheet(3,1)。价值
FCL_FOB_Cost = rSheet(4,1)。价值
NationalRetail = rSheet(5,1)。价值
标记= rSheet(6,1)。价值

“FOB费用,OCEAN FRT,责任,小计,到岸成本,等等。
设置rSheet = wbIn.Worksheets(1).Range(“L45:L51”)
FOB_Cost = rSheet(1,1)。价值
Ocean_FRT = rSheet(2,1)。价值
税= rSheet(3,1).value的
小计= rSheet(4,1)。价值
SubTotal2 = rSheet(5,1)。价值
Misc_FOB = rSheet(6,1)。价值
LandedCostTotal = rSheet(7,1)。价值

“FOB船舶,海洋FRT,税
设置rSheet = wbIn.Worksheets(1).Range(“B55:B55”)
FOB_Shipt = rSheet(1,1)。价值

“海洋FRT
设置rSheet = wbIn.Worksheets(1).Range(“O55:O55”)
Ocean_Frt_cft = rSheet(1,1)。价值

'义务
设置rSheet = wbIn.Worksheets(1).Range(“U55:U55”)
Duty_perc = rSheet(1,1)。价值

“供应商联系人姓名
设置rSheet = wbIn.Worksheets(1).Range(“M68:M68”)
VendorContactName = rSheet(1,1)。价值

“供应商联系电子邮件
设置rSheet = wbIn.Worksheets(1).Range(“L69:L69”)
VendorContactEmail = rSheet(1,1)。价值

“众议员名称
设置rSheet = wbIn.Worksheets(1).Range(“G70:G70”)
RepName = rSheet(1,1)。价值

“众议员电子邮件
设置rSheet = wbIn.Worksheets(1).Range(“G71:G71”)
RepEmail = rSheet(1,1)。价值

“UPC
设置rSheet = wbIn.Worksheets(1).Range(“AC41:AC54”)
UPC1 = rSheet(1,1)。价值
UPC2 = rSheet(2,1)。价值
UPC3 = rSheet(3,1).value的
UPC4 = rSheet(4,1)。价值
UPC5 = rSheet(5,1)。价值
UPC6 = rSheet(6,1)。价值
UPC7 = rSheet(7,1)。价值
UPC8 = rSheet(8,1)。价值
UPC9 = rSheet(9,1)。价值
UPC10 = rSheet(10,1)。价值
UPC11 = rSheet(11,1).value的
UPC12 = rSheet(12,1)。价值
UPC13 = rSheet(13,1)。价值
UPC14 = rSheet(14,1)。价值

'创建UPC
设置rSheet = wbIn.Worksheets(1).Range(“AK41:AK54”)
Cr_UPC1 = rSheet(1,1)。价值
Cr_UPC2 = rSheet(2,1)。价值
Cr_UPC3 = rSheet(3,1)。价值
Cr_UPC4 = rSheet(4,1)。价值
Cr_UPC5 = rSheet(5,1)。价值
Cr_UPC6 = rSheet(6,1)。价值
Cr_UPC7 = rSheet(7,1)。价值
Cr_UPC8 = rSheet(8,1)。价值
Cr_UPC9 = rSheet(9,1)。价值
Cr_UPC10 = rSheet(10,1)。价值
Cr_UPC11 = rSheet(11,1).value的
Cr_UPC12 = rSheet(12,1)。价值
Cr_UPC13 = rSheet(13,1)。价值
Cr_UPC14 = rSheet(14,1)。价值

'商品描述
设置rSheet = wbIn.Worksheets(1).Range(“AN41:AN54”)
ItemDesc1 = rSheet(1,1)。价值
ItemDesc2 = rSheet(2,1)。价值
ItemDesc3 = rSheet(3,1)。价值
ItemDesc4 = rSheet(4,1)。价值
ItemDesc5 = rSheet(5,1)。价值
ItemDesc6 = rSheet(6,1)。价值
ItemDesc7 = rSheet(7,1)。价值
ItemDesc8 = rSheet(8,1)。价值
ItemDesc9 = rSheet(9,1)。价值
ItemDesc10 = rSheet(10,1)。价值
ItemDesc11 = rSheet(11,1).value的
ItemDesc12 = rSheet(12,1)。价值
ItemDesc13 = rSheet(13,1)。价值
ItemDesc14 = rSheet(14,1)。价值

'案例包
设置rSheet = wbIn.Worksheets(1).Range(“BI41:BI54”)
CasePack1 = rSheet(1,1)。价值
CasePack2 = rSheet(2,1)。价值
CasePack3 = rSheet(3,1)。价值
CasePack4 = rSheet(4,1)。价值
CasePack5 = rSheet(5,1)。价值
CasePack6 = rSheet(6,1)。价值
CasePack7 = rSheet(7,1)。价值
CasePack8 = rSheet(8,1)。价值
CasePack9 = rSheet(9,1)。价值
CasePack10 = rSheet(10,1)。价值
CasePack11 = rSheet(11,1).value的
CasePack12 = rSheet(12,1)。价值
CasePack13 = rSheet(13,1)。价值
CasePack14 = rSheet(14,1)。价值

“铅UPC
设置rSheet = wbIn.Worksheets(1).Range(“BK41:BK54”)
LeadUPC1 = rSheet(1,1)。价值
LeadUPC2 = rSheet(2,1)。价值
LeadUPC3 = rSheet(3,1)。价值
LeadUPC4 = rSheet(4,1)。价值
LeadUPC5 = rSheet(5,1)。价值
LeadUPC6 = rSheet(6,1)。价值
LeadUPC7 = rSheet(7,1)。价值
LeadUPC8 = rSheet(8,1)。价值
LeadUPC9 = rSheet(9,1)。价值
LeadUPC10 = rSheet(10,1)。价值
LeadUPC11 = rSheet(11,1).value的
LeadUPC12 = rSheet(12,1)。价值
LeadUPC13 = rSheet(13,1)。价值
LeadUPC14 = rSheet(14,1)。价值

“Alt键资源#
设置rSheet = wbIn.Worksheets(1).Range(“AA56:AA60”)
AltRes1 = rSheet(1,1)。价值
AltRes2 = rSheet(2,1)。价值
AltRes3 = rSheet(3,1)。价值
AltRes4 = rSheet(4,1)。价值
AltRes5 = rSheet(5,1)。价值

“Alt键资源名称
设置rSheet = wbIn.Worksheets(1).Range(“AH56:AH60”)
ResName1 = rSheet(1,1)。价值
ResName2 = rSheet(2,1)。价值
ResName3 = rSheet(3,1)。价值
ResName4 = rSheet(4,1)。价值
ResName5 = rSheet(5,1)。价值

“昏暗iRow作为整数
“iRow = 1
昏暗sSQL作为字符串

'处理的行,而没有在第一列的值
“虽然rSheet(iRow,3).value的<>”“
“建立一个SQL命令

sSQL =“INSERT INTO AS_ItemOfferSheet(NewSetup,修改,TypeSetup,TRU_ItemNo,VendStyleNo,ResourceVendName,QuoteDate,ResourceNo”
sSQL2 = "GuarAvailShipDate,BuyerName,SubmittedBy,NationalCost_Dom,NationalCost_Imp,LCL_FOB,FCL_FOB,NationalRetail,Markup,FOB_Cost,"
sSQL3 = "Ocean_FRT,Duty,SubTotal,SubTotal2,Misc_FOB,LandedCostTotal,FOB_Ship,Ocean_FRT_cft,Duty_Perc,VendorContact,VendorContactEmail,"
sSQL4 = "RepName,RepEmail,UPC1,UPC2,UPC3,UPC4,UPC5,UPC6,UPC7,UPC8,UPC9,UPC10,UPC11,UPC12,UPC13,UPC14,CreateUPC1,CreateUPC2,CreateUPC3,"
sSQL5 = "CreateUPC4,CreateUPC5,CreateUPC6,CreateUPC7,CreateUPC8,CreateUPC9,CreateUPC10,CreateUPC11,CreateUPC12,CreateUPC13,CreateUPC14,"
sSQL6 = "ItemDesc1,ItemDesc2,ItemDesc3,ItemDesc4,ItemDesc5,ItemDesc6,ItemDesc7,ItemDesc8,ItemDesc9,ItemDesc10,ItemDesc11,ItemDesc12,"
sSQL7 = "ItemDesc13,ItemDesc14,CasePack1,CasePack2,CasePack3,CasePack4,CasePack5,CasePack6,CasePack7,CasePack8,CasePack9,CasePack10,"
sSQL8 = "CasePack11,CasePack12,CasePack13,CasePack14,LeadUPC1,LeadUPC2,LeadUPC3,LeadUPC4,LeadUPC5,LeadUPC6,LeadUPC7,LeadUPC8,LeadUPC9,"
sSQL9 = "LeadUPC10,LeadUPC11,LeadUPC12,LeadUPC13,LeadUPC14,AltResNum1,AltResNum2,AltResNum3,AltResNum4,AltResNum5,ResName1,ResName2,"
sSQL10 =“ResName3,ResName4,ResName5)”

的iSQL =“VALUES('”&NewSetup&“','”&修改&“','”&TypeOfSetup&“','”&TRUItem&“','”&VendorStyle&“','”&资源名称& “','”&QuoteDate&“','”&RESOURCENUM
iSQL2 =“'”&GuarAvailShipDate&“','”&BUYERNAME&“','”&SubmittedBy&“','”&NationalCostDom&“','”&NationalCostImp&“','”&LCL_FOB_Cost&“ “,”“FCL_FOB_Cost&”','“&NationalRetail&”','“&标记&”','“&FOB_Cost
iSQL3 =“'”&Ocean_FRT&“','”&使命&“','”&小计&“','”&SubTotal2&“','”&Misc_FOB&“','”&LandedCostTotal&“ “,”“FOB_Ship&”','“&Ocean_Frt_cft&”','“&Duty_perc&”','“&VendorContactName&”','“&VendorContactEmail
iSQL4 =“'”&RepName&“','”&RepEmail&“','”&UPC1&“','”&UPC2&“','”&UPC3&“','”&UPC4&“ “,”“UPC5&”','“&UPC6&”','“&UPC7&”','“&UPC8&”','“&UPC9&”','“&UPC10&”', '“UPC11&”','“&UPC12&”','“&UPC13&”','“&CreateUPC1&”','“&CreateUPC2&”','“&CreateUPC3
iSQL5 =“'”&CreateUPC4&“','”&CreateUPC5&“','”&CreateUPC6&“','”&CreateUPC7&“','”&CreateUPC8&“','”&CreateUPC9&“ “,”“CreateUPC10&”','“&CreateUPC11&”','“&CreateUPC12&”','“&CreateUPC13&”','“&CreateUPC14
iSQL6 =“'”&ItemDesc1&“','”&ItemDesc2&“','”&ItemDesc3&“','”&ItemDesc4&“','”&ItemDesc5&“','”&ItemDesc6&“ “,”“ItemDesc7&”','“&ItemDesc8&”','“&ItemDesc9&”','“&ItemDesc10&”','“&ItemDesc11&”','“&ItemDesc12
iSQL7 =“'”&ItemDesc13&“','”&ItemDesc14&“','”&CasePack1&“','”&CasePack2&“','”&CasePack3&“','”&CasePack4&“ “,”“CasePack5&”','“&CasePack6&”','“&CasePack7&”','“&CasePack8&”','“&CasePack9&”','“&CasePack10
iSQL8 =“'”&CasePack11&“','”&CasePack12&“','”&CasePack13&“','”&CasePack14&“','”&LeadUPC1&“','”&LeadUPC2&“ “,”“LeadUPC3&”','“&LeadUPC4&”','“&LeadUPC5&”','“&LeadUPC6&”','“&LeadUPC7&”','“&LeadUPC8&”', '“&LeadUPC9
iSQL9 =“​​'”&LeadUPC10&“','”&LeadUPC11&“','”&LeadUPC12&“','”&LeadUPC13&“','”&LeadUPC14&“','”&AltRes1&“ ','“&AltRes2&”','“&AltRes3&”','“&AltRes4&”','“&AltRes5&”','“ResName1&”','“&ResName2
iSQL10 =“',”&ResName3&“','”&ResName4&“','”&ResName5&“')”

'sSQL =“INSERT INTO ClaimsXLS(ClaimNo,ClaimStatus,TotalPayment,DateOfPayment,ClaimlessRebate,RequestedAmount,WarrantyAmount)VALUES('”&_
“rSheet(1,12).value的&”','“&_
'rSheet(5,12)。价值&“',”&_
'IIF(ISNULL(rSheet(9,3)。价值)或者莱恩(rSheet(9,3)。价值)<1,0,rSheet(9,3)。价值)“,”“&_
'rSheet(10,3)。价值&“',”&_
'IIF(ISNULL(rSheet(11,3)。价值)或者莱恩(rSheet(11,3)。价值)<1,0,rSheet(11,3)。价值)“,”&_
'IIF(ISNULL(rSheet(12,3)。价值)或者莱恩(rSheet(12,3)。价值)<1,0,rSheet(12,3)。价值)“,”&_
'IIF(ISNULL(rSheet(13,3)。价值)或者莱恩(rSheet(13,3)。价值)<1,0,rSheet(13,3)。价值)&_
'“)”
“Excecute的SQL
“设置记录= Connection.Execute(sSQL)
设置记录= Connection.Execute(sSQL&sSQL2&sSQL3&sSQL4&sSQL5&sSQL6&sSQL7&sSQL8&sSQL9&sSQL10及的iSQL和iSQL2&iSQL3&iSQL4&iSQL5&iSQL6&iSQL7&iSQL8&iSQL9&iSQL10)
“设置记录= Connection.Execute(sSQL,区域经济共同体,CommandTypeEnum.adCmdText)
“移动到下一行
“iRow = iRow + 1
“WEND

“Recordset.Close
的Connection.close
wbIn.Close

结束小组

--------------解决方案-------------

你好

首先,如果你得到这些消息,什么是错的,因为一些文件/工作簿被感动了,所以指的是外部数据的公式不能正确更新。

这应该由你定。

为了避免在是烦人的信息开放(如你想要的,是或否)的Thoi添加到Workbook_Open模块

Application.DisplayAlerts = FALSE

商祺

JY

所以总结起来,就是我想要做的是:

我想连接到SQL Server和环通,有一个叫做路径列,其中包含Excel文件的路径和文件名的表。 然后打开Excel文件,并从文件中提取某些细胞,并将其插入到SQL Server数据库的另一个表。 我怎样才能做到这一点?

你好

读您的XL数据

子ReadFileList()
昏暗的周作为工作表
昏暗CL作为范围
昏暗sFile作为字符串

设置WK =工作表(“MyFileList”)'改变这一

对于每个CL在wk.Range(“A2”,wk.Range(“A1”)。完(xlDown))“更改为正确的列
sFile = cl.Value
呼叫ReadWkBk(sFile)
接下来CL

设置WK =无
结束小组

商祺

JY

我得到一个味精时,在代码中它会打开xls文件。 看来该文件不存在或者别的东西是怎么回事。

消息说:“这个工作簿包含不能更新一个或多个链接”。 “要改变链接来源,或试图再次更新值,单击编辑链接。” “留下的联系原样,点击继续。”

我一直点击继续......什么是味精,如何让过去它没有它提示我..?

你好

首先,如果你得到这些消息,什么是错的,因为一些文件/工作簿被感动了,所以指的是外部数据的公式不能正确更新。

这应该由你定。

为了避免在是烦人的信息开放(如你想要的,是或否)的Thoi添加到Workbook_Open模块

Application.DisplayAlerts = FALSE

商祺

JY

你好

问题来打开该文件。

当您单击菜单“文件”,然后选择打开你得到了什么目录?

我的文档(即默认当前目录)

也许你想另一个驱动器或目录上打开文件

商祺

JY

分类:办公室 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.782 (s). 10 q(s)