gpt4 book ai didi

asp.net-mvc - 在asp.net core 2中上传和读取excel文件

转载 作者:行者123 更新时间:2023-12-04 21:32:07 25 4
gpt4 key购买 nike

以前 Asp.Net MVC 有这个第三方库,可以轻松上传和读取名为 Excel Data Reader 的 Excel 文件。我们不需要将文件保存在本地磁盘上,这很好,因为我的应用程序需要在 Azure 上运行。

但是,我们现在正在将此功能移植到 asp.net core 2 中,从搜索结果来看,这似乎是不可能的。有人知道任何允许我这样做的图书馆吗?请注意,我不是在寻找从磁盘读取的解决方案。我想上传一个excel文件并直接从流中读取数据。

最佳答案

I Could Read Excel File In 'Asp .Net Core' By This Code.


使用 EPPlus.Core 导入和导出数据.
    [HttpPost]
public IActionResult ReadExcelFileAsync(IFormFile file)
{
if (file == null || file.Length == 0)
return Content("File Not Selected");

string fileExtension = Path.GetExtension(file.FileName);
if (fileExtension != ".xls" && fileExtension != ".xlsx")
return Content("File Not Selected");

var rootFolder = @"D:\Files";
var fileName = file.FileName;
var filePath = Path.Combine(rootFolder, fileName);
var fileLocation = new FileInfo(filePath);

using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(fileStream);
}

if (file.Length <= 0)
return BadRequest(GlobalValidationMessage.FileNotFound);

using (ExcelPackage package = new ExcelPackage(fileLocation))
{
ExcelWorksheet workSheet = package.Workbook.Worksheets["Table1"];
//var workSheet = package.Workbook.Worksheets.First();
int totalRows = workSheet.Dimension.Rows;

var DataList = new List<Customers>();

for (int i = 2; i <= totalRows; i++)
{
DataList.Add(new Customers
{
CustomerName = workSheet.Cells[i, 1].Value.ToString(),
CustomerEmail = workSheet.Cells[i, 2].Value.ToString(),
CustomerCountry = workSheet.Cells[i, 3].Value.ToString()
});
}

_db.Customers.AddRange(customerList);
_db.SaveChanges();
}
return Ok();
}

关于asp.net-mvc - 在asp.net core 2中上传和读取excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com