我必须将数据从Excel导入SQL Server数据库。
我每天通过电子邮件收到Excel文件。我必须从电子邮件中删除它们并将内容放入数据库。此外,我想自动化它而不是手动操作。
我正在考虑以下想法:
从收件箱中取出电子邮件附件(使用某些工具等自动化过程)并保存它以说出O:
驱动器(然后从那里进入数据库很简单)
获取任何可用工具(开源)的帮助,直接从收件箱中将Excel内容导入SQL Server。
我希望这对我想要做的事情有意义。
有人可以告诉我如何实现自动化吗?
谢谢, AP
答案 0 :(得分:0)
你可以在这里使用VBA。
1)从Outlook下载附件。
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "C:\Users\DT168\Documents\outlook-attachments\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
2)将Excel文件中的数据加载到SQL Server中。
Sub InsertARecord()
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stCon As String, stSQL As String
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
stCon = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=JOEY"
cnt.ConnectionString = stCon
stSQL = "INSERT INTO MyTable (FieldNames)"
stSQL = stSQL & "VALUES (ActualValues)"
stSQL = stSQL & "WHERE lockStatus = 'nolock'"
cnt.Open
rst.Open stSQL, cnt, adOpenStatic, adLockReadOnly, adCmdText
If CBool(rst.State And adStateOpen) = True Then rst.Close
Set rst = Nothing
If CBool(cnt.State And adStateOpen) = True Then cnt.Close
Set cnt = Nothing
End Sub
另请参阅此网址。
https://www.excel-sql-server.com/excel-sql-server-import-export-using-vba.htm#Introduction