C#读取EXCEL中的信息,并保存到数据库
如题:我需要做一个C#读取固定格式的Excel文件,并将Excel中的信息存到数据库中的代码,SQLServer的数据库。Excel的列,对应数据存到数据库中对应的列中,...
如题:我需要做一个C#读取固定格式的Excel文件,并将Excel中的信息存到数据库中的代码,SQLServer的数据库。Excel的列,对应数据存到数据库中对应的列中,请高手指教,谢谢。
展开
展开全部
其实这个就跟C#连接SQL读取表中的数据是一样的,只是在这数据库为Excel而已,通过连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=文件路径;Extended Properties=Excel 8.0
连接Excel即可,然后通过SQL语句:(类似)select * from [Sheet1$] 把数据取出来即可,然后按照以前自己连接SQL数据库的方式把相应的字段存储起来即可。
需要留意的时03和07的连接字符串不一样,以上是03版的Excel连接方式
Excel 2007:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=文件路径;Extended Properties=Excel 12.0
如有什么不明白的 可以留言 ^_^
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=文件路径;Extended Properties=Excel 8.0
连接Excel即可,然后通过SQL语句:(类似)select * from [Sheet1$] 把数据取出来即可,然后按照以前自己连接SQL数据库的方式把相应的字段存储起来即可。
需要留意的时03和07的连接字符串不一样,以上是03版的Excel连接方式
Excel 2007:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=文件路径;Extended Properties=Excel 12.0
如有什么不明白的 可以留言 ^_^
展开全部
protected void Button3_Click(object sender, System.EventArgs e)
{
//选择并打开excel表
Excel.Application objApp = new Excel.Application();
Excel.Workbook objWorkbook = default(Excel.Workbook);
Excel.Worksheet objWorksheet = default(Excel.Worksheet);
objApp.Visible = true;
objWorkbook = objApp.Workbooks.Open(".......xls");
objWorksheet = objWorkbook.Worksheets("sheet1");
// 建立数据库连接。
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\数据库名(注意路径与后缀);Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
Int32 i = default(Int32);
i = 1;
while (!(string.IsNullOrEmpty(Strings.Trim(objWorksheet.Cells(1 + i, 1).value)))) {
System.Data.SqlClient.SqlCommand updateCMD = new System.Data.SqlClient.SqlCommand("INSERT INTO 表名 (。。。列名) " + "VALUES (@。。。列名)", con);
System.Data.SqlClient.SqlParameter 列名Parameter = new SqlParameter("@列名", System.Data.SqlDbType.NVarChar, 11);//数据库中的数据类型
if (string.IsNullOrEmpty(Strings.Trim(objWorksheet.Cells(1 + i, 1).Value))) {
列名Parameter.Value = "";
} else {
列名Parameter.Value = Strings.Trim(objWorksheet.Cells(1 + i, 1).Value);//对应的单元格
}
updateCMD.Parameters.Add(列名Parameter);
。。。。。。
updateCMD.ExecuteNonQuery();
i = i + 1;
}
con.Close();
}
{
//选择并打开excel表
Excel.Application objApp = new Excel.Application();
Excel.Workbook objWorkbook = default(Excel.Workbook);
Excel.Worksheet objWorksheet = default(Excel.Worksheet);
objApp.Visible = true;
objWorkbook = objApp.Workbooks.Open(".......xls");
objWorksheet = objWorkbook.Worksheets("sheet1");
// 建立数据库连接。
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\数据库名(注意路径与后缀);Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
Int32 i = default(Int32);
i = 1;
while (!(string.IsNullOrEmpty(Strings.Trim(objWorksheet.Cells(1 + i, 1).value)))) {
System.Data.SqlClient.SqlCommand updateCMD = new System.Data.SqlClient.SqlCommand("INSERT INTO 表名 (。。。列名) " + "VALUES (@。。。列名)", con);
System.Data.SqlClient.SqlParameter 列名Parameter = new SqlParameter("@列名", System.Data.SqlDbType.NVarChar, 11);//数据库中的数据类型
if (string.IsNullOrEmpty(Strings.Trim(objWorksheet.Cells(1 + i, 1).Value))) {
列名Parameter.Value = "";
} else {
列名Parameter.Value = Strings.Trim(objWorksheet.Cells(1 + i, 1).Value);//对应的单元格
}
updateCMD.Parameters.Add(列名Parameter);
。。。。。。
updateCMD.ExecuteNonQuery();
i = i + 1;
}
con.Close();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要源码吗?需要回话,留个Email。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |