如何使用此代码进行循环?

时间:2016-07-11 04:45:19

标签: c# sql excel

好吧,我有下一个代码:

    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!");



    }

我需要用C#将23,000个excel文件导入到SQL中,我不想一个一个地执行,你能帮帮我吗?

我会非常感激。

1 个答案:

答案 0 :(得分:0)

您可以使用此代码获取路径中的所有exel文件

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

并在filePaths上设置FoeEach,最后使用动态连接

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\"";