MVC,上传 CSV,int.Parse(),"Input string was not in a correct format."
MVC, uploading CSV, int.Parse(), "Input string was not in a correct format."
我知道之前有人问过这个问题,我已尽力找到可以帮助我解决问题的答案 - 但没有成功。我为重复的问题道歉,但我希望你仍然想帮助我。
提前致谢!
我已经制定了一个解决方案,可以将 csv 文件上传到我的 sql 数据库中。当我 运行 代码时,选择文件并按 "Upload" 我收到以下错误:"Input string was not in a correct format."
错误正在我的控制器中抛出; LearningNumbers.LearningNumberId = int.Parse(值[0]);
我的 CSV
LearningNumberId;Note;Activity;Price
1;Node1;her er node 1;22
2;Node1;her er node 2;33
我的模型:
namespace MTH_SQL.Model
{
public class LearningNumberRecord
{
[Key]
public int LearningNumberId { get; set; }
public string Note { get; set; }
public string Activity { get; set; }
public int Price { get; set; }
}
}
我的控制器:
namespace MTHoejgaard.Controllers
{
public class HomeController : Controller
{
private MTHoejgaardContext db = new MTHoejgaardContext();
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(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[] { ';' });
LearningNumberRecord LearningNumbers = new LearningNumberRecord();
LearningNumbers.LearningNumberId = int.Parse(values[0]); // <-- IT THROWS THE ERROR HERE
LearningNumbers.Note = values[1];
LearningNumbers.Activity = values[2];
LearningNumbers.Price = int.Parse(values[3]);
db.LearningNumbers.Add(LearningNumbers);
db.SaveChanges();
}
csvReader.Close();
}
}
return RedirectToAction("Index");
}
}
我的看法:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="File" id="File" />
<input type="submit" name="Submit" value="Upload" />
<span>@ViewBag.Message</span>
}
将您的 CSV 文件更改为此(删除第一行):
1;Node1;her er node 1;22
2;Node1;her er node 2;33
或者,在解析文件时跳转第一行。
我知道之前有人问过这个问题,我已尽力找到可以帮助我解决问题的答案 - 但没有成功。我为重复的问题道歉,但我希望你仍然想帮助我。
提前致谢!
我已经制定了一个解决方案,可以将 csv 文件上传到我的 sql 数据库中。当我 运行 代码时,选择文件并按 "Upload" 我收到以下错误:"Input string was not in a correct format."
错误正在我的控制器中抛出; LearningNumbers.LearningNumberId = int.Parse(值[0]);
我的 CSV
LearningNumberId;Note;Activity;Price
1;Node1;her er node 1;22
2;Node1;her er node 2;33
我的模型:
namespace MTH_SQL.Model
{
public class LearningNumberRecord
{
[Key]
public int LearningNumberId { get; set; }
public string Note { get; set; }
public string Activity { get; set; }
public int Price { get; set; }
}
}
我的控制器:
namespace MTHoejgaard.Controllers
{
public class HomeController : Controller
{
private MTHoejgaardContext db = new MTHoejgaardContext();
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(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[] { ';' });
LearningNumberRecord LearningNumbers = new LearningNumberRecord();
LearningNumbers.LearningNumberId = int.Parse(values[0]); // <-- IT THROWS THE ERROR HERE
LearningNumbers.Note = values[1];
LearningNumbers.Activity = values[2];
LearningNumbers.Price = int.Parse(values[3]);
db.LearningNumbers.Add(LearningNumbers);
db.SaveChanges();
}
csvReader.Close();
}
}
return RedirectToAction("Index");
}
}
我的看法:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="File" id="File" />
<input type="submit" name="Submit" value="Upload" />
<span>@ViewBag.Message</span>
}
将您的 CSV 文件更改为此(删除第一行):
1;Node1;her er node 1;22
2;Node1;her er node 2;33
或者,在解析文件时跳转第一行。