【发布时间】:2022-11-22 09:18:31
【问题描述】:
我正在尝试将 .csv 文件中的数据插入到我的数据库中,但无论何时我上传数据,记录都是空的。
到目前为止,这是我的代码:
[HttpPost]
public async Task<IActionResult> ImportFromExcel(IFormFile formFile)
{
var data = new MemoryStream();
await formFile.CopyToAsync(data);
data.Position = 0;
TextReader reader = new StreamReader(data);
var csvReader = new CsvReader(reader, new CsvConfiguration(System.Globalization.CultureInfo.CurrentCulture)
{
HasHeaderRecord = true,
HeaderValidated = null,
MissingFieldFound = null
});
var Name = csvReader.GetField(0).ToString();
var dep = "cccccccccc";
var pos = "bbbbbbbbbbb";
await dcx.Participants.AddAsync(new Participant
{
Name = Name,
Position = pos,
Department = dep,
});
dcx.SaveChanges();
return ViewComponent("ViewParticipants");
}
这是我的数据库表中的示例数据:
【问题讨论】:
-
csv 未保存在服务器上,我也不想将其保存在服务器上。我只想上传和读取数据
-
你永远不会打电话给
csvReader.Read()来阅读第一行。参见How to use CSV Helper to read line by line in c#?。 -
您还应该通过
using声明正确处理您的StreamReader和CsvReader。
标签: asp.net-core asp.net-core-mvc csvhelper