怎么把Excel数据导入到数据库?
1个回答
展开全部
这个网上有很多,找找吧。
一般都是先获取execl的数据导入到dataset中,再把dataset中的数据库insert到数据库(这部分应该不用说了吧)。
需要注意一点的是:execl 2003和2007以上的版本所用的引擎是不一样的。如下列。
//导入EXCEL
public void ImportExcel(string fileName )
{
//string fileName = "d:\\123.xls";
string excelStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";//execl 2003
//string excelStr = "Provider= Microsoft.Ace.OleDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";//execl 2007以上(需要装个AccessDatabaseEngine引擎,网上找找)
DataSet ds = new DataSet();
using (System.Data.OleDb.OleDbConnection cn = new OleDbConnection(excelStr))
{
using (OleDbDataAdapter dr = new OleDbDataAdapter("SELECT * FROM [sheet1$]", excelStr))
{
dr.Fill(ds);
}
}
//插入到数据库
}
一般都是先获取execl的数据导入到dataset中,再把dataset中的数据库insert到数据库(这部分应该不用说了吧)。
需要注意一点的是:execl 2003和2007以上的版本所用的引擎是不一样的。如下列。
//导入EXCEL
public void ImportExcel(string fileName )
{
//string fileName = "d:\\123.xls";
string excelStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";//execl 2003
//string excelStr = "Provider= Microsoft.Ace.OleDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";//execl 2007以上(需要装个AccessDatabaseEngine引擎,网上找找)
DataSet ds = new DataSet();
using (System.Data.OleDb.OleDbConnection cn = new OleDbConnection(excelStr))
{
using (OleDbDataAdapter dr = new OleDbDataAdapter("SELECT * FROM [sheet1$]", excelStr))
{
dr.Fill(ds);
}
}
//插入到数据库
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询