PDA

View Full Version : [VB 2010]Crystal Reports


Jack-Carter
23-12-2010, 22:09
Salve a tutti, ho un programma in cui dovrei permettere la stampa di alcuni dati contenuti in una classe (volendo li posso anche mettere in un datagridview, li recupero tramite delle query mysql). Cercando un po' su internet ho dedotto che la soluzione migliore sia usare questi famosi Crystal Reports, il problema è che la documentazione che ho trovato è davvero scarsa, i Crystal Reports sono sempre stati integrati in Visual Studio, ma a quanto pare nel 2010 sono diventati un download a parte, e forse è anche per questo che si trova poco materiale in giro.
Se qualcuno ha esperienza in questo campo e riesce a darmi una mano, magari giusto per capire quali sono gli steps fondamentali per impostare una stampa gliene sarei grato, grazie ;).

jackk87
23-12-2010, 23:16
Ciao io non ho mai utilizzato i crystal reports perchè non cerchi di utilizzare la classe printing?

qui puoi trovare maggiori informazioni stampare-tabella-datagridview (http://forum.masterdrive.it/visual-basic-net-tutorials-and-how-to-36/stampare-tabella-datagridview-25705/) :)

Jack-Carter
25-12-2010, 14:08
Eccomi :), quell'esempio è perfetto per effettuare una stampa sullo stesso PC su cui gira il programma, ti ringrazio ;).
Se invece volessi salvare i dati su un file per far si che chiunque possa stamparli? Io pensavo a un semplice file HTML con una tabella, solo che di HTML non sono molto esperto, avrei poi il problema di mandare a capo i campi con molto testo per non uscire dalla pagina (si pensi solo che ho un campo "Note").
Hai qualche altra brillante idea in proposito? :D

jackk87
26-12-2010, 00:17
Eccomi :), quell'esempio è perfetto per effettuare una stampa sullo stesso PC su cui gira il programma, ti ringrazio ;).
Se invece volessi salvare i dati su un file per far si che chiunque possa stamparli? Io pensavo a un semplice file HTML con una tabella, solo che di HTML non sono molto esperto, avrei poi il problema di mandare a capo i campi con molto testo per non uscire dalla pagina (si pensi solo che ho un campo "Note").
Hai qualche altra brillante idea in proposito? :D

Ciao allora per salvare un file della stampa io non userei il formato HTML userei uno di quelli più utilizzati e cioè il file PDF. Per salvare la stampa su un file PDF ci sono 2 strade, quella più semplice e installare sul pc una stampante PDF virtuale ed il gioco è fatto altrimenti ci sono delle librerie esterne anche free tipo http://www.pdfsharp.net/wiki/. Altrimenti un'altra alternativa all'HTML potrebbe essere un file Excel e ci sono molte soluzioni in rete tra cui
http://www.settorezero.com/wordpress/vbnet-esportare-una-datagridview-in-excel-una-comoda-funzione-datagridview-to-excel-pronta-alluso/

http://www.dotnethell.it/articles/Import-Excel-.NET-ODBC-OLEDB-Drag-and-Drop.aspx

Per quanto riguarda il campo note devi gestirlo sempre da vb.net contando i caratteri oppure ancora meglio utilizzare la funzione MeasureString del namespace graphics http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx e andare a capo quando trovi un carattere come spazio.
Puoi gestirlo come vuoi ma bisogna lavorarci un pò casomai butta giù un pò di codice e se hai problemi chiedi ;)

tacchinox
26-12-2010, 13:04
Io ora uso il reportviewer della microsoft, quello che va con i *.rdlc.
Non è male, fa le stesse cose del crystal report.

