Boa tarde, alguém já fez algo parecido ou poderia me informar se existe a possibilidade de realizar a leitura de uma planilha excel, e pegar o valor de uma determinada coluna, gerando uma outra planilha?
Boa tarde, alguém já fez algo parecido ou poderia me informar se existe a possibilidade de realizar a leitura de uma planilha excel, e pegar o valor de uma determinada coluna, gerando uma outra planilha?
Olá, Já é possível criar uma planilha do excel no formato xlsx usando a função FwPrinterXlsx
Até onde sei, hoje o Protheus só permite a leitura de planilhas do tipo csv. Para isso, você pode utilizar a classe FwFileReader.
Segue um exemplo:
User Function XLECSV
Local nI := 0
Local cLine := ''
Local aLines := {}
Local aItens := {}
Local oFile := Nil
oFile := FwFileReader():New('c:\temp\planilha.csv')
If(oFile:Open())
// pego todas as linhas do arquivo
aLines := oFile:GetAllLines()
oFile:Close()
Else
ConOut('Não foi possível abrir o arquivo')
EndIf
// Verifica se o arquivo possui linhas
If(Len(aLines) > 0)
// Percorre as linhas do arquivo
For nI := 1 To Len(aLines)
// obtem a linha atual do arquivo
cLine := aLines[nI]
// quebra a linha atual em um array
aItens := StrTokArr(cLine, ';')
// efetue seu processamento utilizando a variávei aItens
Next nI
EndIf
Return
Uma vez lida sua planilha csv, você pode criar uma planilha xml ou xlsx usando as classes FwMsExcelEx e FwMsExcelXlsx respectivamente.
Agradeço pela ajuda, ajudou bastante
— vhugobf 14 de Jul de 2023