将excel通过c#导入数据库,其基本就是将excel数据读取到dataset中,然后可以对dataset进行修改在导入数据库中,当然如果是直接存入sql server中可以用sql代码直接存入数据,方法很多自己百度吧,在这里只介绍如何转成dataset处理后再存入数据库(数据库任意)
C#代码连接excel:
//建立与Excel的连接
OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excel的路径 + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'");
//打开连接
objConn.Open();
//注意后面的符号“ ‘”
判断是否是excel:
string IsXls = System.IO.Path.GetExtension(路径).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls") //
{
Ext.Msg.Show(new MessageBox.Config
{
Title = "消息",
Message = "只可选择选择excel文件",
Icon = MessageBox.Icon.INFO,
Buttons = MessageBox.Button.OK
});
return;//当选择的不是Excel文件时,返回
}
Else{}
案例代码:
public static DataSet ds;
//将excel中的数据导入gridview中
public void ReadExcel(string sExcelFile, Store s)
{
ds = new DataSet();
//建立与Excel的连接
OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'");
//打开连接
objConn.Open();
//将数据放入datatable中
DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
//读取数据
//读取excel内的第一行第二列
//读取格式也可以是Rows[i]["登录号"].ToString().Trim()
string tableName = schemaTable.Rows[0][2].ToString().Trim();
string strSql = "select * from [" + tableName + "]";
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
//将数据导入dataset中,导入dataset中的数据就可以随意处理了
myData.Fill(ds, tableName);
objConn.Close();
//读取dataset中某表有多少条数据
//ds.Tables[0].Rows.Count;
//读取dataset中的数据
//ds.Tables[0].Rows[i]["学生姓名"].ToString().Trim();
//加上循环,就可以将数据导入数据库了
}