Richiesta e visualizzazione di dati di Excel tramite ASP.NET, ADO.NET e Visual C# .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 306572 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo č stato precedentemente pubblicato con il codice di riferimento I306572
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto in dettaglio come visualizzare dati da un foglio di lavoro di Excel tramite una pagina ASP.NET (aspx) utilizzando Visual C# .NET.


Creazione di un foglio di lavoro di Excel di esempio

  1. Avviare Microsoft Excel e creare un nuovo foglio di lavoro.
  2. Aggiungere al nuovo foglio di lavoro le informazioni riportate di seguito per creare un semplice database di Excel:
    Riduci questa tabellaEspandi questa tabella
    AB
    1NomeCognome
    2FaustoZaffaroni
    3OlgaFerraro
    NOTA: sebbene in questo esempio i dati inizino dalla cella A1, č possibile aggiungerli anche ad altre celle adiacenti all'interno del foglio di lavoro.
  3. Evidenziare le righe e le colonne in cui risiedono i dati.
  4. Scegliere Nome dal menu Inserisci, quindi fare clic su Definisci.
  5. Nella casella di testo Nomi nella cartella di lavoro digitare myRange1, quindi scegliere OK.
  6. Scegliere Salva dal menu File. Nell'elenco Salva in selezionare la radice del server Web (generalmente C:\InetPub\Wwwroot\). Nella casella di testo Nome file digitare ExcelData.xls. Scegliere OK.
  7. Scegliere Esci dal menu File.

Creazione di un esempio di ASP.NET utilizzando Visual C# .NET

Questo esempio di codice dimostra come eseguire query e visualizzare informazioni contenute in un foglio di lavoro di Excel. Il codice riportato di seguito utilizza il foglio di lavoro creato nella sezione precedente.
  1. Aprire Microsoft Visual Studio .NET. Verrā visualizzato l'ambiente di sviluppo integrato (IDE) di Visual Studio .NET.
  2. Scegliere Nuovo dal menu File, quindi fare clic su Progetto.
  3. Nella finestra di dialogo Nuovo progetto, in Tipi progetto fare clic su Progetti di Visual C#. In corrispondenza di Modelli fare clic su Applicazione Web ASP.NET.
  4. Nella finestra di dialogo Nuovo progetto individuare le caselle di testo Nome e Percorso. Si noti che la casella di testo Nome non č disponibile, in quanto č visualizzata in grigio o disattivata. La casella di testo Percorso contiene il testo seguente o uno analogo:
    http://localhost/WebApplication1
    Sostituire il testo nella casella di testo Percorso con http://localhost/ExcelCSTest, quindi scegliere OK. Verrā creato un nuovo progetto, che include un Web Form denominato WebForm1.aspx.
  5. Nell'ambiente di sviluppo integrato di Visual Studio .NET individuare la finestra Esplora soluzioni. Se non č possibile trovarla, scegliere Esplora soluzioni dal menu Visualizza.
  6. In Esplora soluzioni fare clic con il pulsante destro del mouse su WebForm1.aspx, quindi scegliere Progettazione viste per visualizzare la finestra di progettazione relativa all'aspetto della pagina. La finestra di progettazione consente di aggiungere controlli e di modificare l'aspetto della pagina.
  7. Individuare la casella degli strumenti. In base alla configurazione dell'ambiente di sviluppo integrato, la casella degli strumenti puō venire visualizzata come finestra oppure come pulsante, generalmente sul lato sinistro dell'ambiente di sviluppo integrato. Se non č possibile trovare la casella degli strumenti, scegliere Esplora soluzioni dal menu Visualizza.

    Se la casella degli strumenti viene visualizzata come pulsante, spostare il puntatore del mouse sul pulsante per visualizzarne il contenuto.
  8. Quando č attiva la vista finestra di progettazione di un Web Form, la casella degli strumenti č suddivisa in sezioni, incluse le sezioni Web Form, Componenti, HTML e altre sezioni. Fare clic sulla sezione Web Forms.
  9. Nella sezione Web Form della casella degli strumenti fare clic su DataGrid, quindi trascinarlo nella finestra di progettazione di WebForm1.
  10. Fare clic con il pulsante destro del mouse su WebForm1.aspx, quindi scegliere Visualizza codice per visualizzare il codice sorgente della pagina di codice sottostante.
  11. Aggiungere le seguenti istruzioni nella parte superiore della pagina di codice sottostante, sopra alla sezione dello spazio dei nomi:
    using System.Data.OleDb;
    using System.Data;
    					
  12. Evidenziare il codice riportato di seguito, fare clic con il pulsante destro del mouse sul codice, quindi scegliere Copia. In WebForm1.aspx.cs incollare il codice nell'evento Page_Load:
    // Create connection string variable. Modify the "Data Source"
    // parameter as appropriate for your environment.
    String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
    	"Extended Properties=Excel 8.0;";
    
    // Create connection object by using the preceding connection string.
    OleDbConnection objConn = new OleDbConnection(sConnectionString);
    
    // Open connection with the database.
    objConn.Open();
    
    // The code to follow uses a SQL SELECT command to display the data from the worksheet.
    
    // Create new OleDbCommand to return data from worksheet.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);
    
    // Create new OleDbDataAdapter that is used to build a DataSet
    // based on the preceding SQL SELECT statement.
    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    
    // Pass the Select command to the adapter.
    objAdapter1.SelectCommand = objCmdSelect;
    
    // Create new DataSet to hold information from the worksheet.
    DataSet objDataset1 = new DataSet();
    
    // Fill the DataSet with the information from the worksheet.
    objAdapter1.Fill(objDataset1, "XLData");
    
    // Bind data to DataGrid control.
    DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
    DataGrid1.DataBind();
    
    // Clean up objects.
    objConn.Close();
    					
  13. Scegliere Salva tutto dal menu File per salvare i file di progetto.
  14. Scegliere Genera dal menu Genera per generare il progetto. Nella pagina di codice sottostante verrā preparato il codice per l'esecuzione.
  15. In Esplora soluzioni fare clic con il pulsante destro del mouse su WebForm1.aspx, quindi scegliere Visualizza nel browser per eseguire il codice.

