Импорт данных в SQL из excel с помощью ASP.NET пропуская n строк
Привет,
Я использую следующий код для экспорта данных из excel в SQL с помощью ASP.NET.
protected void Upload(object sender, EventArgs e) { //Upload and save the file string excelPath = Server.MapPath("~/Files") + Path.GetFileName(FileUpload1.PostedFile.FileName); FileUpload1.SaveAs(excelPath); string conString = string.Empty; string extension = Path.GetExtension(FileUpload1.PostedFile.FileName); switch (extension) { case ".xls": //Excel 97-03 conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString; break; case ".xlsx": //Excel 07 or higher conString = ConfigurationManager.ConnectionStrings["Excel07+ConString"].ConnectionString; break; } conString = string.Format(conString, excelPath); using (OleDbConnection excel_con = new OleDbConnection(conString)) { excel_con.Open(); string sheet1 = excel_con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString(); DataTable dtExcelData = new DataTable(); //[OPTIONAL]: It is recommended as otherwise the data will be considered as String by default. dtExcelData.Columns.AddRange(new DataColumn[3] { new DataColumn("ID", typeof(string)), new DataColumn("Name", typeof(DateTime)), new DataColumn("Designation",typeof(DateTime))}); using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con)) { oda.Fill(dtExcelData); } excel_con.Close(); string consString = ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString; using (SqlConnection con = new SqlConnection(consString)) { using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con)) { //Set the database table name sqlBulkCopy.DestinationTableName = "dbo.Employee"; //[OPTIONAL]: Map the Excel columns with that of the database table sqlBulkCopy.ColumnMappings.Add("ID", "ID"); sqlBulkCopy.ColumnMappings.Add("Name", "Name"); sqlBulkCopy.ColumnMappings.Add("Designation", "Designation"); con.Open(); sqlBulkCopy.WriteToServer(dtExcelData); con.Close(); } } } }
Проблема в том, что в моем файле Excel фактические данные начинаются со строки 7.
Таким образом, он не работает, но всякий раз, когда я перемещаю данные в строку 1, он извлекает и загружает данные в SQL просто отлично.
Поэтому я хочу заранее определить в своем коде, что выбрать данные из строки 7 в файле excel.
Пожалуйста, помогите, так как я действительно застрял здесь.
ОБНОВЛЕНИЕ
Кроме того, просто еще один запрос о том, что мое имя заголовка листов SQL и Excel отличается, поэтому, если оба заголовка не совпадают, он не выбирает данные, так что в любом случае я могу сохранить заголовок другим и все равно получить данные?
Спасибо
Что я уже пробовал:
Не так много помощи доступно в интернете по этому поводу