BlackTDN Search

domingo, 7 de agosto de 2011

PowerShell :: Lendo o Conteúdo de uma Planilha Excel

No “Post” Anterior: “PowerShell :: Trabalhando com o Excel” vimos como criar e manipular valores em uma Planilha Excel. Agora vamos ler/obter os valores a Partir de uma planilha.

Usando o Excel, crie uma Planilha com as seguintes dados:

PS_COM_READ_EXCEL_00

Salve em c:\Pasta1.xls.

Agora, usando o “PowerGUI Script Editor”  vamos abri-la e ler o conteúdo de cada Célula usando o seguinte “Script”

# -----------------------------------------------------
function Release-Ref ($ref) {
([System.Runtime.InteropServices.Marshal]::ReleaseComObject(
[System.__ComObject]$ref) -gt 0)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
}
# -----------------------------------------------------
$objExcel = new-object -comobject excel.application 
$objExcel.Visible = $True 
$objWorkbook = $objExcel.Workbooks.Open("C:\Pasta1.xls")
$objWorksheet = $objWorkbook.Worksheets.Item(1)
$intRow = 2
Do {
    "Codigo: " + $objWorksheet.Cells.Item($intRow, 1).Value()
    "Descricao: " + $objWorksheet.Cells.Item($intRow,2).Value()
    "Valor: " + $objWorksheet.Cells.Item($intRow,3).Value()
    $intRow++
}
While ($objWorksheet.Cells.Item($intRow,1).Value() -ne $null)
$objExcel.Quit()
$a = Release-Ref($objWorksheet)
$a = Release-Ref($objWorkbook)
$a = Release-Ref($objExcel)

(baseado no original obtido em: Microsoft | TechNet)

PS_COM_READ_EXCEL_01 

PS_COM_READ_EXCEL_02 

Para extender às suas necessidades e aplicativos é só usar a criatividade e o “Google” para maiores referências.

“Saída pela Esquerda!”

[]s
иαldσ dj

4 comentários:

  1. Interessante esse PS...

    Vou dar uma pesquisada com mais calma.

    Abs!

    ResponderExcluir
  2. Muito obrigado por não me ajudar em nada...

    ResponderExcluir
  3. Naldo, tem como importar em harbour um planilha do excel ?

    ResponderExcluir
    Respostas
    1. Sim, Tem. Tanto em Harbour quanto em PS.

      Excluir