好吧,我有下一个代码:
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中,我不想一个一个地执行,你能帮帮我吗?
我会非常感激。
答案 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\"";