你可以把excel文件做为数据源来做,然后读到datagride里啊.

解决方案 »

  1.   

    楼主可以参考下面段代码(出于保密不能全部给你): string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filepath + ";" + "Extended Properties='Excel 8.0;HDR=YES;IMEX=2;'";
                    //Response.Write(strConn);
                    OleDbConnection myconn = new OleDbConnection(strConn);
                    try
                    {
                        myconn.Open();
                        DataTable schemaTable = myconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                        DataRow[] rows = schemaTable.Select();                    if (schemaTable.Rows.Count > 1)
                        {
                            this.labFileMessage.Text = "上传失败:上传文件的文件结构被改变了,请确认";
                            return;
                        }
                        else if (schemaTable.Rows.Count == 1 && rows[0]["Table_Name"].ToString() != "Sheet1$")
                        {
                            this.labFileMessage.Text = "上传失败:上传文件的文件结构被改变了,请确认";
                            return;
                        }
                        string strExcel = "";                    OleDbDataAdapter myCommand = null;
                        DataSet ds = null;
                        strExcel = "select * from [sheet1$]";
                        myCommand = new OleDbDataAdapter(strExcel, strConn);
                        ds = new DataSet();
                        myCommand.Fill(ds, "table1");
                        myconn.Close();                    //Response.Write(ds.Tables[0].Columns.Count);
                        //Response.End();