Question

J'essaie d'exporter un rapport Crystal dans un fichier texte tout en préservant les caractères Unicode trouvés. Par défaut, Crystal Reports semble exporter vers un fichier texte ANSI.

Voici une version très simplifiée de ce que je fais:

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

Puisqu'il crée un fichier au format ANSI, je perds tous les caractères spéciaux trouvés dans le rapport. Ces caractères conviennent tous lorsque vous visualisez directement le rapport Crystal.

Veuillez noter que je fais référence à la bibliothèque d'exécution de Crystal Reports 9 ActiveX Designer " spécifiquement.

Était-ce utile?

La solution

Je tiens à signaler que j'ai essayé de créer au préalable un fichier Unicode portant le même nom avant , en espérant que le code Crystal le remarquerait et l'ajouterait au lieu de créer un fichier ANSI, mais ce n’est malheureusement pas le cas.

J'ai alors pensé pouvoir contourner ce problème (style ninja) en exportant simplement dans un fichier RTF (qui conserve les caractères), puis en lisant le contenu de ce RTF (sans le formater). Je créerais ensuite moi-même un fichier texte Unicode en y écrivant le contenu RTF. Malheureusement, pour y parvenir, j'ai dû envisager d'utiliser un RichTextBox, mais j'ai rencontré de nombreux problèmes. Je pense que j'aurais plus de succès sur VB.Net, mais malheureusement, je suis coincé avec VB6 pour cette tâche.

Après avoir essayé ces approches, j'ai trouvé un article qui semble de suggérer que Crystal Reports 9 prend en charge l’exportation vers un fichier texte Unicode, mais je ne l’ai pas encore vu fonctionner. Il est mentionné que le moteur d’impression le supporte. Je vais donc regarder plus en profondeur pour savoir si je peux l’invoquer, au cas où .export ne le fasse pas lui-même (ce dont je doute).

Il s'avère que Crystal s'appuie fortement sur le pilote d'imprimante pour la prise en charge de l'Unicode , alors j'ai décidé de m'y intéresser. Il s'avère que le pilote d’imprimante devait prendre en charge l’Unicode, et c’était le cas dans mon environnement de test. C'était intéressant à découvrir, mais cela ne réglait pas mon problème: j'avais déjà un pilote d'imprimante compatible.

Donc, finalement: après quelques jours de tentatives pour trouver une solution à ce problème, mon patron a décidé qu'il était temps de réduire nos pertes et nous avons plutôt planifié une nouvelle conception de la fonctionnalité, sans impliquer Crystal Report to Text exportations. Cependant, je suis toujours très intéressé par la manière d’exporter dans un fichier texte Unicode avec Crystal. Veuillez donc répondre, si vous savez comment faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top