我每天都会收到excel表格,并希望将它们上传到具有完全相同列名的现有数据库中,我想在server 2005中这样做,但我认为创建一个可以自动完成此操作的asp.net程序会更容易,这样管理人员就可以自己做了。
我会使用大容量插入吗?
如何将excel工作表导入datatable?
编辑:,我有第一部分要做
handling time
1:12:53
1:06:29
0:10:58
0:13:33
1:15:45
0:41:19
这是我的excel表中的一列(hh:mm:ss)。
但是,当我将大容量副本复制到varchar字段时
我得到了
12/30/1899 1:12:53 AM
12/30/1899 1:06:29 AM
12/30/1899 12:10:58 AM
12/30/1899 12:13:33 AM
12/30/1899 1:15:45 AM
12/30/1899 12:41:19 AM
发布于 2011-04-20 16:24:56
是的,我建议你使用SqlBulkCopy
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbDataAdapter adapter = factory.CreateDataAdapter();
DbCommand selectCommand = factory.CreateCommand();
selectCommand.CommandText = "SELECT ColumnNames FROM [Sheet1$]";
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = connectionString;
selectCommand.Connection = connection;
adapter.SelectCommand = selectCommand;
DataTable dtbl = new DataTable();
adapter.Fill(dtbl);
if (dtbl.Rows.Count > 0)
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection))
{
bulkCopy.ColumnMappings.Add("ColumnName", "ColumnName");
bulkCopy.ColumnMappings.Add("ColumnName", "ColumnName");
bulkCopy.DestinationTableName = "DBTableName";
bulkCopy.WriteToServer(dtblNew);
}
}
https://stackoverflow.com/questions/5733295
复制相似问题