private void SureExcel_Click(object sender, EventArgs e)
        {
            if (Excel.Text == "")
            {
                MessageBox.Show("请先导入人员名单!");
            }
            else
            {
                string kzm = System.IO.Path.GetExtension(Excel.Text);
                if (kzm != ".xls")
                {
                    MessageBox.Show("您上传的不是excel文件");
                    Excel.Text = "";
                }
                else
                {
                    if (File.Exists(Application.StartupPath + "\\用户信息表.xls") == true)
                    {
                        int count = ConExcel1().Tables["Sheet"].Rows.Count;//就这里!数据跟实际表格数据不一样
                        if (count == 0)
                        {
                            MessageBox.Show("表里没有数据!");
                        }
                        else
                        {
                            progressBar1.Maximum = count;
                            progressBar1.Visible = true;
                            for (int i = 0; i < count; i++)
                            {
                                string name = ConExcel1().Tables["Sheet"].Rows[i]["姓名"].ToString();
                                string phone = ConExcel1().Tables["Sheet"].Rows[i]["手机"].ToString();
                                string pos = ConExcel1().Tables["Sheet"].Rows[i]["职位"].ToString();
                                string sit = ConExcel1().Tables["Sheet"].Rows[i]["座位"].ToString();                                string filename = Application.StartupPath + "\\用户信息表.xls";
                                string connstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;HDR=Yes'";
                                OleDbConnection oleConn = new OleDbConnection(connstr);
                                oleConn.Open();
                                string sqlStr = "insert into Sheet1(姓名,手机,职位,座位)values('" + name + "','" + phone + "','" + pos + "','" + sit + "') ";
                                OleDbParameter[] oleP = new OleDbParameter[]
                         {
                        new OleDbParameter("姓名",name),
                        new OleDbParameter("手机",phone),
                        new OleDbParameter("职位",pos),
                        new OleDbParameter("座位",sit)
                         };
                                progressBar1.Value = i;
                            }
                            progressBar1.Visible = false;
                            MessageBox.Show("加载完毕!");
                            Excel.Text = "";
                        }
                    }
                }
            }
        }
        private DataSet ConExcel1()
        {
            string file = Excel.Text;
            string connstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=Yes'";//这个链接字符串是excel2003的
            OleDbConnection oleConn = new OleDbConnection(connstr);
            oleConn.Open();
            string cmdText = "select * from [Sheet1$]";
            OleDbDataAdapter sda = new OleDbDataAdapter(cmdText, oleConn);
            DataSet ds = new DataSet();
            sda.Fill(ds,"Sheet");
            return ds;
        }这个是完整代码。。EXCEL2003,600行数据放在Sheet1里,单元格格式全部是默认格式
int count = ConExcel1().Tables["Sheet"].Rows.Count; 
将导入的EXCEL表写到新的EXCEL时,新表没有数据。。 
难道真的是:通过数据库来访问Excel本来就不能处理复杂一点的Excel格式,它对Excel工作簿上的数据定义有严格限制,只有部分区域才能访问。这个原因?等待高手