C# MVC как загрузить данные из файла .xlsx в локальную базу данных
Привет дорогие программисты C# mvc
пожалуйста, я новичок в C# mvc немного помогите загрузить данные из csv-файла в базу данных loacal. Спасибо :)
CSv file has a value in the first row I have to avoid this value to skip error get loading the data +-------+------+--------------+ | | 300 | | +-------+------+--------------+ | age | fname| lastName | +-------+------+--------------+ | 1 | Anna | Smith | +-------+------+--------------+ | 2 | Tom | Cat | +-------+------+--------------+ | 3 | Sam | Fear | +-------+------+--------------+ class Detail [Key] Id {get;set;} age{get;set;} Fname{get;set;} LastName{get;set;} context public DbSet<Detail> Detail{ get; set; }
Что я уже пробовал:
В домашнем контроллере
public ActionResult Upload() { return View(db.Details.ToList()); } [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { StreamReader csvReader = new StreamReader(file.InputStream); string inputLine = ""; while ((inputLine = csvReader.ReadLine()) != null) { string[] values = inputLine.Split(new Char[] { ',' }); Detail records = new Detail(); records.age= values[0]; records.fname= values[1]; records.lastname= values[2]; //I am getting error here 'index was out of bounds of the array' db.Details.Add(records); db.SaveChanges(); ViewBag.Success = "Data saved"; } csvReader.Close(); } return View("Upload"); }
Загрузить.cshtml по
@model IEnumerable<AppGarden.Models.Detail> @{ ViewBag.Title = "Upload"; } <h3>Upload File</h3> @using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) { <div> <label for="File">Upload File:</label> <input type="file" name="File" id="File" /><br /> <input type="submit" value="Upload File" /><br /> </div> }
Herman<T>.Instance
LINQ -> .Expand()
служба данных.GetCars().Expand(.....);