BlackTDN Search

domingo, 25 de setembro de 2011

Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo IV : Excel

No “Post” anterior, Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo III : Excel, vimos como efetuar a “integração” do totvs/protheus server com o PowerShell para manipulação de objetos COM, no exemplo o Excel. Os exemplos, apesar de funcionais, não eram muito rápidos em função da interação totvs/protheus vs PowerShell vs Excel a cada registro.

Como prometido, os exemplos anteriores foram reescritos de forma a melhorarmos a performance da integração, interação e geração do arquivo. Para isso, um arquivo intermediário será utilizado. Ele será gerado pelo totvs/protheus server e será manipulado pelo PowerShell. Dessa forma, a interação totvs/protheus server vs PowerShell/Excel é minimizada fazendo com que a geração da planilha fique, no mínimo, duas vezes mais rápida. Ou seja, conseguiremos o mesmo resultado dos exemplos anteriores com um ganho de 50% na performance.

Ambos os exemplos foram reescritos. Podemos utilizar o PowerShell do Client ou do Server.

O arquivo intermediário a ser utilizado é do tipo ‘export-csv’ e que será manipulado pela ‘import-csv’ do PowerShell.

image

Delimitamos os dados usando “|” (pipe) chr(124) e o abrimos, no PowerShell usando import-csv. Simulado o processo no PowerGui Script Editor teríamos:

image

O interessante, desse modelo, é que o PowerShell, quando usamos import-csv, mapeia as informações da primeira linha e podemos usar  esse mapeamento para referenciá-los.

image

O “instantâneo” do código que nos facilitará essa integração pode ser visto abaixo:

image

image

Para baixar os novos exemplos, onde perceberão uma melhora significativa na performance, clique aqui.

[]s

иαldσ dj

Nenhum comentário:

Postar um comentário