如何在数据适配器中从sheet no和from import导入excel文件并将其导入到用户原始的

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. } 

其中sheetno,toRow和fromRow是由用户提供加载excel sheet.and想要导入excel文件,我想在excel表中加载datatable.thanks

你可以使用datatable.clone()

请查看以下代码:

 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); } 

有一个称为(NuGet) ClosedXML的超级简单工具。 您可以使用它来轻松操作Excel文件。

我无法给你提供完整的答案,因为要求please give me a solution是广泛的。 你必须先尝试一下。