1
我知道这可能是一个重复的问题,但我无法在任何地方找到它。如何保存自动生成gridview列的excel数据?
我从excel导入数据到gridview,但我如何将gridview数据保存到数据库中,并自动生成gridview中的列。 数据已经反映在gridview中,我如何将它保存在数据库中?
这将是更好,如果任何人都可以教我如何直接从Excel中插入到数据库中,而无需使用GridView控件作为介质(使用this尝试,但不停地告诉我,excel表不存在)。
代码绑定网格视图:
string conStr = "";
switch (Extension)
{
case ".xls": //Excel 97-03
conStr = ConfigurationManager.ConnectionStrings["Excel03ConString"]
.ConnectionString;
break;
case ".xlsx": //Excel 07
conStr = ConfigurationManager.ConnectionStrings["Excel07ConString"]
.ConnectionString;
break;
}
conStr = String.Format(conStr, FilePath, isHDR);
OleDbConnection connExcel = new OleDbConnection(conStr);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
DataTable dt = new DataTable();
cmdExcel.Connection = connExcel;
//Get the name of First Sheet
connExcel.Open();
DataTable dtExcelSchema;
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
connExcel.Close();
//Read Data from First Sheet
connExcel.Open();
cmdExcel.CommandText = "SELECT * From [" + SheetName + "]";
oda.SelectCommand = cmdExcel;
oda.Fill(dt);
connExcel.Close();
//Bind Data to GridView
GridView1.Caption = Path.GetFileName(FilePath);
GridView1.DataSource = dt;
GridView1.DataBind();
是我使用的代码aspsnippets。
从您的代码中,我该如何继续将数据保存到我的数据库? 我能够显示它已经对不起,我错过了当问我的问题 – JustASimpleGuy
使用'SqlBulkCopy'类,看到更新的答案。 – KanisXXX
当绑定到'Gridview'传递'Datatable'到SqlbulkCopy方法保存到数据库 – KanisXXX