none
[VB2010] E' possibile creare un file excel?

    Question

  • Salve a tutti ,

    mi servirebbe sapere se è possibile creare file excel mediante il codice di VB. Se è possibile che codice devo inserire nella mia applicazione?

    Ho provato con una cosa del genere:

    Imports

     

    System

    Imports

     

    System.IO

    Imports

     

    System.Text

    Module

     

    Module1

     

    Sub

    Main()

     

    Dim path As String =

    "C:\Users\UTENTE\Desktop\abc.xls"

     

    ' Create or overwrite the file.

     

    Dim fs As FileStream = File

    .Create(path)

     

    End

    Sub

     

    End

     

    Module

     

    ma quando apro il file excel creato mi viene segnalato un errore.

    Grazie in anticipo per ogni risposta

    Tuesday, January 17, 2012 9:22 AM

Answers

  • Ciao!

    Per creare file Excel dal tuo programma, devi utilizzare una libreria di terze parti che ti permetta di scrivere file nel formato atteso. Ci sono soluzioni sia free sia a pagamento per ottenere questo risultato.

    Innanzi tutto, se sulla macchina è installato Excel, puoi usare direttamente l'oggetto COM esposto da quest'ultimo per la creazione di file. Qui: http://www.codeproject.com/KB/cs/Excel_and_C_.aspx trovi un esempio del suo utilizzo. E' scritto in C#, ma dovresti riuscire a comprenderlo con facilità, eventualmente ricorrendo ad un convertitore di codice come questo: http://www.developerfusion.com/tools/convert/csharp-to-vb/.

    A me personalmente piace poco utilizzare direttamente Excel per la scrittura dei file, anche perché non voglio mettere dipendenze con oggetti COM nelle mie applicazioni, che vanno aggiornate quando cambiano i componenti, potrebbero non essere installate, ecc.

    Di solito, quindi, mi oriento verso soluzioni free di terze parti. Io uso la libreria CarlosAg Excel Xml Writer, che puoi trovare qui: http://www.carlosag.net/tools/excelxmlwriter/. Essa produce file Excel utilizzando il formato XML. E' molto semplice da usare ed estramamente veloce, come vuoi vedere da alcuni semplici esempi qui: http://www.carlosag.net/tools/excelxmlwriter/sample.

    In alternativa, puoi dare uno sguardo alla libreria excellibrary, http://code.google.com/p/excellibrary/, che ti permette di salvare file nel formato nativo di Excel (XLS).

    Né CarlosAg Excel Xml Writer  excellibrary utilizzano l'oggetto COM di Excel.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    Tuesday, January 17, 2012 9:43 AM

All replies