我在一个文件夹中有100多个电子邮件,并且它们都有附件。我想创建一个包将所有电子邮件附件中的数据复制到一个Excel表中,并添加一个列,这些列将包含这些电子邮件的接收日期与数据的对应关系。任何人都可以指导我如何在ssis包。ssis软件包将电子邮件附件中的数据导入excel
0
A
回答
0
不是ssis,但它应该产生所需的结果。只需更改最后一行的路径。
function Get-Attachment
{
[CmdletBinding()]
Param
(
[Parameter(ParameterSetName="Path", Position=0, Mandatory=$True)]
[String]$Path,
[Parameter(ParameterSetName="LiteralPath", Mandatory=$True)]
[String]$LiteralPath,
[Parameter(ParameterSetName="FileInfo", Mandatory=$True, ValueFromPipeline=$True)]
[System.IO.FileInfo]$Item
)
Begin
{
remove-item $Path\attachments.xlsx
$outlook = New-Object -ComObject Outlook.Application
$excel = New-Object -ComObject Excel.Application
$excel.visible = $true
$workbook = $excel.Workbooks.add()
$s1 = $workbook.Sheets.add()
$s1.name = "Attachments"
$cells= $s1.Cells
$s1.range("A1:A1").font.bold = "true"
$s1.range("A1:A1").cells="RecDate"
$s1.range("B1:B1").cells="Data"
$s1.range("B1:B1").font.bold = "true"
}
Process
{
switch ($PSCmdlet.ParameterSetName)
{
"Path" { $files = Get-ChildItem -Path $Path }
"LiteralPath" { $files = Get-ChildItem -LiteralPath $LiteralPath }
"FileInfo" { $files = $Item }
}
$row=2
$col=2
$files | % {
$msgFn = $_.FullName
if ($msgFn -notlike "*.msg") {
return
}
$msg = $outlook.CreateItemFromTemplate($msgFn)
$rdate = $msg.ReceivedTime
$msg.Attachments | % {
$attFn = $msgFn -replace '\.msg$', " - Attachment - $($_.FileName)"
if (Test-Path -literalPath $attFn) {
return
}
$_.SaveAsFile($attFn)
Get-ChildItem -LiteralPath $attFn
$d = (Get-Content -Path $attFn -Raw)
$cells.item($row,$col)=$d.ToString()
$cells.item($row,1) = $rdate
$row++
}
$s1.range("A1:B1").EntireColumn.autofit() | out-Null
$s1.range("A1:B1").EntireColumn.WrapText = $false | out-Null
}
}
End
{
$workbook.SaveAs("$Path\attachments.xlsx")
}
}
Get-Attachment -Path C:\Users\Administrator\pathtodir\
相关问题
- 1. 电子邮件附件VBA excel
- 2. Outlook VBA将电子邮件从子文件夹导入Excel
- 3. 导入电子邮件信息到Excel
- 4. 根据电子邮件主题保存电子邮件附件
- 5. 如何将Excel文件作为电子邮件附件放入SAP CMC中?
- 6. 电子邮件附件
- 7. PHP电子邮件附件
- 8. 电子邮件附件
- 9. 电子邮件附件
- 10. Powershell电子邮件附件
- 11. 电子邮件附件
- 12. 电子邮件附件?
- 13. 将附件添加到电子邮件
- 14. 将文件附加到电子邮件
- 15. 将附件添加到电子邮件
- 16. 如何将电子邮件附加到其他电子邮件?
- 17. 来自变量的SSIS电子邮件任务附件名称
- 18. 将压缩的电子邮件附件中的CSV导入到SQL Server
- 19. 电子邮件将SSRS报告为Excel附件On Demand
- 20. 电子邮件中的Itext PDF附件
- 21. 附件中的电子邮件phpmailer
- 22. 在PHP中的电子邮件附件?
- 23. HttpClient中的电子邮件附件
- 24. SSIS包导入Excel文件到SQL Server
- 25. 使用SSIS下载电子邮件附件
- 26. 用附件发送电子邮件到多封电子邮件
- 27. SendGrid电子邮件API,发送电子邮件附件
- 28. 通过管道电子邮件保存电子邮件附件
- 29. 在电子邮件中附加文件
- 30. 从数据库中创建Excel和发送电子邮件附件
在PowerShell或vba中执行此操作会更容易。你的邮件服务器是什么? –
这些邮件放在不在邮件服务器上的文件夹中。 – brit
只是为了澄清,文件系统中的文件夹?包含附件的文件的内容是什么? –