excel导入sqlserver数据库(转)
//fileName:Excel文件绝对路径
private DataSet ReadExcel2(string fileName)
{
if (fileName.Trim().Length == 0)
{
return null ;
}
if (!System.IO.File.Exists(fileName))
{
return null;
}
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;"
+ "data source=" + fileName + ";"
+ "Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(strConn);
// archiveCategorys为Excel文件中Sheet的名子
// 这里给写死了,我们可以在工程中添加execel.exe的引用,
//然后通过它里面Excel.Application,Excel.Workbook,Excel.Worksheet,Excel.Range对像获得一些你想要的信息
String strSql = "Select id,pid,name,code,memo,locked,deleted From archiveCategorys order by id";
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter adapter = new OleDbDataAdapter(objCmd);
try
{
objConn.Open();
adapter.Fill(ds);
return ds;
}
catch(Exception exc)
{
MessageBox.Show(exc.ToString());
}
finally
{
objConn.Dispose();
}
return ds;
}
//遍历DataSet中所有表,和表中所有行:
foreach(DataTable table in ds.Tables)
{
foreach(DataRow row in table.Rows)
{
}
}
//DataSet的数据存到数据库或其它方式就不写了.
//参考了CSDN上的一篇文章,忘了地址了.是英文的.
//呵呵,这居然是我在网上发表的第一篇文章,请大家指正呀.