2016-07-11 11 views
-1

Nun, ich habe den nächsten Code:Wie mache ich einen Zyklus mit diesem Code?

private void Btn_Importar_Click(object sender, EventArgs e) 
    { 

     string conexion = "Provider=Microsoft.Jet.OleDb.4.0; Data Source = C:\\Users\\Usuario\\Desktop\\archivos de excel\\238.xls; Extended Properties=\"Excel 8.0; HDR=Yes\""; 
     OleDbConnection origen = default(OleDbConnection); 
     origen = new OleDbConnection(conexion); 
     OleDbCommand seleccion = default(OleDbCommand); 
     seleccion = new OleDbCommand("Select * From [238$]", origen); 
     OleDbDataAdapter adaptador = new OleDbDataAdapter(); 
     adaptador.SelectCommand = seleccion; 
     DataSet ds = new DataSet(); 
     adaptador.Fill(ds); 
     dataGridView1.DataSource = ds.Tables[0]; 
     origen.Close(); 
     SqlConnection conexion_destino = new SqlConnection(); 
     conexion_destino.ConnectionString = "Data Source =USUARIO-PC\\SQLEXPRESSS;Initial Catalog=Dentista; Integrated Security=True"; 
     conexion_destino.Open(); 
     SqlBulkCopy importar = default(SqlBulkCopy); 
     importar = new SqlBulkCopy(conexion_destino); 
     importar.DestinationTableName = "Tabla_238"; 
     importar.WriteToServer(ds.Tables[0]); 
     conexion_destino.Close(); 
     // MessageBox.Show("Se ha importado su archivo con éxito!"); 



    } 

ich 23.000 Excel-Dateien in SQL mit C# importieren muß, und ich will es nicht eines nach dem anderen zu tun, können Sie mir bitte helfen?

Ich würde es sehr schätzen.

Antwort

0

können Sie alle Exel-Datei in dem Pfad mit diesem Code

string[] filePaths = Directory.GetFiles("C:\\Users\\Usuario\\Desktop\\archivos de excel\\", "*.xls"); 

und setzen FoeEach auf Dateipfade, erhalten und schließlich dynamisch verwenden Verbindung

string conexion = "Provider=Microsoft.Jet.OleDb.4.0; Data Source = C:\\Users\\Usuario\\Desktop\\archivos de excel\\"+filename+"; Extended Properties=\"Excel 8.0; HDR=Yes\""; 
+0

Oh danke! Aber wie kann ich gleichzeitig "238.xls", [238 $] und Tabla_238 erhöhen oder ändern? Wie erhöhe nur die Anzahl? –

+0

@JesusCamacho sollten Sie Variable zu String concat! es ist einfach wie: importar.DestinationTableName = "Table _" + numberVariable; und das kannst du ändern ... – mohammad

+0

ooooh toll! Ich danke dir sehr! –

Verwandte Themen