Скрипт Powershell для запуска запроса на БД MS Access и экспорта данных в файл Excel - PullRequest
0 голосов
/ 30 октября 2018

Здравствуйте. Я пытаюсь написать сценарий powershell для запуска запроса к базе данных MS Access, а затем экспортировать сгенерированную из запроса таблицу в файл excel.

Вот мой текущий скрипт, но проблема, с которой я сталкиваюсь, заключается в том, что все данные экспортируются в одну ячейку. Мне нужно, чтобы каждый элемент поля был экспортирован в свой собственный столбец.

$DBFilePath ="D:\SFET_BuildVersion\CurrencyReport\ClientBuildVersions.accdb" 
$adOpenStatic = 3 
$adLockOptimistic = 3 
$infoColl = @() 

$conn=New-Object -com "ADODB.Connection" 
$rs = New-Object -com "ADODB.Recordset" 
$conn.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$DBFilePath; Persist Security Info=False;") 
$rs.Open("SELECT * from SFClient",$conn,$adOpenStatic,$adLockOptimistic) 
$rs.MoveFirst() 
$myOuput = While ( ! $rs.EOF ) { 
    New-Object -TypeName PSObject -Property @{ 
        Customer = $rs.Fields.Item('Customer').Value 
        HHRR = $rs.Fields.Item('HHRR').Value 
        System = $rs.Fields.Item('System').Value 
        Release_Level = $rs.Fields.Item('Release Level').Value 
        TNTAL_version = $rs.Fields.Item('TNTAL version').Value 
        HF_Level = $rs.Fields.Item('HF Level').Value 
        Createdate = $rs.Fields.Item('Createdate').Value 
        CLAIMS_version = $rs.Fields.Item('CLAIMS version').Value 
        CreatedateC = $rs.Fields.Item('CreatedateC').Value 
        PayerRules_version = $rs.Fields.Item('PayerRules version').Value 
        ECV_Version = $rs.Fields.Item('ECV Version').Value 
        Edits = $rs.Fields.Item('Edits').Value 
        REGs_version = $rs.Fields.Item('REGs version').Value 
        BBM = $rs.Fields.Item('BBM version').Value 
        OMS_version = $rs.Fields.Item('OMS version').Value 
        Runtime = $rs.Fields.Item('Runtime').Value 
        HASvr = $rs.Fields.Item('HASvr').Value 
        EOS = $rs.Fields.Item('EOS').Value 
        CurrencyDays = $rs.Fields.Item('Currency Days').Value 
    } 

    $rs.MoveNext() 
} 
$conn.Close 
$rs.Close 

$myOuput | FT -a 
$myOuput | Out-GridView 
$myOuput | Export-csv D:\SFET_BuildVersion\CurrencyReport\SFClient.xlsx -NoTypeInformation 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...