Spiegazione aggiuntiva del codice

L'esempio di codice contenuto in questo articolo utilizza il provider OLE DB di Microsoft Jet per accedere al foglio di lavoro di Excel. Per connettersi al foglio di lavoro viene utilizzata la seguente stringa di connessione:
// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
	"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
	"Extended Properties=Excel 8.0;";
				
Come indicano i commenti, č necessario modificare i dati del percorso adattandoli a quelli dello specifico foglio di lavoro di Excel. Č inoltre necessario impostare il valore del parametro Extended Properties per la connessione corretta al file.

Si noti che la stringa di connessione utilizza la funzione Server.MapPath. Tale funzione mappa il percorso IIS di un file e restituisce il percorso su disco rigido di tale file. Nella sezione Creazione di un foglio di lavoro di Excel di esempio, ad esempio, ExcelData.xls viene creato nella directory radice Web, che si trova in genere in corrispondenza di C:\Inetpub\Wwwroot. Nella cartella Wwwroot viene creata anche una sottocartella con nome ExcelCSTest e in quest'ultima cartella viene creato un file denominato WebForm1.aspx.

In questo esempio il percorso del file sul disco rigido sarā:
     Unitā C
        - Inetpub
            - Wwwroot (che contiene ExcelData.xls)
                - ExcelCSTest (che contiene WebForm1.aspx)
Il percorso IIS dei file č il seguente:
     Radice Web (che contiene ExcelData.xls)
        - ExcelCSTest (che contiene WebForm1.aspx)
In questo caso, il percorso relativo dalla pagina WebForm1.aspx al file ExcelData.xls č "../ExcelData.xls". I caratteri "../" indicano a IIS di procedere alla cartella di livello superiore. Pertanto, il codice
Server.MapPath("../ExcelData.xls")
				
restituisce la stringa seguente:
C:\Inetpub\Wwwroot\ExcelData.xls
Non č necessario utilizzare Server.MapPath. In alternativa, č possibile codificare questa informazione in un percorso specifico oppure utilizzare qualsiasi altro metodo per fornire il percorso del file di Excel sul disco rigido.

Riferimenti

Per ulteriori informazioni sull'accesso ai file di Excel con ASP.NET, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
307029 HOW TO: Trasferire dati XML a Microsoft Excel 2002 utilizzando Visual C# .NET
306023 Trasferimento di dati a una cartella di lavoro di Excel tramite Visual C# 2005 o Visual C# .NET
Per ulteriori informazioni sull'utilizzo di ADO.NET, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
306636 HOW TO: Connettersi a un database ed eseguire un comando utilizzando ADO.NET e Visual C# .NET
314145 HOW TO: Compilare un oggetto DataSet da un database con Visual C# .NET
307587 HOW TO: Aggiornare un database da un oggetto DataSet utilizzando Visual C# .NET
NOTA: ogni riferimento a nomi di societā, di organizzazioni, di prodotti, di domini, indirizzi di posta elettronica, logo, persone, luoghi ed eventi č puramente casuale.

Proprietā

Identificativo articolo: 306572 - Ultima modifica: lunedė 18 dicembre 2006 - Revisione: 4.8
Le informazioni in questo articolo si applicano a:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET 1.0 (incluso in .NET Framework)
  • Microsoft ASP.NET 1.0
Chiavi: 
kbdatabase kbhowtomaster kbwebforms KB306572
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com