excel文件(xls)批量导入sqlserver数据库
string tableName = "TD_GYTDSPF";
string[] fields = { "TDZH", "TDZL", "DLYT", "SYQLX", "FinishTime" };
string connectionString = "server=xxx;User ID=sa;Password=sa;database=xxx;Connection Reset=FALSE";
string connetctonExcel = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:11.xls;Extended Properties=Excel 8.0;";
string filepath = @"e:11.xlsx";
//把excel作为数据源,读取数据存在dataset中
DB.Database db = Database.GetDatabase(connetctonExcel);
DataSet ds;
db.ExecuteSQLQuery("SELECT * FROM [sheet1$] ", out ds);
/* //建表及清空表数据。自动创建数据库表,读取的是csv文件,类似txt文件
string strSql = string.Format("if object_id("{0}") is null create table {0}(", tableName);
for (int i = 0; i < fields.Length; i++)
{
strSql += string.Format("[{0}] varchar(255),", fields[i]);
}
strSql = strSql.Trim(",") + ");";
strSql += " truncate table " + tableName + ";";
using (SqlConnection sqlconn = new SqlConnection(connectionString))
{
sqlconn.Open();
SqlCommand command = sqlconn.CreateCommand();
command.CommandText = strSql;
command.ExecuteNonQuery();
sqlconn.Close();
}
*/
DataTable dt = new DataTable();
dt = ds.Tables[0];
/* using (StreamReader sr = new StreamReader(filepath))
{
string[] value;
DataRow row;
for (int x = 0; x < fields.Length; x++)
{
dt.Columns.Add(new DataColumn(fields[x]));
}
while (!sr.EndOfStream)
{
value = sr.ReadLine().Split(",");
row = dt.NewRow();
row.ItemArray = value;
dt.Rows.Add(row);
}
sr.Close();
}*/
SqlConnection con = new SqlConnection(connectionString);
SqlBulkCopy bc = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.TableLock);
bc.DestinationTableName = tableName;
//for (int i = 0; i < dtColum.Count; i++)
//{
// bc.ColumnMappings.Add(dtColum[i].ColumnName.ToString(), dtColum[i].ColumnName.ToString());
//}
bc.BatchSize = 10000;
con.Open();
bc.WriteToServer(dt);
bc.Close();
con.Close();
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了