Closed marcos-abrahao closed 4 years ago
THREAD ERROR ([3708], adalberto.xavier, BKCSNOTAS0564) 14/07/2020 11:13:31 type mismatch on + on YEXCEL:XLS_SHAREDSTRINGS(YEXCEL.PRW) 11/06/2020 09:34:58 line : 3657
Oi Marcos Poderia me passar como simular esse problema. Se você já conseguiu identificar como solucionar esse problema também seria bem vindo.
A principio essa lista do tHashMap da linha 2657 deveria ter apenas caracteres, não fazendo sentido eu verificar o seu conteúdo.
Boa tarde! Uma tabela continha a string "LINDIC�SSIA SILVA DE CASTRO " e ocasionou o erro. Fiz o seguinte para contornar:
Method xls_sharedStrings(nFile) class YExcel
Local nCont
Local aString
Local cRet := ""
Local cEncod:= ""
::oString:list(@aString)
aSort(aString,,,{|x,y| x[2]<y[2] })
cRet += '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'
cRet += '
Com base na sua sugestão fiz o seguinte ajuste. Já subir para a versão principal.
cTexto := EncodeUTF8(aString[nCont][1])
If Valtype(cTexto)!="C"
cTexto := aString[nCont][1]
cTexto := Replace(cTexto,chr(129),"")
cTexto := Replace(cTexto,chr(141),"")
cTexto := Replace(cTexto,chr(143),"")
cTexto := Replace(cTexto,chr(144),"")
cTexto := Replace(cTexto,chr(157),"")
cTexto := EncodeUTF8(cTexto)
If Valtype(cTexto)!="C"
cTexto := ""
EndIf
EndIf
cRet += '<t><![CDATA['+cTexto+']]></t>'
ajustado.
Obrigado Saulo! Perfeito!
Nas proximidades da linha 3657, não está sendo testado a chamada a funcão EncodeUTF8(aString[nCont][1]) retornar NIL, causando erro na linha se a conversão para UTF8 falhar.