Domanda

Sto provando a esportare un Crystal Report in un file di testo, preservando tutti i caratteri Unicode che si trovano all'interno. Per impostazione predefinita, Crystal Reports sembra esportare in un file di testo ANSI.

Ecco una versione altamente semplificata di ciò che sto facendo:

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

Poiché crea un file in formato ANSI, perdo tutti i caratteri speciali trovati nel rapporto. Questi personaggi vanno bene quando si visualizza direttamente il report Crystal.

Si prega di notare che mi riferisco alla " Crystal Reports 9 ActiveX Designer Runtime Library " nello specifico.

È stato utile?

Soluzione

Voglio sottolineare che ho provato a pre-creare un file Unicode con lo stesso nome precedente all'esportazione, sperando che il codice Crystal notasse il file e lo accodassi invece di creando un file ANSI, ma sfortunatamente non è così.

Ho quindi pensato di poter aggirare questo problema (stile ninja) semplicemente esportando in un file RTF (che conserva i caratteri), quindi leggendo il contenuto di questo RTF (meno la formattazione). Vorrei quindi creare un file di testo Unicode da solo, scrivendo il contenuto RTF su di esso. Sfortunatamente, per raggiungere questo obiettivo, ho dovuto esaminare l'uso di RichTextBox, ma ho riscontrato una serie di problemi. Penso che avrei più successo in VB.Net, ma sfortunatamente sono bloccato con VB6 per questo compito.

Dopo aver provato questi approcci, ho trovato un articolo che sembra suggerire che Crystal Reports 9 supporta l'esportazione in un file di testo Unicode, ma devo ancora vederlo funzionare. Indica che il motore di stampa lo supporta, quindi guarderò più in profondità per vedere se posso invocarlo, nel caso in cui .export non lo stia facendo da solo (cosa di cui dubito).

Si scopre Crystal si affida fortemente al driver della stampante per il supporto Unicode , quindi ho deciso di esaminarlo. Risulta che il driver della stampante aveva per supportare Unicode, e questo era il caso nel mio ambiente di test. Sebbene questo fosse interessante da scoprire, non ha risolto il mio problema: avevo già un driver di stampante compatibile.

Quindi, finalmente: dopo alcuni giorni di tentativi di trovare una soluzione a questo, il mio capo ha deciso che era tempo di tagliare le nostre perdite, e invece abbiamo programmato una riprogettazione della funzionalità, senza coinvolgere Crystal Report to Text esportazioni. Sono comunque molto interessato a come esportare in un file di testo Unicode con Crystal, quindi rispondi se sai come.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top