1.导入
protected void btnImport_Click(object sender, EventArgs e) { if (fileUp.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { JScript.Alert("请您选择Excel文件"); return; } string IsXls = System.IO.Path.GetExtension(fileUp.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名 if (IsXls != ".xls") { JScript.Alert("只可以选择Excel文件"); return; } //获取Execle文件名 DateTime日期函数 string filename = fileUp.FileName; //Server.MapPath 获得虚拟服务器相对路径 string savePath = Server.MapPath(("upfiles\") + filename); //SaveAs 将上传的文件内容保存在服务器上 fileUp.SaveAs(savePath); //连接Excel 读取Excel数据 并返回DataSet数据集合 DataSet ds = GridViewExportUtil.ExcelSqlConnection(savePath, filename); //定义一个DataRow数组 DataRow[] dr = ds.Tables[0].Select(); int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum == 0) { JScript.Alert("Excel表为空表,无数据!"); } else { List<UnitInfo> infoList = new List<UnitInfo>(); for (int i = 0; i < dr.Length; i++) { //前面除了你需要在建立一个“upfiles”的文件夹外,其他的都不用管了,你只需要通过下面的方式获取Excel的值,然后再将这些值用你的方式去插入到数据库里面 UnitInfo info = new UnitInfo(); info.T_CODE = dr[i]["编号"].ToString(); infoList.Add(info); } try { if (bl.InsertUnit(infoList, out errMsg)) { JScript.Alert("Excle表导入成功"); } else { JScript.Alert("Excle表导入失败"); } } catch { JScript.Alert("Excle表导入失败"); } } }
#region 连接Excel 读取Excel数据 并返回DataSet数据集合 /// <summary> /// 连接Excel 读取Excel数据 并返回DataSet数据集合 /// </summary> /// <param name="filepath">Excel服务器路径</param> /// <param name="tableName">Excel表名称</param> /// <returns></returns> public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName) { string errMsg = string.Empty; string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"; OleDbConnection ExcelConn = new OleDbConnection(strCon); try { string strCom = string.Format("SELECT * FROM [Sheet1$]"); ExcelConn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn); DataSet ds = new DataSet(); myCommand.Fill(ds, "[" + tableName + "$]"); ExcelConn.Close(); return ds; } catch { ExcelConn.Close(); return null; } } #endregion
2.导出http://www.cnblogs.com/dreamof/archive/2010/06/02/1750151.html