Importare Excel in Access in C++/CLI

di il
6 risposte

Importare Excel in Access in C++/CLI

Salve, sto quasi ultimando il programma e l unica cosa che manca è permettere all'utente di inserire un file excel che dovrà
essere memorizzato nel database.
Sto usando OpenFileDialog per permettere l'apertura del file filtrando solo i file xlxs (fin qui ci siamo).
Quello che devo fare è memorizzare ogni campo dell excel in access (la tabella creata in access è la copia del file
excel).
Cosa mi consigliate?

6 Risposte

  • Re: Importare Excel in Access in C++/CLI

    Studia qualcosa sull'argomento ... ad esempio

    http://www.codeproject.com/Articles/28083/Use-Visual-Studio-C-CLI-to-Automate-Excel
  • Re: Importare Excel in Access in C++/CLI

    Sei sicuro che mi stai dando il miglior consiglio?
    https://msdn.microsoft.com/en-us/library/office/ff844793.aspx.
    Non è più semplice con il metodo transferspreadsheet?
  • Re: Importare Excel in Access in C++/CLI

    rogerino88 ha scritto:


    Sei sicuro che mi stai dando il miglior consiglio?
    https://msdn.microsoft.com/en-us/library/office/ff844793.aspx.
    Non è più semplice con il metodo transferspreadsheet?
    Il DoCmd funziona solo in ambiente MSAccess, la qual cosa implica che:

    1) ogni utente deve avere MSAccess installato sul proprio pc, o quanto meno occorre installare il runtime (sempre ammesso che ciò sia poi effettiamente risolutivo).

    2) sul pc dell'utente, oltre ad avere MSAccess installato, la versione deve essere la stessa che hai usato tu per la progettazione.

    3) devi usare l'Automazione di MSAccess


    Quindi la risposta alla tua domanda è una domanda : davvero ti sembra più semplice?

  • Re: Importare Excel in Access in C++/CLI

    Deve funzionare sul pc di un utente e già gli ho installato il runtime di access.
    Sul link che ho postato mi serve capire cosa devo includere nel codice per farmi trovare la classe DoCmd
  • Re: Importare Excel in Access in C++/CLI

    DoCmd non è una classe ... ti hanno appena detto che funziona solo in ambiente MSAccess!
    Sei sicuro che mi stai dando il miglior consiglio?
    Mah ... non lo so ...
  • Re: Importare Excel in Access in C++/CLI

    Sto usando ADO anche per importare il file excel e poi spostarlo nel database.
    Quello che voglio fare, importare tutto il contenuto dell excel, spostarlo in un datatable per poi copiare tutto nella tabella del database.
    Ecco il codice:
    String ^ connstring = " Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + openFileDialog1->FileName + "; Extended Properties = 'Excel 12.0 Xml; HDR = YES'";
    		OleDbConnection ^connection = gcnew OleDbConnection(connstring);
    		connection->Open(); //apro la connessione con il file excel
    		OleDbCommand ^cmd1 = gcnew OleDbCommand("SELECT * " + "FROM [magricam$]", connection);
    		OleDbDataAdapter ^ sda = gcnew OleDbDataAdapter();
    		sda->SelectCommand = cmd1;
    		//memorizzo dati nel datatable
    		DataTable ^ dbdataset = gcnew DataTable();
    		sda->Fill(dbdataset);
    		MessageBox::Show("Dati Tabella:" + dbdataset->TableName);
    
    		//sposto i dati verso la tabella ricambi
    		OleDbConnection ^connection2 = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=database1.accdb;Persist Security Info=False;");
    		connection2->Open(); //apro la connessione con il db
    		OleDbCommand ^cmd2 = gcnew  OleDbCommand("INSERT INTO RICAMBI SELECT * FROM" + dbdataset + ";", connection2);
    		//eseguo il comando
    		cmd2->ExecuteNonQuery();
    L'errore mi viene dato quando devo inserire i dati nella tabella del database.
    Potrete dirmi se può funzionare questo metodo e dove è l errore?
Devi accedere o registrarti per scrivere nel forum
6 risposte