Jack-Carter
27-12-2010, 16:17
Per quanto riguarda Excel, dopo aver passato 2 settimane a cercare un modo per usarlo efficientemente, ho lasciato perdere. Le interop assemblies non mi piacciono perchè richiedono che Excel sia installato sul computer che genera il file, la connessione ODBC se non ho capito male richiede appunto che venga stabilita una connessione fra il computer col mio programma e quello col file excel, anche qui è troppo complicato.
Questa libreria PDF invece mi piace molto, solo che non riesco a capire come installarla! Ho scaricato il package completo, ma non ho idea di quali files aggiungere al progetto per utilizzarla, un aiutino? :asd:
Al reportviewer della Microsoft ho dato un'occhiata, è interessante ma ho paura che ci perderei di nuovo troppo tempo a capirlo bene.

jackk87
27-12-2010, 16:25
Per quanto riguarda Excel, dopo aver passato 2 settimane a cercare un modo per usarlo efficientemente, ho lasciato perdere. Le interop assemblies non mi piacciono perchè richiedono che Excel sia installato sul computer che genera il file, la connessione ODBC se non ho capito male richiede appunto che venga stabilita una connessione fra il computer col mio programma e quello col file excel, anche qui è troppo complicato.
Questa libreria PDF invece mi piace molto, solo che non riesco a capire come installarla! Ho scaricato il package completo, ma non ho idea di quali files aggiungere al progetto per utilizzarla, un aiutino? :asd:
Al reportviewer della Microsoft ho dato un'occhiata, è interessante ma ho paura che ci perderei di nuovo troppo tempo a capirlo bene.

Ciao se vai qui ci sono molti esempi http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx :)

Jack-Carter
27-12-2010, 19:06
Ciao se vai qui ci sono molti esempi http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx :)
No ma non è che non so come richiamare i comandi, è che proprio non capisco come aggiungere le librerie al progetto, ho provato ad aprire l'esempio Hello World ma mi diceva che non riconosceva i comandi...

jackk87
27-12-2010, 21:44
No ma non è che non so come richiamare i comandi, è che proprio non capisco come aggiungere le librerie al progetto, ho provato ad aprire l'esempio Hello World ma mi diceva che non riconosceva i comandi...

Ciao ti ho compilato io tutte le librerie e le pui scaricare qui PdfSharp.rar (http://jackvc09.altervista.org/PdfSharp.rar)
cmq puoi scaricare il tutto compreso anche il sourcecode da qui http://www.pdfsharp.net/Downloads.ashx
Se hai problemi scrivi pure :)

Jack-Carter
27-12-2010, 23:43
Ciao ti ho compilato io tutte le librerie e le pui scaricare qui PdfSharp.rar (http://jackvc09.altervista.org/PdfSharp.rar)
cmq puoi scaricare il tutto compreso anche il sourcecode da qui http://www.pdfsharp.net/Downloads.ashx
Se hai problemi scrivi pure :)
Grazie sei stato gentilissimo ;). Io però in Visual Studio non ho mai usato librerie esterne di questo tipo, non sono molto esperto, come le aggiungo al progetto? Devo fare "aggiungi riferimento" una a una?
Grazie ancora!

jackk87
28-12-2010, 06:28
Grazie sei stato gentilissimo ;). Io però in Visual Studio non ho mai usato librerie esterne di questo tipo, non sono molto esperto, come le aggiungo al progetto? Devo fare "aggiungi riferimento" una a una?
Grazie ancora!

allora penso che per quello che devi fare hai bisogno solo della libreria principale la PdfSharp.dll e per aggiungerla al progetto clicca su project->Add Reference->Browse la cerchi e fai ok ed è tutta tua :D

Jack-Carter
11-01-2011, 22:48
Rieccomi ;), ho provato a smanettare un po' con PdfSharp e MigraDoc, ma la significativa mancanza di documentazione VB e il grosso problema che sulla home page specificano chiaramente che il rendering delle tabelle è lento, ho dovuto cambiare libreria. Mi sono imbattuto nella famosa iTextSharp, e devo dire che è molto semplice da usare, infatti ho usato questa nel programma e ora è tutto a posto ;), la consiglio caldamente a chi abbia esigenza di creare tabelle PDF ;).