Condividi tramite

Copiare dati da foglio di Excel a form di Visual Studio 2010

Anonimo
2015-11-16T22:14:31+00:00

Ciao a tutti,

sapreste consigliarmi in questo quesito che vi pongo?

Vorrei copiare il contenuto di una cella di un foglio di Excel in una Label presente in un form creato con visual studio2010, mi ricordo che in vb6 si utilizzava un codice come quello che riporto sotto,

Public Sub cmdArchivio_Click()

Set xlApp = CreateObject("Excel.Application")

Set xls = xlApp.Workbooks.Open("C:\Documents and Settings\Administrator\Documenti\ARCHIVIO.xlsx")              ‘Percorso del file

Set foglio = xls.Worksheets("ARCHIVIO")        'Nome del foglio

foglio.Cells(8, 4) = strTxt                    'cella da dove copiare i dati

strTxt = Label1.Text                           'copiatura dati in label1

ma in  visual studio2010 questo codice non è corretto, mi sapete dare un consiglio???????

Ciao e grazie.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2015-12-05T23:10:25+00:00

    Ciao Mauro,

    mi ri-scuso x le mie risposte sempre in ritardo, ma purtroppo sto' lavorando in trasferta e riesco a dedicarmi alle mie passioni solo il sabato e dom.

    Ho inserito le referenze che in precedenza avevo erroneamente tralasciato, poi ho scritto il codice ,ma quando clicco il pulsante chiamiamolo "Button1"  si apre la finestra contenente il foglio Excel chiamato nel codice... ma chiamiamola la "label1" resta vuota  quando invece dovrebbe esserci scritto il valore richiamato dal codice.

    Sapresti consigliarmi.....perché il codice che mi hai suggerito è corretto ma manca qualcosa.

    Ti ringrazio x il tempo che mi hai dedicato e la pazienza nel seguirmi,

    a presto ciao Paolo.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-11-23T17:01:03+00:00

    Ma hai seguito quanto ho scritto?

    <postprecedente>

        Precedentemente nelle References ho messo Microsoft.Office.Interop.Excel

    </postprecedente>

    Vedi (il mio VS è in inglese, scusa):

    Quindi, la prima dichiarazione nel modulo di codice della class Form1 sarà:

    Imports Microsoft.Office.Interop.Excel

    PublicClassForm1

    ecc.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-11-21T23:02:41+00:00

    Ciao Mauro,

    prima di tutto mi scuso x averti risposto solo ora, ti ringrazio x il codice che mi hai consigliato, ma dopo averlo scritto nella finestra del codice, l'aiuto "intellisense" nelle dichiarazioni mi ha segnalato come errore ' Tipo Worksheet  non definito', 'Tipo Workbooks non definito' e infine  il tipo 'System.Windows.Forms.Application non ha costruttori' .Quello che non capisco è il perché mi segnala questi errori perché le dichiarazioni mi sembrano corrette...sapresti chiarirmi dove sbaglio????.

    Grazie anticipatamente x l'aiuto se vorrai ciao paolo.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-11-17T09:53:51+00:00

    Non è chiaro come apri il file di Excel da vb.net.

    L'esempio di codice qui sotto si riferisce ad un progetto Windows Form, dove ho una Form con un pulsante ed una Label. Al click sul pulsante, apro il file di Excel e quindi copio il contenuto della Cella A1 nella Label. Precedentemente nelle References ho messo Microsoft.Office.Interop.Excel:

    Imports Microsoft.Office.Interop.Excel

    Public Class Form1

        Private Sub Button1_Click_1(ByVal sender As System.Object,

            ByVal e As System.EventArgs) Handles Button1.Click

            Dim objExcel As Application = New Application()

            Dim objWorkbook As Workbooks = objExcel.Workbooks

            Dim wk As Workbook

            Dim ws As Worksheet

            Dim sNomeFile As String = "C:\Prova\mioFile.xlsx"

            If Dir(sNomeFile) = "" Then

                MessageBox.Show(sNomeFile & " non esiste")

                Exit Sub

            End If

            Try

                wk = objWorkbook.Open(sNomeFile)

                ws = wk.Worksheets("Foglio1")

                objExcel.Visible = True

                Me.Label1.Text = ws.Cells(1, 1).Value

            Catch ex As Exception

                MessageBox.Show(ex.Message)

            Finally

                ws = Nothing

                wk = Nothing

                objWorkbook = Nothing

                objExcel = Nothing

            End Try

        End Sub

    End Class

    La parte in grassetto si riferisce alla mia path/nomi/riferimenti, da modificare con i tuoi.


    NOTA.

    Problemi sull'utilizzo di Excel da VisualStudio è qualcosa che normalmente viene trattato nei forum MSDN:

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-11-16T22:31:28+00:00

    Ciao Paolo,

    Non ho provato il tuo codice ma, come punto di partenza, io sostituirei

    foglio.Cells(8, 4) = strTxt                    'cella da dove copiare i dati

    con:

       strTxt =   foglio.Cells(8, 4).Value 

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento