解决方案 »

  1.   

    Refer here:
    http://www.cnblogs.com/insus/archive/2011/05/05/2037808.html
    http://www.cnblogs.com/insus/archive/2012/06/12/2545801.html
    http://www.cnblogs.com/insus/p/3814857.html
      

  2.   

    把Excel文档内容导入到Aceess数据库
    //加载数据操作
     public void LoadData(string StyleSheet)
        {
            //定义数据库连接字符串 m
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + Server.MapPath("学生成绩.xls") + ";Extended Properties=Excel 8.0";
            //创建数据库连接
            OleDbConnection myConn = new OleDbConnection(strCon);
            //打开数据链接,得到一个数据集 
            myConn.Open();       
            //创建DataSet对象   
            DataSet myDataSet = new DataSet();     
            //定义查询的SQL语句
            string StrSql = "select   *   from   [" + StyleSheet + "$]";
            //创建数据库适配器
            OleDbDataAdapter myCommand = new OleDbDataAdapter(StrSql, myConn);
            //填充数据集中的数据
            myCommand.Fill(myDataSet, "[" + StyleSheet + "$]");
            //释放占有的资源
            myCommand.Dispose();
            //关闭数据库连接
            myConn.Close();
        }
    //数据库操作
      public int ExScalar(string sql)
        {
            OleDbConnection conn = CreateCon();
            conn.Open();
            OleDbCommand com = new OleDbCommand(sql, conn);
            return Convert.ToInt32(com.ExecuteScalar());
            conn.Close();
        }
    //Excel文件操作
     protected void ExcelToAccess_Click(object sender, EventArgs e)
        {
            //定义Excel列表
            string StyleSheet = "Sheet1";
            //调用自定义LoadData方法,将Excel文件中数据读到ASPNET页面中
            LoadData(StyleSheet);
            //定义查询的SQL语句
            string sql = "select ID,用户姓名,试卷,成绩,考试时间 from Score";
            //创建Oledb数据库连接
            OleDbConnection con = CreateCon();
            con.Open();//打开数据库连接
            OleDbCommand com = new OleDbCommand(sql, con);
            //开始事务
            OleDbTransaction tran = con.BeginTransaction();
            com.Transaction = tran;
            //创建适配器
            OleDbDataAdapter da = new OleDbDataAdapter(com);
            OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
            //创建DataSet数据集
            DataSet ds = new DataSet();
            //填充数据集
            da.Fill(ds);
            int curIndex = 0;
            if (ds.Tables[0].Rows.Count > 0)
            {
                curIndex = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            }
            //创建一个内存表
            DataTable tb = this.getExcelDate();
            string selsql = "";
            for (int i = 0; i < tb.Rows.Count; i++)
            {
                string UserName = tb.Rows[i][0].ToString();
                selsql = "select count(*) from Score where 用户姓名='" + UserName + "'";
            }
            //判断Excel文件中是否已经导入到Access数据库中
            if (ExScalar(selsql) > 0)
            {
                Label1.Visible = true;
                Label1.Text = "<script language=javascript>alert('该Excle中的数据已经导入数据库中!');location='ExcelToAccess.aspx';</script>";
            }
            else
            {
                //循环读取Excel文件中数据,并添加到Access事先创建好的数据库表中
                for (int i = 0; i < tb.Rows.Count; i++)
                {
                    DataRow dr = ds.Tables[0].NewRow();
                    dr[0] = ++curIndex;
                    dr[1] = tb.Rows[i][0];
                    dr[2] = tb.Rows[i][1];
                    dr[3] = tb.Rows[i][2];
                    dr[4] = tb.Rows[i][3];
                    ds.Tables[0].Rows.Add(dr);
                }
                try
                {
                    da.Update(ds);//执行插入操作
                    tran.Commit();//事务提交
                    Label1.Visible = true;
                    Label1.Text = "<script language=javascript>alert('数据导入成功!');location='ExcelToAccess.aspx';</script>";
                }
                catch
                {
                    tran.Rollback();//事务回滚
                    Label1.Visible = true;
                    Label1.Text = "<script language=javascript>alert('数据导入失败!');location='ExcelToAccess.aspx';</script>";
                }
                finally
                {
                    con.Close();//关闭数据库连接
                }
            }
    //由于字符限制其他部分不能呈现
      

  3.   

    开篇我就说了我的数据库是MS SQL Server2008的,你给我Access的干嘛