C# 如何将excel文件从数据适配器中用户给定的工作表编号和原始编号导入

C# 如何将excel文件从数据适配器中用户给定的工作表编号和原始编号导入,c#,excel,C#,Excel,其中,sheetno、toRow和fromRow由用户指定用于加载excel工作表,并希望导入excel文件 我想在datatable中加载excel工作表。提前感谢有一个叫做(NuGet)的超级工具。您可以使用它轻松地操作Excel文件 我不能给你提供完整的答案,因为请求请给我一个解决方案太广泛了。您必须先自己尝试。您可以使用datatable.clone() 请查看以下代码: using (OleDbConnection con = new OleDbConnection(conStr)

其中,sheetno、toRow和fromRow由用户指定用于加载excel工作表,并希望导入excel文件
我想在datatable中加载excel工作表。提前感谢有一个叫做(NuGet)的超级工具。您可以使用它轻松地操作Excel文件


我不能给你提供完整的答案,因为请求
请给我一个解决方案
太广泛了。您必须先自己尝试。

您可以使用datatable.clone()

请查看以下代码:

  using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    cmd.Connection = con;
                    con.Open();
                    DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    string sheetNo ="Sheet" +txtImportExcelSheetNo.Text+"$";
                    sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();

                        string toRow = txtImportExcelToRw.Text;
                        string fromRow = txtImportExcelfromRw.Text;
                    con.Close();
                }
            }

            //Read Data from the First Sheet.
            using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    using (OleDbDataAdapter oda = new OleDbDataAdapter())
                    {

                        DataTable dt = new DataTable();
                        cmd.CommandText = "SELECT * From [" + sheetName + "]";
                        cmd.Connection = con;
                        con.Open();
                        oda.SelectCommand = cmd;
                        oda.Fill(dt);
                        con.Close();

                        //Populate DataGridView.

                    }
使用(OleDbConnection con=新的OleDbConnection(cont))
{
使用(OleDbCommand cmd=new OleDbCommand())
{
使用(OleDbDataAdapter oda=新的OleDbDataAdapter())
{
DataTable dt=新的DataTable();
cmd.CommandText=“从[”+sheetName+“]”中选择*;
cmd.Connection=con;
con.Open();
oda.SelectCommand=cmd;
oda.Fill(dt);
con.Close();
DataTable dtnew=新DataTable();
dtnew=dt.Clone();
如果(dt.Rows.Count>0)
{
for(int i=fromrow;i
我想导入带有工作表编号的excel文件,并从用户给定的行号和行号导入
using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    using (OleDbDataAdapter oda = new OleDbDataAdapter())
                    {
                        DataTable dt = new DataTable();
                cmd.CommandText = "SELECT * From [" + sheetName  + "]";
                        cmd.Connection = con;
                        con.Open();
                        oda.SelectCommand = cmd;
                        oda.Fill(dt);
                        con.Close();

  DataTable dtnew = new DataTable();
                            dtnew=dt.Clone();
                            if (dt.Rows.Count > 0)
                            {
                           for (int i = fromrow; i < dt.Rows.Count; i++)
                                {
                                    DataRow dtRow = dt.Rows[i];
                                    dtnew.ImportRow(dtRow);
                                }