Как разделить данные csv запятой и импортировать данные в SQL с помощью ASP.NET объемная вставка
For "Name"(Line No 20) In My Excel Sheet Data is Akshada,Shivani,Malvika,Rutu But I want to store in data table like this id Name 1 Akshada 2 Shivani 3 Malvika 4 Rutu // below code stores all same to same data from excel to database sqlBulkCopy.ColumnMappings.Add("Name", "Name"); // I want to separate data for second row's Second column // hear(Line No 23) I get all excel sheet data in dtExcelData con.Open(); sqlBulkCopy.WriteToServer(dtExcelData); con.Close();
Что я уже пробовал:
1 conString = string.Format(conString, excelPath); 2 using (OleDbConnection excel_con = new OleDbConnection(conString)) 3 { 4 excel_con.Open(); 5 string sheet1 = excel_con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString(); 6 DataTable dtExcelData = new DataTable(); //[OPTIONAL]: It is recommended as otherwise the data will be considered as String by default. 7 dtExcelData.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)), 8 new DataColumn("Name", typeof(string)), 9 new DataColumn("Salary",typeof(decimal)) }); 10 using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con)) 11 { 12 oda.Fill(dtExcelData); 13 } 14 excel_con.Close(); 15 string consString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 16 using (SqlConnection con = new SqlConnection(consString)) { 17 using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con)) { //Set the database table name 18 sqlBulkCopy.DestinationTableName = "dbo.tblPersons"; //[OPTIONAL]: Map the Excel columns with that of the database table 19 sqlBulkCopy.ColumnMappings.Add("Id", "PersonId"); 20 sqlBulkCopy.ColumnMappings.Add("Name", "Name"); 21 sqlBulkCopy.ColumnMappings.Add("Salary", "Salary"); 22 con.Open(); 23 sqlBulkCopy.WriteToServer(dtExcelData); 24 con.Close(); } } }
CHill60
Что не так с кодом, который вы скопировали?
Попробуйте сохранить данные excel в формате CSV без кавычек в текстовых полях и посмотреть, будет ли это загружаться.
Вы можете загрузить данные в промежуточную таблицу и использовать Расщеплять[^] функция для дальнейшей обработки его.