Pregunta

Estoy intentando exportar un informe de Crystal a un archivo de texto, al mismo tiempo que conservo los caracteres Unicode que se encuentran dentro. De manera predeterminada, parece que Crystal Reports se exporta a un archivo de texto ANSI.

Aquí hay una versión muy simplificada de lo que estoy haciendo:

Dim objCRReport As CRAXDRT.Report
[...]
objCRReport.ExportOptions.FormatType = 8 'crEFTText
objCRReport.ExportOptions.DestinationType = 1 'crEDTDiskFile
objCRReport.ExportOptions.DiskFileName = "C:\reportInTextFormat.txt"
objCRReport.Export blnPromptUser 

Dado que crea un archivo en formato ANSI, pierdo cualquier carácter especial que se haya encontrado en el informe. Todos estos caracteres están bien cuando ve el Informe Crystal directamente.

Tenga en cuenta que estoy haciendo referencia a la " Crystal Reports 9 ActiveX Designer Runtime Library " específicamente.

¿Fue útil?

Solución

Quiero señalar que he intentado crear previamente un archivo Unicode con el mismo nombre anterior para la exportación, con la esperanza de que el código de Crystal detecte el archivo y lo agregue en lugar de creando un archivo ANSI, pero desafortunadamente este no es el caso.

Entonces pensé que podía solucionar este problema (estilo ninja) simplemente exportando a un archivo RTF (que conserva los caracteres), y luego leyendo el contenido de este RTF (menos el formato). Luego crearía yo mismo un archivo de texto Unicode y le escribiría el contenido de RTF. Desafortunadamente, para lograr esto, tuve que estudiar el uso de un RichTextBox, pero encontré una gran cantidad de problemas con eso. Creo que tendría más éxito en VB.Net, pero desafortunadamente estoy atascado con VB6 para esta tarea.

Después de probar esos enfoques, encontré un artículo que parece para sugerir que Crystal Reports 9 admite exportar a un archivo de texto Unicode, pero todavía tengo que verlo funcionar. Menciona que el motor de impresión lo admite, por lo que voy a mirar más a fondo para ver si puedo invocarlo, en caso de que el .export no lo haga por sí mismo (lo cual dudo).

Resulta que Crystal depende en gran medida del controlador de la impresora para el soporte de Unicode , así que decidí estudiarlo. Resulta que el controlador de impresora tenía para ser compatible con Unicode, y este fue el caso en mi entorno de prueba. Aunque fue interesante descubrirlo, no resolvió mi problema, ya tenía un controlador de impresora compatible.

Entonces, finalmente: después de unos días de intentar encontrar una solución a esto, mi jefe decidió que era hora de reducir nuestras pérdidas, y en lugar de eso, planeamos un nuevo diseño de la función, sin implicar a Crystal Report to Text las exportaciones. Sin embargo, todavía estoy muy interesado en cómo exportar a un archivo de texto Unicode con Crystal, así que responda si sabe cómo hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top