Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Importare fogli di lavoro di Excel in Visual Studio LightSwitch

Una decina di giorni fa il Team di Visual Studio LightSwitch ha rilasciato una estensione davvero fenomenale, che permette di importare fogli di lavoro di Excel all'interno delle applicazioni LightSwitch Beta 2 con una sola riga di codice :-)

L'estensione si chiama Excel Importer for Visual Studio LightSwitch ed è disponibile nella Code Gallery di MSDN a questo indirizzo. Per poterla utilizzare nelle nostre applicazioni bisogna avere Visual Studio 2010 Professional o superiore e il Visual Studio 2010 SDK installato. E' poi necessario aprire la soluzione e semplicemente compilarla.

Dopodiché, bisogna andare nella sottocartella di output del progetto chiamato Vsix e lanciare il pacchetto .Vsix che installerà l'estensione e la renderà fruibile dall'IDE. Fatto questo, supponiamo di avere il seguente foglio di lavoro di Excel:

Ora supponiamo di avere un'applicazione LightSwitch che sia collegata al database dimostrativo Northwind, oppure a un qualunque database che abbia una tabella Customers che abbia le colonne corrispondenti a quelle del foglio di lavoro. Prima di procedere all'importazione, è necessario attivare l'estensione precedentemente installata. Questo si fa andando nella scheda Extensions delle proprietà dell'applicazione, infine si flagga la casella relativa all'estensione in questione:

Successivamente si va in un qualunque screen precedentemente creato e che punti alla tabella Customers, come ad esempio una Editable Grid. Qui si può aggiungere un nuovo pulsante di cui poi gestiremo il codice. Il pulsante può essere posizionato in questo modo, come evidenziato nel designer:

Facciamo doppio click sul nuovo pulsante per gestire l'evento Execute.  Questo è tutto ciò che dovremo scrivere:

        Private Sub ImportFromExcel_Execute()
            ' Write your code here.
            LightSwitchUtilities.Client.ImportFromExcel(Me.Customers)
        End Sub

In sostanza richiamiamo il metodo ImportFromExcel esposto dall'estensione, il cui unico argomento è il tipo di collection associata allo screen corrente. Nulla di più facile. Il metodo aprirà una Open File Dialog, consentirà la selezione del file di Excel, lo analizzerà e lo importerà. Unica accortezza: a causa di limitazioni di security imposte da Silverlight, il file di Excel deve risiedere nella cartella dei Documenti. Se eseguiamo l'applicazione e clicchiamo sul pulsante appena creato, quindi, selezioniamo dalla dialog il file di Excel mostrato all'inizio.

Molto intelligentemente, prima di procedere a una bieca importazione, l'estensione ci propone la mappatura delle colonne nel foglio di Excel con quelle della tabella del nostro database e ci chiede conferma:

Se la cosa ci piace, non ci resta che fare click su OK e goderci poi lo spettacolo dell'importazione:

Una sola riga di codice, un paio di click e il gioco è fatto. Complimenti vivissimi al Team di LightSwitch per l'ottimo strumento!

Alessandro

Print | posted on lunedì 4 aprile 2011 01:28 | Filed Under [ Visual Studio LightSwitch ]

Powered by:
Powered By Subtext Powered By ASP.NET